@sheinx/hooks 3.8.0-beta.6 → 3.8.0-beta.8
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/cjs/components/use-datepicker/use-date.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-date.js +12 -4
- package/cjs/components/use-datepicker/use-date.type.d.ts +2 -1
- package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts +2 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.js +21 -5
- package/cjs/components/use-datepicker/use-datepicker-range.js +2 -2
- package/cjs/components/use-datepicker/util.d.ts +7 -1
- package/cjs/components/use-datepicker/util.d.ts.map +1 -1
- package/cjs/components/use-datepicker/util.js +11 -1
- package/cjs/components/use-form/use-form.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.js +3 -2
- package/cjs/utils/shallow-equal.d.ts +1 -0
- package/cjs/utils/shallow-equal.d.ts.map +1 -1
- package/cjs/utils/shallow-equal.js +9 -0
- package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-date.js +12 -4
- package/esm/components/use-datepicker/use-date.type.d.ts +2 -1
- package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts +2 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.js +18 -5
- package/esm/components/use-datepicker/use-datepicker-range.js +2 -2
- package/esm/components/use-datepicker/util.d.ts +7 -1
- package/esm/components/use-datepicker/util.d.ts.map +1 -1
- package/esm/components/use-datepicker/util.js +11 -1
- package/esm/components/use-form/use-form.d.ts.map +1 -1
- package/esm/components/use-form/use-form.js +3 -2
- package/esm/utils/shallow-equal.d.ts +1 -0
- package/esm/utils/shallow-equal.d.ts.map +1 -1
- package/esm/utils/shallow-equal.js +8 -0
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;
|
1
|
+
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAoBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAgEH,IAAI;+BAtFC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CA+FpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -28,14 +28,16 @@ var useDate = function useDate(props) {
|
|
28
28
|
cachedDays: []
|
29
29
|
}),
|
30
30
|
context = _useRef.current;
|
31
|
-
var current = props.current === undefined ? currentState : props.current;
|
31
|
+
var current = props.current === undefined || !props.current ? currentState : props.current;
|
32
32
|
var setCurrent = function setCurrent(date) {
|
33
33
|
var _props$onCurrentChang2;
|
34
34
|
if (props.current !== undefined) {
|
35
35
|
var _props$onCurrentChang;
|
36
36
|
(_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
|
37
37
|
} else {
|
38
|
-
|
38
|
+
if (date) {
|
39
|
+
setCurrentState(date);
|
40
|
+
}
|
39
41
|
}
|
40
42
|
(_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
|
41
43
|
};
|
@@ -110,9 +112,15 @@ var useDate = function useDate(props) {
|
|
110
112
|
var _props$onChange;
|
111
113
|
if (isDisabled(date)) return;
|
112
114
|
var newDate = getDateWithTime(date);
|
113
|
-
|
115
|
+
var index = position === 'start' ? 0 : 1;
|
116
|
+
if (props.allowSingle && props.rangeDate && Array.isArray(props.rangeDate) && props.rangeDate[index] && _util.default.clearHMS(newDate, options).getTime() === _util.default.clearHMS(props.rangeDate[index], options).getTime()) {
|
117
|
+
newDate = '';
|
118
|
+
}
|
119
|
+
props === null || props === void 0 || props.onClearInputArr(index);
|
114
120
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
|
115
|
-
|
121
|
+
if (newDate) {
|
122
|
+
setCurrent(newDate);
|
123
|
+
}
|
116
124
|
};
|
117
125
|
var getTimeStr = function getTimeStr() {
|
118
126
|
var format = props.format,
|
@@ -6,7 +6,8 @@ export interface UseDateProps {
|
|
6
6
|
onCurrentChange?: (date: Date) => void;
|
7
7
|
onClearInputArr: (index?: number | undefined) => void;
|
8
8
|
value?: Date;
|
9
|
-
|
9
|
+
allowSingle?: boolean;
|
10
|
+
onChange?: (date: Date | string, noClose?: boolean) => void;
|
10
11
|
min?: Date;
|
11
12
|
max?: Date;
|
12
13
|
position?: 'start' | 'end';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
@@ -36,7 +36,8 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
|
|
36
36
|
setTargetArr: React.Dispatch<React.SetStateAction<(Date | undefined)[]>>;
|
37
37
|
handleClear: (e?: React.MouseEvent) => void;
|
38
38
|
handleClearInputArr: (index?: number) => void;
|
39
|
-
handleInputChange: (str: string, index: number) => void;
|
39
|
+
handleInputChange: (str: string, index: number, isFromBlur?: boolean) => void;
|
40
|
+
handleInputBlur: (str: string, index: number) => void;
|
40
41
|
registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, fn: (d: Date) => boolean) => void;
|
41
42
|
setCurrentArrWithParams: (arg: React.SetStateAction<Date[]>, type: string, quick: {
|
42
43
|
name: React.ReactNode;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BAuNe,gBAAgB;sCAsEJ,MAAM;iCAlCX,MAAM,SAAS,MAAM,eAAe,OAAO;+BA8B7C,MAAM,SAAS,MAAM;yCAtOnD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CA8O3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
@@ -1,14 +1,17 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
4
5
|
value: true
|
5
6
|
});
|
6
7
|
exports.getFormatValueArr = exports.getFormat = exports.default = exports.convertValueToDateArr = void 0;
|
7
8
|
var _react = require("react");
|
8
9
|
var _util = _interopRequireDefault(require("./util"));
|
9
|
-
var _shallowEqual =
|
10
|
+
var _shallowEqual = _interopRequireWildcard(require("../../utils/shallow-equal"));
|
10
11
|
var _usePersistFn = require("../../common/use-persist-fn");
|
11
12
|
var _useLatestObj = _interopRequireDefault(require("../../common/use-latest-obj"));
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
12
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
16
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
14
17
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
@@ -249,8 +252,15 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
249
252
|
}
|
250
253
|
var formatValue = getFormatValueArr(dateArr);
|
251
254
|
var v = range ? formatValue : formatValue[0];
|
252
|
-
if (
|
253
|
-
|
255
|
+
if (Array.isArray(value) && value.length && Array.isArray(v) && v.length) {
|
256
|
+
// 针对 range 的情况,['2025-01-01',''] 和 ['2025-01-01',undefined] 无法通过 shallowEqual 出来,这边需要放行
|
257
|
+
if (!(0, _shallowEqual.shallowEqualExceptFalsely)(v[0], value[0]) || !(0, _shallowEqual.shallowEqualExceptFalsely)(v[1], value[1])) {
|
258
|
+
onChange === null || onChange === void 0 || onChange(v);
|
259
|
+
}
|
260
|
+
} else {
|
261
|
+
if (!(0, _shallowEqual.default)(v, value)) {
|
262
|
+
onChange === null || onChange === void 0 || onChange(v);
|
263
|
+
}
|
254
264
|
}
|
255
265
|
};
|
256
266
|
var getDateArr = function getDateArr() {
|
@@ -323,9 +333,9 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
323
333
|
}
|
324
334
|
(_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props);
|
325
335
|
});
|
326
|
-
var handleInputChange = (0, _usePersistFn.usePersistFn)(function (str, index) {
|
336
|
+
var handleInputChange = (0, _usePersistFn.usePersistFn)(function (str, index, isFromBlur) {
|
327
337
|
// 比较 日期字符串是否符合format格式, 如果符合返回 true 否则返回 false
|
328
|
-
var isValid = _util.default.isValidString(str, format);
|
338
|
+
var isValid = _util.default.isValidString(str, format, isFromBlur);
|
329
339
|
if (!isValid) return;
|
330
340
|
var date = _util.default.toDateWithFormat(str, format, undefined, options);
|
331
341
|
setInputArr(function (prev) {
|
@@ -349,6 +359,11 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
349
359
|
return arr;
|
350
360
|
});
|
351
361
|
});
|
362
|
+
|
363
|
+
// 失焦时,需要宽松模式校验,eg: 2025-06-16 18:00 和 2025-06-16 18 都可以校验通过
|
364
|
+
var handleInputBlur = (0, _usePersistFn.usePersistFn)(function (str, index) {
|
365
|
+
handleInputChange(str, index, true);
|
366
|
+
});
|
352
367
|
var handleClearInputArr = (0, _usePersistFn.usePersistFn)(function (index) {
|
353
368
|
if (index !== undefined) {
|
354
369
|
setInputArr(function (prev) {
|
@@ -392,6 +407,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
392
407
|
handleClear: handleClear,
|
393
408
|
handleClearInputArr: handleClearInputArr,
|
394
409
|
handleInputChange: handleInputChange,
|
410
|
+
handleInputBlur: handleInputBlur,
|
395
411
|
registerModeDisabled: registerModeDisabled,
|
396
412
|
setCurrentArrWithParams: setCurrentArrWithParams,
|
397
413
|
isDisabledDate: isDisabledDate
|
@@ -37,7 +37,7 @@ var useRangePick = function useRangePick(props) {
|
|
37
37
|
setDateArr(function (arr) {
|
38
38
|
var newArr = _toConsumableArray(arr);
|
39
39
|
newArr[index] = date;
|
40
|
-
if (range && index === 0 && newArr[1]) {
|
40
|
+
if (date && range && index === 0 && newArr[1]) {
|
41
41
|
if (typeof range === 'number') {
|
42
42
|
var rangeMax = _util.default.addSeconds(date, range, options);
|
43
43
|
if (rangeMax.getTime() < newArr[1].getTime()) {
|
@@ -66,7 +66,7 @@ var useRangePick = function useRangePick(props) {
|
|
66
66
|
var newArr = _toConsumableArray(arr);
|
67
67
|
newArr[index] = date;
|
68
68
|
var modeCache = context.modeCache;
|
69
|
-
if (modeCache[0] === modeCache[1]) {
|
69
|
+
if (date && modeCache[0] === modeCache[1]) {
|
70
70
|
var mode = modeCache[0];
|
71
71
|
if (range && index === 0 && newArr[1]) {
|
72
72
|
if (mode === 'year') {
|
@@ -20,7 +20,13 @@ declare function isSameWeek(date1: Date, date2: Date, options: DateOptions): boo
|
|
20
20
|
declare function isSameQuarter(date1: Date, date2: Date, options: DateOptions): boolean;
|
21
21
|
declare function isSameYear(date1: Date, date2: Date, options: DateOptions): boolean;
|
22
22
|
declare function isValid(date: DateTimeType): boolean;
|
23
|
-
|
23
|
+
/**
|
24
|
+
* @param date 日期字符串
|
25
|
+
* @param fmt 日期格式
|
26
|
+
* @param isLoose 是否为宽松模式
|
27
|
+
* @returns 是否为有效日期
|
28
|
+
*/
|
29
|
+
declare function isValidString(date: string, fmt: string, isLoose?: boolean): boolean;
|
24
30
|
declare function parse(d: string, fmt?: string, options?: DateOptions): Date;
|
25
31
|
declare function toDate(day: DateTimeType, options?: DateOptions): Date;
|
26
32
|
declare function getDaysOfMonth(dirtyDate: DateTimeType, options: DateOptions): Date[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAC9D,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,OAAO,GACP,SAAS,GACT,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAKjD,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqBD,eAAO,MAAM,aAAa,SAAU,MAAM,uBAmBzC,CAAC;AAOF,iBAAS,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,GAAE,WAAgB,EAAE,IAAI,UAAQ,QAa3E;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKhE;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKlE;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKnE;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKjE;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKhF;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAG7E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,UAO3D;AAcD,iBAAS,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,WAAgB,WAEvE;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAIhE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGjE;AACD,iBAAS,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGpE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGjE;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,YAAY,WAIlC;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"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"}
|
@@ -162,8 +162,18 @@ function isValid(date) {
|
|
162
162
|
if (!(date instanceof Date)) return false;
|
163
163
|
return (0, _dayjs.default)(date).isValid();
|
164
164
|
}
|
165
|
-
|
165
|
+
|
166
|
+
/**
|
167
|
+
* @param date 日期字符串
|
168
|
+
* @param fmt 日期格式
|
169
|
+
* @param isLoose 是否为宽松模式
|
170
|
+
* @returns 是否为有效日期
|
171
|
+
*/
|
172
|
+
function isValidString(date, fmt, isLoose) {
|
166
173
|
if (!date) return false;
|
174
|
+
if (isLoose) {
|
175
|
+
return (0, _dayjs.default)(date).isValid();
|
176
|
+
}
|
167
177
|
return (0, _dayjs.default)(date, fmt, true).isValid();
|
168
178
|
}
|
169
179
|
function parse(d, fmt, options) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAiCA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAoSC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArPnB,MAAM;oCAgUD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA3RxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA8VvB,MAAM,WAAW,gBAAgB;gCAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAjJpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArPnB,MAAM;gCAgUD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA3RxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA8VvB,MAAM,WAAW,gBAAgB;4BAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAjJpD,MAAM,0BAAyB,qBAAqB;;CAqb9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -26,6 +26,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
26
26
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
27
27
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
28
28
|
var globalKey = '__global__&&@@';
|
29
|
+
var SUBMIT_TIMEOUT = 10;
|
29
30
|
var emptyObj = {};
|
30
31
|
var useForm = function useForm(props) {
|
31
32
|
var _props$defaultValue = props.defaultValue,
|
@@ -229,7 +230,7 @@ var useForm = function useForm(props) {
|
|
229
230
|
_utils.docScroll.top -= scrollToError;
|
230
231
|
}
|
231
232
|
}
|
232
|
-
});
|
233
|
+
}, SUBMIT_TIMEOUT + 10);
|
233
234
|
};
|
234
235
|
var onChange = (0, _usePersistFn.default)(function (change) {
|
235
236
|
var _props$onChange;
|
@@ -430,7 +431,7 @@ var useForm = function useForm(props) {
|
|
430
431
|
var _other$onSubmit;
|
431
432
|
submit();
|
432
433
|
other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
|
433
|
-
},
|
434
|
+
}, SUBMIT_TIMEOUT);
|
434
435
|
};
|
435
436
|
};
|
436
437
|
var validateFieldset = function validateFieldset(name, config) {
|
@@ -4,5 +4,6 @@ interface Column {
|
|
4
4
|
}
|
5
5
|
export declare function compareColumns(columns1?: Column[], columns2?: Column[]): boolean;
|
6
6
|
export declare function shallowEqual(objA: any, objB?: any, options?: {}): boolean;
|
7
|
+
export declare function shallowEqualExceptFalsely(objA: any, objB?: any, options?: {}): boolean;
|
7
8
|
export default shallowEqual;
|
8
9
|
//# sourceMappingURL=shallow-equal.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shallow-equal.d.ts","sourceRoot":"","sources":["shallow-equal.ts"],"names":[],"mappings":"AAqBA,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WActE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAyC/D;AAED,eAAe,YAAY,CAAC"}
|
1
|
+
{"version":3,"file":"shallow-equal.d.ts","sourceRoot":"","sources":["shallow-equal.ts"],"names":[],"mappings":"AAqBA,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WActE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAyC/D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAO5E;AAED,eAAe,YAAY,CAAC"}
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.compareColumns = compareColumns;
|
7
7
|
exports.default = void 0;
|
8
8
|
exports.shallowEqual = shallowEqual;
|
9
|
+
exports.shallowEqualExceptFalsely = shallowEqualExceptFalsely;
|
9
10
|
var _reactFastCompare = _interopRequireDefault(require("react-fast-compare"));
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
12
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
@@ -74,4 +75,12 @@ function shallowEqual(objA, objB) {
|
|
74
75
|
}
|
75
76
|
return true;
|
76
77
|
}
|
78
|
+
function shallowEqualExceptFalsely(objA, objB) {
|
79
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
80
|
+
var falselys = [false, 0, '', null, undefined, NaN];
|
81
|
+
if (falselys.includes(objA) && falselys.includes(objB)) {
|
82
|
+
return true;
|
83
|
+
}
|
84
|
+
return shallowEqual(objA, objB, options);
|
85
|
+
}
|
77
86
|
var _default = exports.default = shallowEqual;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;
|
1
|
+
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAoBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAgEH,IAAI;+BAtFC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CA+FpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -22,14 +22,16 @@ var useDate = function useDate(props) {
|
|
22
22
|
cachedDays: []
|
23
23
|
}),
|
24
24
|
context = _useRef.current;
|
25
|
-
var current = props.current === undefined ? currentState : props.current;
|
25
|
+
var current = props.current === undefined || !props.current ? currentState : props.current;
|
26
26
|
var setCurrent = function setCurrent(date) {
|
27
27
|
var _props$onCurrentChang2;
|
28
28
|
if (props.current !== undefined) {
|
29
29
|
var _props$onCurrentChang;
|
30
30
|
(_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
|
31
31
|
} else {
|
32
|
-
|
32
|
+
if (date) {
|
33
|
+
setCurrentState(date);
|
34
|
+
}
|
33
35
|
}
|
34
36
|
(_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
|
35
37
|
};
|
@@ -104,9 +106,15 @@ var useDate = function useDate(props) {
|
|
104
106
|
var _props$onChange;
|
105
107
|
if (isDisabled(date)) return;
|
106
108
|
var newDate = getDateWithTime(date);
|
107
|
-
|
109
|
+
var index = position === 'start' ? 0 : 1;
|
110
|
+
if (props.allowSingle && props.rangeDate && Array.isArray(props.rangeDate) && props.rangeDate[index] && utils.clearHMS(newDate, options).getTime() === utils.clearHMS(props.rangeDate[index], options).getTime()) {
|
111
|
+
newDate = '';
|
112
|
+
}
|
113
|
+
props === null || props === void 0 || props.onClearInputArr(index);
|
108
114
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
|
109
|
-
|
115
|
+
if (newDate) {
|
116
|
+
setCurrent(newDate);
|
117
|
+
}
|
110
118
|
};
|
111
119
|
var getTimeStr = function getTimeStr() {
|
112
120
|
var format = props.format,
|
@@ -6,7 +6,8 @@ export interface UseDateProps {
|
|
6
6
|
onCurrentChange?: (date: Date) => void;
|
7
7
|
onClearInputArr: (index?: number | undefined) => void;
|
8
8
|
value?: Date;
|
9
|
-
|
9
|
+
allowSingle?: boolean;
|
10
|
+
onChange?: (date: Date | string, noClose?: boolean) => void;
|
10
11
|
min?: Date;
|
11
12
|
max?: Date;
|
12
13
|
position?: 'start' | 'end';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
@@ -36,7 +36,8 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
|
|
36
36
|
setTargetArr: React.Dispatch<React.SetStateAction<(Date | undefined)[]>>;
|
37
37
|
handleClear: (e?: React.MouseEvent) => void;
|
38
38
|
handleClearInputArr: (index?: number) => void;
|
39
|
-
handleInputChange: (str: string, index: number) => void;
|
39
|
+
handleInputChange: (str: string, index: number, isFromBlur?: boolean) => void;
|
40
|
+
handleInputBlur: (str: string, index: number) => void;
|
40
41
|
registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, fn: (d: Date) => boolean) => void;
|
41
42
|
setCurrentArrWithParams: (arg: React.SetStateAction<Date[]>, type: string, quick: {
|
42
43
|
name: React.ReactNode;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BAuNe,gBAAgB;sCAsEJ,MAAM;iCAlCX,MAAM,SAAS,MAAM,eAAe,OAAO;+BA8B7C,MAAM,SAAS,MAAM;yCAtOnD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CA8O3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
@@ -10,7 +10,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
11
11
|
import { useEffect, useRef, useState } from 'react';
|
12
12
|
import dateUtil from "./util";
|
13
|
-
import shallowEqual from "../../utils/shallow-equal";
|
13
|
+
import shallowEqual, { shallowEqualExceptFalsely } from "../../utils/shallow-equal";
|
14
14
|
import { usePersistFn } from "../../common/use-persist-fn";
|
15
15
|
import useLatestObj from "../../common/use-latest-obj";
|
16
16
|
export var convertValueToDateArr = function convertValueToDateArr(value, format, options) {
|
@@ -242,8 +242,15 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
242
242
|
}
|
243
243
|
var formatValue = getFormatValueArr(dateArr);
|
244
244
|
var v = range ? formatValue : formatValue[0];
|
245
|
-
if (
|
246
|
-
|
245
|
+
if (Array.isArray(value) && value.length && Array.isArray(v) && v.length) {
|
246
|
+
// 针对 range 的情况,['2025-01-01',''] 和 ['2025-01-01',undefined] 无法通过 shallowEqual 出来,这边需要放行
|
247
|
+
if (!shallowEqualExceptFalsely(v[0], value[0]) || !shallowEqualExceptFalsely(v[1], value[1])) {
|
248
|
+
onChange === null || onChange === void 0 || onChange(v);
|
249
|
+
}
|
250
|
+
} else {
|
251
|
+
if (!shallowEqual(v, value)) {
|
252
|
+
onChange === null || onChange === void 0 || onChange(v);
|
253
|
+
}
|
247
254
|
}
|
248
255
|
};
|
249
256
|
var getDateArr = function getDateArr() {
|
@@ -316,9 +323,9 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
316
323
|
}
|
317
324
|
(_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props);
|
318
325
|
});
|
319
|
-
var handleInputChange = usePersistFn(function (str, index) {
|
326
|
+
var handleInputChange = usePersistFn(function (str, index, isFromBlur) {
|
320
327
|
// 比较 日期字符串是否符合format格式, 如果符合返回 true 否则返回 false
|
321
|
-
var isValid = dateUtil.isValidString(str, format);
|
328
|
+
var isValid = dateUtil.isValidString(str, format, isFromBlur);
|
322
329
|
if (!isValid) return;
|
323
330
|
var date = dateUtil.toDateWithFormat(str, format, undefined, options);
|
324
331
|
setInputArr(function (prev) {
|
@@ -342,6 +349,11 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
342
349
|
return arr;
|
343
350
|
});
|
344
351
|
});
|
352
|
+
|
353
|
+
// 失焦时,需要宽松模式校验,eg: 2025-06-16 18:00 和 2025-06-16 18 都可以校验通过
|
354
|
+
var handleInputBlur = usePersistFn(function (str, index) {
|
355
|
+
handleInputChange(str, index, true);
|
356
|
+
});
|
345
357
|
var handleClearInputArr = usePersistFn(function (index) {
|
346
358
|
if (index !== undefined) {
|
347
359
|
setInputArr(function (prev) {
|
@@ -385,6 +397,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
385
397
|
handleClear: handleClear,
|
386
398
|
handleClearInputArr: handleClearInputArr,
|
387
399
|
handleInputChange: handleInputChange,
|
400
|
+
handleInputBlur: handleInputBlur,
|
388
401
|
registerModeDisabled: registerModeDisabled,
|
389
402
|
setCurrentArrWithParams: setCurrentArrWithParams,
|
390
403
|
isDisabledDate: isDisabledDate
|
@@ -30,7 +30,7 @@ var useRangePick = function useRangePick(props) {
|
|
30
30
|
setDateArr(function (arr) {
|
31
31
|
var newArr = _toConsumableArray(arr);
|
32
32
|
newArr[index] = date;
|
33
|
-
if (range && index === 0 && newArr[1]) {
|
33
|
+
if (date && range && index === 0 && newArr[1]) {
|
34
34
|
if (typeof range === 'number') {
|
35
35
|
var rangeMax = utils.addSeconds(date, range, options);
|
36
36
|
if (rangeMax.getTime() < newArr[1].getTime()) {
|
@@ -59,7 +59,7 @@ var useRangePick = function useRangePick(props) {
|
|
59
59
|
var newArr = _toConsumableArray(arr);
|
60
60
|
newArr[index] = date;
|
61
61
|
var modeCache = context.modeCache;
|
62
|
-
if (modeCache[0] === modeCache[1]) {
|
62
|
+
if (date && modeCache[0] === modeCache[1]) {
|
63
63
|
var mode = modeCache[0];
|
64
64
|
if (range && index === 0 && newArr[1]) {
|
65
65
|
if (mode === 'year') {
|
@@ -20,7 +20,13 @@ declare function isSameWeek(date1: Date, date2: Date, options: DateOptions): boo
|
|
20
20
|
declare function isSameQuarter(date1: Date, date2: Date, options: DateOptions): boolean;
|
21
21
|
declare function isSameYear(date1: Date, date2: Date, options: DateOptions): boolean;
|
22
22
|
declare function isValid(date: DateTimeType): boolean;
|
23
|
-
|
23
|
+
/**
|
24
|
+
* @param date 日期字符串
|
25
|
+
* @param fmt 日期格式
|
26
|
+
* @param isLoose 是否为宽松模式
|
27
|
+
* @returns 是否为有效日期
|
28
|
+
*/
|
29
|
+
declare function isValidString(date: string, fmt: string, isLoose?: boolean): boolean;
|
24
30
|
declare function parse(d: string, fmt?: string, options?: DateOptions): Date;
|
25
31
|
declare function toDate(day: DateTimeType, options?: DateOptions): Date;
|
26
32
|
declare function getDaysOfMonth(dirtyDate: DateTimeType, options: DateOptions): Date[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAC9D,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,OAAO,GACP,SAAS,GACT,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAKjD,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqBD,eAAO,MAAM,aAAa,SAAU,MAAM,uBAmBzC,CAAC;AAOF,iBAAS,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,GAAE,WAAgB,EAAE,IAAI,UAAQ,QAa3E;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKhE;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKlE;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKnE;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKjE;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKhF;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAG7E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,UAO3D;AAcD,iBAAS,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,WAAgB,WAEvE;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAIhE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGjE;AACD,iBAAS,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGpE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGjE;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,YAAY,WAIlC;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"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"}
|
@@ -155,8 +155,18 @@ function isValid(date) {
|
|
155
155
|
if (!(date instanceof Date)) return false;
|
156
156
|
return dayjs(date).isValid();
|
157
157
|
}
|
158
|
-
|
158
|
+
|
159
|
+
/**
|
160
|
+
* @param date 日期字符串
|
161
|
+
* @param fmt 日期格式
|
162
|
+
* @param isLoose 是否为宽松模式
|
163
|
+
* @returns 是否为有效日期
|
164
|
+
*/
|
165
|
+
function isValidString(date, fmt, isLoose) {
|
159
166
|
if (!date) return false;
|
167
|
+
if (isLoose) {
|
168
|
+
return dayjs(date).isValid();
|
169
|
+
}
|
160
170
|
return dayjs(date, fmt, true).isValid();
|
161
171
|
}
|
162
172
|
function parse(d, fmt, options) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAiCA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAoSC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArPnB,MAAM;oCAgUD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA3RxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA8VvB,MAAM,WAAW,gBAAgB;gCAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAjJpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArPnB,MAAM;gCAgUD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA3RxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA8VvB,MAAM,WAAW,gBAAgB;4BAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAjJpD,MAAM,0BAAyB,qBAAqB;;CAqb9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -15,6 +15,7 @@ import { getDataAttributeName } from "../../utils/attribute";
|
|
15
15
|
import { insertValue, spliceValue } from "../../utils/flat";
|
16
16
|
import { usePrevious } from "../../common/use-default-value";
|
17
17
|
var globalKey = '__global__&&@@';
|
18
|
+
var SUBMIT_TIMEOUT = 10;
|
18
19
|
import { current, produce } from "../../utils/immer";
|
19
20
|
import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths, getCompleteFieldKeys, devUseWarning, getFieldId, getClosestScrollContainer } from "../../utils";
|
20
21
|
var emptyObj = {};
|
@@ -220,7 +221,7 @@ var useForm = function useForm(props) {
|
|
220
221
|
docScroll.top -= scrollToError;
|
221
222
|
}
|
222
223
|
}
|
223
|
-
});
|
224
|
+
}, SUBMIT_TIMEOUT + 10);
|
224
225
|
};
|
225
226
|
var onChange = usePersistFn(function (change) {
|
226
227
|
var _props$onChange;
|
@@ -421,7 +422,7 @@ var useForm = function useForm(props) {
|
|
421
422
|
var _other$onSubmit;
|
422
423
|
submit();
|
423
424
|
other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
|
424
|
-
},
|
425
|
+
}, SUBMIT_TIMEOUT);
|
425
426
|
};
|
426
427
|
};
|
427
428
|
var validateFieldset = function validateFieldset(name, config) {
|
@@ -4,5 +4,6 @@ interface Column {
|
|
4
4
|
}
|
5
5
|
export declare function compareColumns(columns1?: Column[], columns2?: Column[]): boolean;
|
6
6
|
export declare function shallowEqual(objA: any, objB?: any, options?: {}): boolean;
|
7
|
+
export declare function shallowEqualExceptFalsely(objA: any, objB?: any, options?: {}): boolean;
|
7
8
|
export default shallowEqual;
|
8
9
|
//# sourceMappingURL=shallow-equal.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shallow-equal.d.ts","sourceRoot":"","sources":["shallow-equal.ts"],"names":[],"mappings":"AAqBA,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WActE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAyC/D;AAED,eAAe,YAAY,CAAC"}
|
1
|
+
{"version":3,"file":"shallow-equal.d.ts","sourceRoot":"","sources":["shallow-equal.ts"],"names":[],"mappings":"AAqBA,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WActE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAyC/D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAO5E;AAED,eAAe,YAAY,CAAC"}
|
@@ -65,4 +65,12 @@ export function shallowEqual(objA, objB) {
|
|
65
65
|
}
|
66
66
|
return true;
|
67
67
|
}
|
68
|
+
export function shallowEqualExceptFalsely(objA, objB) {
|
69
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
70
|
+
var falselys = [false, 0, '', null, undefined, NaN];
|
71
|
+
if (falselys.includes(objA) && falselys.includes(objB)) {
|
72
|
+
return true;
|
73
|
+
}
|
74
|
+
return shallowEqual(objA, objB, options);
|
75
|
+
}
|
68
76
|
export default shallowEqual;
|