@pisell/date-picker 1.0.30 → 1.0.31
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.
|
@@ -1,25 +1,45 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { Dayjs } from "dayjs";
|
|
2
|
+
import React from "react";
|
|
3
3
|
import { PresetType } from "../Shortcuts";
|
|
4
4
|
import "./index.less";
|
|
5
5
|
export interface PisellDateRangePickerProps {
|
|
6
|
+
/** 再次选择日期时是否清除结束时间 */
|
|
7
|
+
clearEndOnSelection?: boolean;
|
|
8
|
+
/** 日期选择确认回调 */
|
|
6
9
|
onChange?: (day: Dayjs[]) => void;
|
|
10
|
+
/** 日期选择值 */
|
|
7
11
|
value?: Dayjs[];
|
|
12
|
+
/** 日期选择默认值 */
|
|
8
13
|
defaultValue?: Dayjs[];
|
|
14
|
+
/** 快捷选择项 */
|
|
9
15
|
presets?: PresetType[];
|
|
16
|
+
/** 类名 */
|
|
10
17
|
className?: string;
|
|
18
|
+
/** 是否显示时间选择 这里参数为antd TimePickerProps */
|
|
11
19
|
showTime?: boolean | {
|
|
12
20
|
defaultValue: Dayjs;
|
|
13
21
|
[key: string]: any;
|
|
14
22
|
}[];
|
|
23
|
+
/** 占位符 */
|
|
15
24
|
placeholder?: string;
|
|
25
|
+
/** 是否禁用日期 */
|
|
16
26
|
disabledDate?: (day: Dayjs, position: "start" | "end", value: Dayjs[]) => boolean;
|
|
27
|
+
/** 日期格式 */
|
|
17
28
|
format?: string;
|
|
29
|
+
/** 后缀图标 */
|
|
18
30
|
suffixIcon?: React.ReactNode;
|
|
31
|
+
/** 是否显示边框 */
|
|
19
32
|
bordered?: boolean;
|
|
33
|
+
/** 是否打开日期选择 */
|
|
20
34
|
open?: boolean;
|
|
35
|
+
/** 关闭回调 */
|
|
21
36
|
onClose?: () => void;
|
|
37
|
+
/** 弹窗宽度 */
|
|
22
38
|
popupWidth?: number;
|
|
39
|
+
/** 最小日期 */
|
|
40
|
+
minDate?: Dayjs;
|
|
41
|
+
/** 最大日期 */
|
|
42
|
+
maxDate?: Dayjs;
|
|
23
43
|
}
|
|
24
44
|
declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => JSX.Element;
|
|
25
45
|
export default PisellDateRangePicker;
|
|
@@ -4,7 +4,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
4
4
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
5
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
-
import { useState, useEffect, useMemo } from "react";
|
|
7
|
+
import React, { useState, useEffect, useMemo } from "react";
|
|
8
8
|
import { DateRangePicker } from "../DateRangePicker";
|
|
9
9
|
import ActionBar from "../ActionBar";
|
|
10
10
|
import Shortcuts from "../Shortcuts";
|
|
@@ -42,7 +42,10 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
|
|
|
42
42
|
propsOpen = props.open,
|
|
43
43
|
onClose = props.onClose,
|
|
44
44
|
_props$popupWidth = props.popupWidth,
|
|
45
|
-
popupWidth = _props$popupWidth === void 0 ? 625 : _props$popupWidth
|
|
45
|
+
popupWidth = _props$popupWidth === void 0 ? 625 : _props$popupWidth,
|
|
46
|
+
clearEndOnSelection = props.clearEndOnSelection,
|
|
47
|
+
minDate = props.minDate,
|
|
48
|
+
maxDate = props.maxDate;
|
|
46
49
|
var _useState = useState(propsOpen !== null && propsOpen !== void 0 ? propsOpen : false),
|
|
47
50
|
_useState2 = _slicedToArray(_useState, 2),
|
|
48
51
|
open = _useState2[0],
|
|
@@ -98,6 +101,9 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
|
|
|
98
101
|
return item || null;
|
|
99
102
|
});
|
|
100
103
|
}
|
|
104
|
+
if (clearEndOnSelection && _value.filter(Boolean).length === 2) {
|
|
105
|
+
newVal = [newVal[0], null];
|
|
106
|
+
}
|
|
101
107
|
setValue(newVal);
|
|
102
108
|
};
|
|
103
109
|
var hasPreset = (_presets === null || _presets === void 0 ? void 0 : _presets.length) > 0;
|
|
@@ -115,6 +121,8 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
|
|
|
115
121
|
// defaultValue={defaultValue}
|
|
116
122
|
// key={`${_value?.[0]?.valueOf()}-${_value?.[1]?.valueOf()}`}
|
|
117
123
|
, {
|
|
124
|
+
minDate: minDate,
|
|
125
|
+
maxDate: maxDate,
|
|
118
126
|
format: format,
|
|
119
127
|
label: placeholder,
|
|
120
128
|
value: _value,
|
|
@@ -1,25 +1,45 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { Dayjs } from "dayjs";
|
|
2
|
+
import React from "react";
|
|
3
3
|
import { PresetType } from "../Shortcuts";
|
|
4
4
|
import "./index.less";
|
|
5
5
|
export interface PisellDateRangePickerProps {
|
|
6
|
+
/** 再次选择日期时是否清除结束时间 */
|
|
7
|
+
clearEndOnSelection?: boolean;
|
|
8
|
+
/** 日期选择确认回调 */
|
|
6
9
|
onChange?: (day: Dayjs[]) => void;
|
|
10
|
+
/** 日期选择值 */
|
|
7
11
|
value?: Dayjs[];
|
|
12
|
+
/** 日期选择默认值 */
|
|
8
13
|
defaultValue?: Dayjs[];
|
|
14
|
+
/** 快捷选择项 */
|
|
9
15
|
presets?: PresetType[];
|
|
16
|
+
/** 类名 */
|
|
10
17
|
className?: string;
|
|
18
|
+
/** 是否显示时间选择 这里参数为antd TimePickerProps */
|
|
11
19
|
showTime?: boolean | {
|
|
12
20
|
defaultValue: Dayjs;
|
|
13
21
|
[key: string]: any;
|
|
14
22
|
}[];
|
|
23
|
+
/** 占位符 */
|
|
15
24
|
placeholder?: string;
|
|
25
|
+
/** 是否禁用日期 */
|
|
16
26
|
disabledDate?: (day: Dayjs, position: "start" | "end", value: Dayjs[]) => boolean;
|
|
27
|
+
/** 日期格式 */
|
|
17
28
|
format?: string;
|
|
29
|
+
/** 后缀图标 */
|
|
18
30
|
suffixIcon?: React.ReactNode;
|
|
31
|
+
/** 是否显示边框 */
|
|
19
32
|
bordered?: boolean;
|
|
33
|
+
/** 是否打开日期选择 */
|
|
20
34
|
open?: boolean;
|
|
35
|
+
/** 关闭回调 */
|
|
21
36
|
onClose?: () => void;
|
|
37
|
+
/** 弹窗宽度 */
|
|
22
38
|
popupWidth?: number;
|
|
39
|
+
/** 最小日期 */
|
|
40
|
+
minDate?: Dayjs;
|
|
41
|
+
/** 最大日期 */
|
|
42
|
+
maxDate?: Dayjs;
|
|
23
43
|
}
|
|
24
44
|
declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => JSX.Element;
|
|
25
45
|
export default PisellDateRangePicker;
|
|
@@ -32,7 +32,7 @@ __export(PisellDateRangePicker_exports, {
|
|
|
32
32
|
default: () => PisellDateRangePicker_default
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(PisellDateRangePicker_exports);
|
|
35
|
-
var import_react = require("react");
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
36
|
var import_DateRangePicker = require("../DateRangePicker");
|
|
37
37
|
var import_ActionBar = __toESM(require("../ActionBar"));
|
|
38
38
|
var import_Shortcuts = __toESM(require("../Shortcuts"));
|
|
@@ -65,7 +65,10 @@ var PisellDateRangePicker = (props) => {
|
|
|
65
65
|
bordered = true,
|
|
66
66
|
open: propsOpen,
|
|
67
67
|
onClose,
|
|
68
|
-
popupWidth = 625
|
|
68
|
+
popupWidth = 625,
|
|
69
|
+
clearEndOnSelection,
|
|
70
|
+
minDate,
|
|
71
|
+
maxDate
|
|
69
72
|
} = props;
|
|
70
73
|
const [open, setOpen] = (0, import_react.useState)(propsOpen ?? false);
|
|
71
74
|
(0, import_react.useEffect)(() => {
|
|
@@ -115,6 +118,9 @@ var PisellDateRangePicker = (props) => {
|
|
|
115
118
|
return item || null;
|
|
116
119
|
});
|
|
117
120
|
}
|
|
121
|
+
if (clearEndOnSelection && _value.filter(Boolean).length === 2) {
|
|
122
|
+
newVal = [newVal[0], null];
|
|
123
|
+
}
|
|
118
124
|
setValue(newVal);
|
|
119
125
|
};
|
|
120
126
|
const hasPreset = (_presets == null ? void 0 : _presets.length) > 0;
|
|
@@ -124,16 +130,18 @@ var PisellDateRangePicker = (props) => {
|
|
|
124
130
|
},
|
|
125
131
|
dom: document.body
|
|
126
132
|
});
|
|
127
|
-
return /* @__PURE__ */
|
|
133
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
128
134
|
"span",
|
|
129
135
|
{
|
|
130
136
|
className: (0, import_classnames.default)(className, "pisell-date-range-picker", {
|
|
131
137
|
"pisell-date-range-picker-no-border": !bordered
|
|
132
138
|
})
|
|
133
139
|
},
|
|
134
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
135
141
|
import_DateRangePicker.DateRangePicker,
|
|
136
142
|
{
|
|
143
|
+
minDate,
|
|
144
|
+
maxDate,
|
|
137
145
|
format,
|
|
138
146
|
label: placeholder,
|
|
139
147
|
value: _value,
|