@pisell/date-picker 1.0.74 → 1.0.75-2

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.
@@ -44,6 +44,16 @@ var ActionBar = function ActionBar(props) {
44
44
  newValue[0] = (start === null || start === void 0 ? void 0 : (_start$set = start.set("hour", (val === null || val === void 0 ? void 0 : val.get("hour")) || 0)) === null || _start$set === void 0 ? void 0 : (_start$set$set = _start$set.set("minute", (val === null || val === void 0 ? void 0 : val.get("minute")) || 0)) === null || _start$set$set === void 0 ? void 0 : _start$set$set.set("second", (val === null || val === void 0 ? void 0 : val.get("second")) || 0)) || null;
45
45
  onChange(newValue, "time");
46
46
  };
47
+ var handleStartOnBlur = function handleStartOnBlur(e) {
48
+ var format = (startTimeProps === null || startTimeProps === void 0 ? void 0 : startTimeProps.format) || "HH:mm:ss";
49
+ var val = dayjs(e.target.value, format);
50
+ handleStartChange(val);
51
+ };
52
+ var handleEndOnBlur = function handleEndOnBlur(e) {
53
+ var format = (endTimeProps === null || endTimeProps === void 0 ? void 0 : endTimeProps.format) || "HH:mm:ss";
54
+ var val = dayjs(e.target.value, format);
55
+ handleEndChange(val);
56
+ };
47
57
  var handleEndChange = function handleEndChange(val) {
48
58
  var _end$set, _end$set$set;
49
59
  var newValue = _toConsumableArray(value);
@@ -90,6 +100,8 @@ var ActionBar = function ActionBar(props) {
90
100
  value: value[0],
91
101
  popupClassName: "date-picker-action-bar-time-picker-popup",
92
102
  onChange: handleStartChange,
103
+ onSelect: handleStartChange,
104
+ // onBlur: handleStartOnBlur,
93
105
  inputReadOnly: true
94
106
  })), /*#__PURE__*/React.createElement(TimePicker, _extends({
95
107
  placeholder: getText("action-bar-end.time", pLocaleMap[locale])
@@ -97,6 +109,8 @@ var ActionBar = function ActionBar(props) {
97
109
  value: value[1],
98
110
  popupClassName: "date-picker-action-bar-time-picker-popup",
99
111
  onChange: handleEndChange,
112
+ onSelect: handleEndChange,
113
+ // onBlur: handleEndOnBlur,
100
114
  inputReadOnly: true
101
115
  }))) : /*#__PURE__*/React.createElement("div", null)), /*#__PURE__*/React.createElement(Space, {
102
116
  style: _objectSpread(_objectSpread({}, spaceStyle), {}, {
@@ -0,0 +1,2 @@
1
+ export declare const LocaleContext: any;
2
+ export declare const LocaleProvider: any;
@@ -0,0 +1,81 @@
1
+ import { Dayjs } from "dayjs";
2
+ import React from "react";
3
+ import { ButtonProps } from "antd";
4
+ import { PopperPlacementType } from "@mui/base/Popper/Popper.types";
5
+ import { PresetType } from "../Shortcuts";
6
+ import "dayjs/locale/zh-cn";
7
+ import "dayjs/locale/en";
8
+ import "dayjs/locale/zh-tw";
9
+ import "./index.less";
10
+ export interface PisellDateRangePickerProps {
11
+ /** 再次选择日期时是否清除结束时间 */
12
+ clearEndOnSelection?: boolean;
13
+ /** 日期选择确认回调 */
14
+ onChange?: (day: (Dayjs | null)[]) => void;
15
+ /** 日期改变回调 此处只为了组件外拿到当前日期项进行状态操作 通常情况下只使用onChange来拿value */
16
+ onDateChange?: (day: (Dayjs | null)[]) => void;
17
+ /** 日期选择值 */
18
+ value?: Dayjs[];
19
+ /** 日期选择默认值 */
20
+ defaultValue?: Dayjs[];
21
+ /** 快捷选择项 */
22
+ presets?: PresetType[];
23
+ /** 类名 */
24
+ className?: string;
25
+ /** 是否显示时间选择 这里参数为antd TimePickerProps */
26
+ showTime?: boolean | {
27
+ defaultValue: Dayjs;
28
+ [key: string]: any;
29
+ }[];
30
+ /** 占位符 */
31
+ placeholder?: string;
32
+ /** 是否禁用日期 */
33
+ disabledDate?: (day: Dayjs, position: "start" | "end", value: Dayjs[]) => boolean;
34
+ /** 日期格式 */
35
+ format?: string;
36
+ /** 后缀图标 */
37
+ suffixIcon?: React.ReactNode;
38
+ /** 是否显示边框 */
39
+ bordered?: boolean;
40
+ /** 是否打开日期选择 */
41
+ open?: boolean;
42
+ /** 关闭回调 */
43
+ onClose?: () => void;
44
+ /** 打开回调 */
45
+ onOpen?: () => void;
46
+ /** 弹窗宽度 */
47
+ popupWidth?: number;
48
+ /** 最小日期 */
49
+ minDate?: Dayjs;
50
+ /** 最大日期 */
51
+ maxDate?: Dayjs;
52
+ /** 月份切换事件 */
53
+ onMonthChange?: (value: Dayjs) => void;
54
+ /** 额外的弹出日历 className */
55
+ popupClassName?: string;
56
+ /** 默认显示月份 */
57
+ defaultCalendarMonth?: Dayjs;
58
+ /** ok 按钮 props */
59
+ okButtonProps?: ButtonProps;
60
+ /** cancel 按钮 props */
61
+ cancelButtonProps?: ButtonProps;
62
+ /**
63
+ * CSS media query when `Mobile` mode will be changed to `Desktop`.
64
+ * @default '@media (pointer: fine)'
65
+ * @example '@media (min-width: 720px)' or theme.breakpoints.up("sm")
66
+ */
67
+ desktopModeMediaQuery?: string;
68
+ style?: React.CSSProperties;
69
+ /** 是否展示清除按钮 */
70
+ allowClear?: boolean;
71
+ /** true 将弹窗当前DOM层次结构下 false 追加到body */
72
+ disablePortal?: boolean;
73
+ /** 弹窗放置位置 */
74
+ placement?: PopperPlacementType;
75
+ /** 输入框只读 */
76
+ inputReadOnly?: boolean;
77
+ /** 是否禁用 */
78
+ disabled?: boolean;
79
+ }
80
+ declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => JSX.Element;
81
+ export default PisellDateRangePicker;
@@ -72,7 +72,8 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
72
72
  disablePortal = props.disablePortal,
73
73
  _props$placement = props.placement,
74
74
  placement = _props$placement === void 0 ? "auto" : _props$placement,
75
- inputReadOnly = props.inputReadOnly;
75
+ inputReadOnly = props.inputReadOnly,
76
+ disabled = props.disabled;
76
77
  var _useState = useState(propsOpen !== null && propsOpen !== void 0 ? propsOpen : false),
77
78
  _useState2 = _slicedToArray(_useState, 2),
78
79
  open = _useState2[0],
@@ -197,6 +198,7 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
197
198
  // defaultValue={defaultValue}
198
199
  // key={`${_value?.[0]?.valueOf()}-${_value?.[1]?.valueOf()}`}
199
200
  , {
201
+ disabled: disabled,
200
202
  desktopModeMediaQuery: desktopModeMediaQuery,
201
203
  onMonthChange: onMonthChange,
202
204
  minDate: minDate,
package/es/index.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import PisellDateRangePicker from "./PisellDateRangePicker";
2
+ import { LocaleContext, LocaleProvider } from "./PisellDateRangePicker/LocaleContext";
3
+ export * from "@mui/x-date-pickers";
4
+ export * from "@mui/material/styles";
5
+ export * from "./DateRangePickerDay";
6
+ export * from "./MultiInputDateRangeField";
7
+ export * from "./MultiInputTimeRangeField";
8
+ export * from "./MultiInputDateTimeRangeField";
9
+ export * from "./SingleInputDateRangeField";
10
+ export * from "./SingleInputTimeRangeField";
11
+ export * from "./SingleInputDateTimeRangeField";
12
+ export type { RangeFieldSection, BaseMultiInputFieldProps, MultiInputFieldSlotTextFieldProps, } from "./internals/models/fields";
13
+ export * from "./DateRangeCalendar";
14
+ export * from "./DesktopDateRangePicker";
15
+ export * from "./MobileDateRangePicker";
16
+ export * from "./StaticDateRangePicker";
17
+ export * from "./dateRangeViewRenderers";
18
+ export type { DateRange, RangePosition } from "./internals/models/range";
19
+ export type { UseDateRangeFieldProps } from "./internals/models/dateRange";
20
+ export { PisellDateRangePicker as RangePicker };
21
+ export { LocaleContext, LocaleProvider };
22
+ export * from "./models";
@@ -0,0 +1,2 @@
1
+ export declare const pLocaleMap: Record<string, any>;
2
+ export declare const getText: (id: string, pLocale?: string) => any;
@@ -65,6 +65,16 @@ var ActionBar = (props) => {
65
65
  newValue[0] = ((_b = (_a = start == null ? void 0 : start.set("hour", (val == null ? void 0 : val.get("hour")) || 0)) == null ? void 0 : _a.set("minute", (val == null ? void 0 : val.get("minute")) || 0)) == null ? void 0 : _b.set("second", (val == null ? void 0 : val.get("second")) || 0)) || null;
66
66
  onChange(newValue, "time");
67
67
  };
68
+ const handleStartOnBlur = (e) => {
69
+ const format = (startTimeProps == null ? void 0 : startTimeProps.format) || "HH:mm:ss";
70
+ const val = (0, import_dayjs.default)(e.target.value, format);
71
+ handleStartChange(val);
72
+ };
73
+ const handleEndOnBlur = (e) => {
74
+ const format = (endTimeProps == null ? void 0 : endTimeProps.format) || "HH:mm:ss";
75
+ const val = (0, import_dayjs.default)(e.target.value, format);
76
+ handleEndChange(val);
77
+ };
68
78
  const handleEndChange = (val) => {
69
79
  var _a, _b;
70
80
  const newValue = [...value];
@@ -110,6 +120,8 @@ var ActionBar = (props) => {
110
120
  value: value[0],
111
121
  popupClassName: "date-picker-action-bar-time-picker-popup",
112
122
  onChange: handleStartChange,
123
+ onSelect: handleStartChange,
124
+ // onBlur: handleStartOnBlur,
113
125
  inputReadOnly: true
114
126
  }
115
127
  ), /* @__PURE__ */ import_react.default.createElement(
@@ -120,6 +132,8 @@ var ActionBar = (props) => {
120
132
  value: value[1],
121
133
  popupClassName: "date-picker-action-bar-time-picker-popup",
122
134
  onChange: handleEndChange,
135
+ onSelect: handleEndChange,
136
+ // onBlur: handleEndOnBlur,
123
137
  inputReadOnly: true
124
138
  }
125
139
  )) : /* @__PURE__ */ import_react.default.createElement("div", null)),
@@ -0,0 +1,2 @@
1
+ export declare const LocaleContext: any;
2
+ export declare const LocaleProvider: any;
@@ -0,0 +1,81 @@
1
+ import { Dayjs } from "dayjs";
2
+ import React from "react";
3
+ import { ButtonProps } from "antd";
4
+ import { PopperPlacementType } from "@mui/base/Popper/Popper.types";
5
+ import { PresetType } from "../Shortcuts";
6
+ import "dayjs/locale/zh-cn";
7
+ import "dayjs/locale/en";
8
+ import "dayjs/locale/zh-tw";
9
+ import "./index.less";
10
+ export interface PisellDateRangePickerProps {
11
+ /** 再次选择日期时是否清除结束时间 */
12
+ clearEndOnSelection?: boolean;
13
+ /** 日期选择确认回调 */
14
+ onChange?: (day: (Dayjs | null)[]) => void;
15
+ /** 日期改变回调 此处只为了组件外拿到当前日期项进行状态操作 通常情况下只使用onChange来拿value */
16
+ onDateChange?: (day: (Dayjs | null)[]) => void;
17
+ /** 日期选择值 */
18
+ value?: Dayjs[];
19
+ /** 日期选择默认值 */
20
+ defaultValue?: Dayjs[];
21
+ /** 快捷选择项 */
22
+ presets?: PresetType[];
23
+ /** 类名 */
24
+ className?: string;
25
+ /** 是否显示时间选择 这里参数为antd TimePickerProps */
26
+ showTime?: boolean | {
27
+ defaultValue: Dayjs;
28
+ [key: string]: any;
29
+ }[];
30
+ /** 占位符 */
31
+ placeholder?: string;
32
+ /** 是否禁用日期 */
33
+ disabledDate?: (day: Dayjs, position: "start" | "end", value: Dayjs[]) => boolean;
34
+ /** 日期格式 */
35
+ format?: string;
36
+ /** 后缀图标 */
37
+ suffixIcon?: React.ReactNode;
38
+ /** 是否显示边框 */
39
+ bordered?: boolean;
40
+ /** 是否打开日期选择 */
41
+ open?: boolean;
42
+ /** 关闭回调 */
43
+ onClose?: () => void;
44
+ /** 打开回调 */
45
+ onOpen?: () => void;
46
+ /** 弹窗宽度 */
47
+ popupWidth?: number;
48
+ /** 最小日期 */
49
+ minDate?: Dayjs;
50
+ /** 最大日期 */
51
+ maxDate?: Dayjs;
52
+ /** 月份切换事件 */
53
+ onMonthChange?: (value: Dayjs) => void;
54
+ /** 额外的弹出日历 className */
55
+ popupClassName?: string;
56
+ /** 默认显示月份 */
57
+ defaultCalendarMonth?: Dayjs;
58
+ /** ok 按钮 props */
59
+ okButtonProps?: ButtonProps;
60
+ /** cancel 按钮 props */
61
+ cancelButtonProps?: ButtonProps;
62
+ /**
63
+ * CSS media query when `Mobile` mode will be changed to `Desktop`.
64
+ * @default '@media (pointer: fine)'
65
+ * @example '@media (min-width: 720px)' or theme.breakpoints.up("sm")
66
+ */
67
+ desktopModeMediaQuery?: string;
68
+ style?: React.CSSProperties;
69
+ /** 是否展示清除按钮 */
70
+ allowClear?: boolean;
71
+ /** true 将弹窗当前DOM层次结构下 false 追加到body */
72
+ disablePortal?: boolean;
73
+ /** 弹窗放置位置 */
74
+ placement?: PopperPlacementType;
75
+ /** 输入框只读 */
76
+ inputReadOnly?: boolean;
77
+ /** 是否禁用 */
78
+ disabled?: boolean;
79
+ }
80
+ declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => JSX.Element;
81
+ export default PisellDateRangePicker;
@@ -88,7 +88,8 @@ var PisellDateRangePicker = (props) => {
88
88
  allowClear,
89
89
  disablePortal,
90
90
  placement = "auto",
91
- inputReadOnly
91
+ inputReadOnly,
92
+ disabled
92
93
  } = props;
93
94
  const [open, setOpen] = (0, import_react.useState)(propsOpen ?? false);
94
95
  const { locale } = (0, import_react.useContext)(import_LocaleContext.LocaleContext) || {};
@@ -208,6 +209,7 @@ var PisellDateRangePicker = (props) => {
208
209
  /* @__PURE__ */ import_react.default.createElement(
209
210
  import_DateRangePicker.DateRangePicker,
210
211
  {
212
+ disabled,
211
213
  desktopModeMediaQuery,
212
214
  onMonthChange,
213
215
  minDate,
package/lib/index.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import PisellDateRangePicker from "./PisellDateRangePicker";
2
+ import { LocaleContext, LocaleProvider } from "./PisellDateRangePicker/LocaleContext";
3
+ export * from "@mui/x-date-pickers";
4
+ export * from "@mui/material/styles";
5
+ export * from "./DateRangePickerDay";
6
+ export * from "./MultiInputDateRangeField";
7
+ export * from "./MultiInputTimeRangeField";
8
+ export * from "./MultiInputDateTimeRangeField";
9
+ export * from "./SingleInputDateRangeField";
10
+ export * from "./SingleInputTimeRangeField";
11
+ export * from "./SingleInputDateTimeRangeField";
12
+ export type { RangeFieldSection, BaseMultiInputFieldProps, MultiInputFieldSlotTextFieldProps, } from "./internals/models/fields";
13
+ export * from "./DateRangeCalendar";
14
+ export * from "./DesktopDateRangePicker";
15
+ export * from "./MobileDateRangePicker";
16
+ export * from "./StaticDateRangePicker";
17
+ export * from "./dateRangeViewRenderers";
18
+ export type { DateRange, RangePosition } from "./internals/models/range";
19
+ export type { UseDateRangeFieldProps } from "./internals/models/dateRange";
20
+ export { PisellDateRangePicker as RangePicker };
21
+ export { LocaleContext, LocaleProvider };
22
+ export * from "./models";
@@ -0,0 +1,2 @@
1
+ export declare const pLocaleMap: Record<string, any>;
2
+ export declare const getText: (id: string, pLocale?: string) => any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/date-picker",
3
- "version": "1.0.74",
3
+ "version": "1.0.75-2",
4
4
  "sideEffects": [
5
5
  "*.less"
6
6
  ],
@@ -26,7 +26,7 @@
26
26
  "antd": "^5.5.0",
27
27
  "react": "^18.0.0",
28
28
  "react-dom": "^18.0.0",
29
- "@pisell/utils": "1.0.26"
29
+ "@pisell/utils": "1.0.24"
30
30
  },
31
31
  "files": [
32
32
  "es",