bhd-components 0.8.1 → 0.9.1

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.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/dist/{3f8529e7.esm.es5.development.js → 100c4e1e.esm.es5.development.js} +2985 -2009
  3. package/dist/{f460f54e.esm.es5.production.js → a4d5ce04.esm.es5.production.js} +1 -1
  4. package/dist/index.esm.es5.development.css +2789 -1232
  5. package/dist/index.esm.es5.development.js +7225 -172
  6. package/dist/index.esm.es5.production.css +1 -1
  7. package/dist/index.esm.es5.production.js +1 -1
  8. package/dist/vendor.esm.es5.development.esm.es5.development.css +84 -83
  9. package/dist/vendor.esm.es5.production.esm.es5.production.css +10 -8
  10. package/es2017/bhdDatePicker/index.d.ts +16 -0
  11. package/es2017/bhdDatePicker/index.js +427 -0
  12. package/es2017/bhdDatePicker/index.module.less +886 -0
  13. package/es2017/customerService/historyFun.d.ts +1 -1
  14. package/es2017/customerService/historyFun.js +2 -1
  15. package/es2017/customerService/html2canvas.test.js +1234 -1233
  16. package/es2017/customerService/index.d.ts +1 -1
  17. package/es2017/customerService/index.js +134 -32
  18. package/es2017/customerService/index.module.less +7 -5
  19. package/es2017/customerService/index2.module.less +7 -5
  20. package/es2017/customerService/screenShotPlugin.esm.js +6515 -0
  21. package/es2017/customerService/screenshotTool.d.ts +1 -0
  22. package/es2017/customerService/screenshotTool.js +23 -12
  23. package/es2017/index.d.ts +1 -0
  24. package/es2017/index.js +1 -0
  25. package/es2017/theme/variable.less +27 -0
  26. package/esm/bhdDatePicker/index.d.ts +16 -0
  27. package/esm/bhdDatePicker/index.js +434 -0
  28. package/esm/bhdDatePicker/index.module.less +886 -0
  29. package/esm/customerService/historyFun.d.ts +1 -1
  30. package/esm/customerService/historyFun.js +2 -1
  31. package/esm/customerService/html2canvas.test.js +34 -34
  32. package/esm/customerService/index.d.ts +1 -1
  33. package/esm/customerService/index.js +139 -36
  34. package/esm/customerService/index.module.less +7 -5
  35. package/esm/customerService/index2.module.less +7 -5
  36. package/esm/customerService/screenShotPlugin.esm.js +6516 -0
  37. package/esm/customerService/screenshotTool.d.ts +1 -0
  38. package/esm/customerService/screenshotTool.js +21 -10
  39. package/esm/index.d.ts +1 -0
  40. package/esm/index.js +1 -0
  41. package/esm/theme/variable.less +27 -0
  42. package/package.json +20 -2
@@ -2,6 +2,7 @@
2
2
  import "react-image-crop/dist/ReactCrop.css";
3
3
  interface data {
4
4
  imgBese64: string;
5
+ screenShotType: number;
5
6
  saveScreenshotBese64: (bese64: string) => void;
6
7
  cancelScreenshot: () => void;
7
8
  }
@@ -1,29 +1,36 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@ice/jsx-runtime/jsx-runtime";
2
- import React, { useState, forwardRef } from "react";
2
+ import React, { useState, forwardRef, useEffect } from "react";
3
3
  import ReactCrop, { centerCrop, makeAspectCrop } from "react-image-crop";
4
4
  import { CloseOutlined } from "@ant-design/icons";
5
5
  import { CustomDuihao } from "../icons/index";
6
6
  import "react-image-crop/dist/ReactCrop.css";
7
7
  import styles from "./index.module.less";
8
8
  const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
9
- let { imgBese64 , saveScreenshotBese64 , cancelScreenshot } = props;
9
+ let { imgBese64 , screenShotType , saveScreenshotBese64 , cancelScreenshot } = props;
10
10
  const [crop, setCrop] = useState();
11
11
  const [completedCrop, setCompletedCrop] = useState();
12
12
  const [aspect, setAspect] = useState(16 / 9);
13
+ const [devicePixelRatio, setDevicePixelRatio] = useState(1);
14
+ const [isFirst, setIsFirst] = useState(true);
13
15
  const [btnPosition, setBtnPosition] = useState({
14
16
  top: 0,
15
17
  left: 0
16
18
  });
17
19
  const [showBtn, setShowBtn] = useState(false);
20
+ useEffect(()=>{
21
+ setDevicePixelRatio(screenShotType === 1 ? window.devicePixelRatio || 1 : 1);
22
+ }, [
23
+ screenShotType
24
+ ]);
18
25
  function centerAspectCrop(mediaWidth, mediaHeight, aspect) {
19
26
  return centerCrop(makeAspectCrop({
20
- unit: '%',
27
+ unit: "%",
21
28
  width: 30
22
29
  }, aspect, mediaWidth, mediaHeight), mediaWidth, mediaHeight);
23
30
  }
24
31
  function onImageLoad(e) {
25
32
  if (aspect) {
26
- // console.log(aspect,e,'dlvkdfmvlkdfmvdfkl');
33
+ console.log(aspect, e, "dlvkdfmvlkdfmvdfkl");
27
34
  // const { width, height } = e.currentTarget
28
35
  const width = 100;
29
36
  const height = 100 * (9 / 16);
@@ -35,17 +42,17 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
35
42
  }
36
43
  function saveImage() {
37
44
  // 创建一个新的canvas元素
38
- var canvas = document.createElement('canvas');
39
- var context = canvas.getContext('2d');
45
+ var canvas = document.createElement("canvas");
46
+ var context = canvas.getContext("2d");
40
47
  // 加载要操作的图片
41
48
  var image = new Image();
42
49
  image.src = imgBese64; // 将'your_image_url'替换为你自己的图片URL
43
50
  // 等待图片加载完成后再进行操作
44
51
  image.onload = function() {
45
- var x = completedCrop.x; // 起始点x坐标
46
- var y = completedCrop.y; // 起始点y坐标
47
- var width = completedCrop.width; // 需要裁剪的区域宽度
48
- var height = completedCrop.height; // 需要裁剪的区域高度
52
+ var x = parseInt((completedCrop.x * devicePixelRatio).toString()); // 起始点x坐标
53
+ var y = parseInt((completedCrop.y * devicePixelRatio).toString()); // 起始点y坐标
54
+ var width = parseInt((completedCrop.width * devicePixelRatio).toString()); // 需要裁剪的区域宽度
55
+ var height = parseInt((completedCrop.height * devicePixelRatio).toString()); // 需要裁剪的区域高度
49
56
  // 设置canvas大小与裁剪区域相同
50
57
  canvas.width = width;
51
58
  canvas.height = height;
@@ -66,6 +73,8 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
66
73
  let y = e.y;
67
74
  let h = e.height;
68
75
  let w = e.width;
76
+ // 新方案使用
77
+ //旧方案改成 let top = y + h + (isFirst ? 21 : 8);
69
78
  let top = y + h + 8;
70
79
  let left = x + w - 88;
71
80
  if (top + 42 > window.innerHeight) {
@@ -76,6 +85,7 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
76
85
  left
77
86
  });
78
87
  setShowBtn(true);
88
+ setIsFirst(false);
79
89
  };
80
90
  return /*#__PURE__*/ _jsxs("div", {
81
91
  className: styles.screenshot_Modal,
@@ -101,6 +111,7 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
101
111
  minWidth: 100,
102
112
  children: /*#__PURE__*/ _jsx("img", {
103
113
  alt: "Crop me",
114
+ // style={{display:'none'}}
104
115
  src: imgBese64,
105
116
  onLoad: onImageLoad
106
117
  })
@@ -116,8 +127,8 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
116
127
  onClick: cancelScreenshot,
117
128
  children: /*#__PURE__*/ _jsx(CloseOutlined, {
118
129
  style: {
119
- position: 'relative',
120
- top: '1px'
130
+ position: "relative",
131
+ top: "1px"
121
132
  }
122
133
  })
123
134
  }),
package/es2017/index.d.ts CHANGED
@@ -80,3 +80,4 @@ export { default as BhdTipModal } from "./bhdTipModal";
80
80
  export { default as BhdSelect } from "./bhdSelect";
81
81
  export { default as BhdAppLayout } from "./bhdAppLayout";
82
82
  export { default as CustomerService } from "./customerService";
83
+ export { default as BhdDatePicker } from "./bhdDatePicker";
package/es2017/index.js CHANGED
@@ -85,3 +85,4 @@ export { default as BhdTipModal } from "./bhdTipModal/index"; //提示框
85
85
  export { default as BhdSelect } from "./bhdSelect/index"; //封装 bhdSelect
86
86
  export { default as BhdAppLayout } from "./bhdAppLayout/index"; //封装 BhdAppLayout
87
87
  export { default as CustomerService } from "./customerService/index"; //封装 智能客服
88
+ export { default as BhdDatePicker } from "./bhdDatePicker/index"; //封装 日历组件
@@ -76,6 +76,8 @@
76
76
  @Gray-09: #262626;
77
77
  @Gray-10: #000000;
78
78
 
79
+
80
+
79
81
  /* 变量色值 */
80
82
 
81
83
  /* "color-background-layout": {
@@ -143,6 +145,16 @@
143
145
 
144
146
  @color-background-quinary: @Gray-01;
145
147
 
148
+
149
+ /*
150
+ "color-background-Mask-Tr": {
151
+ "value": "{Gray-Tr-06}",
152
+ "type": "color",
153
+ "description": "蒙层颜色"
154
+ },
155
+ */
156
+
157
+ @color-background-Mask-Tr:@Gray-Tr-06;
146
158
  /*
147
159
  "color-background-primary-base": {
148
160
  "value": "{Red-06}",
@@ -246,6 +258,13 @@
246
258
  "description": "二级边框色"
247
259
  }, */
248
260
  @color-border-secondary-Tr: @Gray-Tr-04;
261
+
262
+ /* "color-border-tertiary": {
263
+ "value": "{Gray-01}",
264
+ "type": "color",
265
+ "description": "三级边框色"
266
+ }, */
267
+ @color-border-tertiary:@Gray-01;
249
268
  /* "color-border-primary": {
250
269
  "value": "{Red-06}",
251
270
  "type": "color",
@@ -525,6 +544,14 @@
525
544
  }
526
545
  */
527
546
  @color-icon-error: @Orange-06;
547
+ /*
548
+ "color-icon-base": {
549
+ "value": "$Blue-06",
550
+ "type": "color",
551
+ "description": "图标,一级填充色"
552
+ }
553
+ */
554
+ @color-icon-base: @Blue-06;
528
555
  /*
529
556
  "color-icon-fill": {
530
557
  "value": "$Gray-08",
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import type { Dayjs } from "dayjs";
3
+ export interface BhdDateExtraPicker {
4
+ date: Dayjs;
5
+ text: string;
6
+ status: "selectable" | "noselectable" | "selected";
7
+ }
8
+ interface BhdDatePickerProps {
9
+ [key: string]: any;
10
+ kind: "single" | "range" | "extra";
11
+ useType?: string;
12
+ extraItems?: BhdDateExtraPicker[];
13
+ extraReadonly?: boolean;
14
+ }
15
+ declare const BhdDatePicker: (props: BhdDatePickerProps) => React.JSX.Element;
16
+ export default BhdDatePicker;
@@ -0,0 +1,434 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
5
+ import * as React from "react";
6
+ import { useState, useEffect, useRef } from "react";
7
+ import styles from "./index.module.less";
8
+ import { Button, DatePicker } from "antd";
9
+ import { CustomArrow } from "../icons/index";
10
+ import dayjs from "dayjs";
11
+ var RangePicker = DatePicker.RangePicker;
12
+ var months = [
13
+ "一",
14
+ "二",
15
+ "三",
16
+ "四",
17
+ "五",
18
+ "六",
19
+ "七",
20
+ "八",
21
+ "九",
22
+ "十",
23
+ "十一",
24
+ "十二"
25
+ ];
26
+ var BhdDatePicker = function(props) {
27
+ var _props_kind = props.kind, kind = _props_kind === void 0 ? "single" : _props_kind, _props_value = props.value, value = _props_value === void 0 ? props.kind === "range" ? [] : "" : _props_value, extraItems = props.extraItems, _props_extraReadonly = props.extraReadonly, extraReadonly = _props_extraReadonly === void 0 ? false : _props_extraReadonly, picker = props.picker, _props_useType = props.useType, useType = _props_useType === void 0 ? "" : _props_useType, className = props.className, popupClassName = props.popupClassName, showTime = props.showTime, _props_showNow = props.showNow, showNow = _props_showNow === void 0 ? true : _props_showNow, onClick = props.onClick, onBlur = props.onBlur, onChange = props.onChange, onOk = props.onOk, _props_presets = props.presets, presets = _props_presets === void 0 ? [] : _props_presets;
28
+ var bhdDatePickerRef = useRef(null);
29
+ var _useState = _sliced_to_array(useState(false), 2), open = _useState[0], setOpen = _useState[1];
30
+ var _useState1 = _sliced_to_array(useState("date"), 2), panelMode = _useState1[0], setPanelMode = _useState1[1];
31
+ var _useState2 = _sliced_to_array(useState([
32
+ "date",
33
+ "date"
34
+ ]), 2), rangePanelMode = _useState2[0], setRangePanelMode = _useState2[1];
35
+ var _useState3 = _sliced_to_array(useState(value), 2), selectedDate = _useState3[0], setSelectedDate = _useState3[1];
36
+ var _useState4 = _sliced_to_array(useState(null), 2), selectedDateString = _useState4[0], setSelectedDateString = _useState4[1];
37
+ var selectedDateRef = useRef(value);
38
+ var selectedDateStringRef = useRef(null);
39
+ var _useState5 = _sliced_to_array(useState(value), 2), selectedRangeDate = _useState5[0], setSelectedRangeDate = _useState5[1];
40
+ var _useState6 = _sliced_to_array(useState([]), 2), selectedRangeDateString = _useState6[0], setSelectedRangeDateString = _useState6[1];
41
+ var _useState7 = _sliced_to_array(useState(false), 2), rangeOpenChange = _useState7[0], setRangeOpenChange = _useState7[1]; // 用于范围选择失去焦点后,判断是否关闭
42
+ var timer = useRef(null);
43
+ useEffect(function() {
44
+ setDefaultMode();
45
+ }, []);
46
+ useEffect(function() {
47
+ if (panelMode === "year") {
48
+ timer.current = setTimeout(function() {
49
+ var doms = document.getElementsByClassName("bhd-picker-decade-btn");
50
+ for(var index = 0; index < doms.length; index++){
51
+ var _doms_index, _doms_index_childNodes;
52
+ var dom = (_doms_index = doms[index]) === null || _doms_index === void 0 ? void 0 : (_doms_index_childNodes = _doms_index.childNodes) === null || _doms_index_childNodes === void 0 ? void 0 : _doms_index_childNodes[1];
53
+ if (dom) {
54
+ if (dom.textContent !== " ㅡ ") {
55
+ dom.textContent = " ㅡ ";
56
+ }
57
+ }
58
+ }
59
+ }, 0);
60
+ }
61
+ return function() {
62
+ clearTimeout(timer.current);
63
+ };
64
+ }, [
65
+ open,
66
+ panelMode
67
+ ]);
68
+ var getConfig = function() {
69
+ var config = _object_spread({}, props);
70
+ delete config.cellRender;
71
+ delete config.className;
72
+ delete config.prevIcon;
73
+ delete config.nextIcon;
74
+ delete config.superPrevIcon;
75
+ delete config.superNextIcon;
76
+ delete config.open;
77
+ delete config.onOpenChange;
78
+ delete config.renderExtraFooter;
79
+ delete config.useType;
80
+ delete config.showNow;
81
+ delete config.onClick;
82
+ delete config.onBlur;
83
+ delete config.onOk;
84
+ delete config.onChange;
85
+ delete config.presets;
86
+ delete config.mode;
87
+ if (kind === "single" || kind === "extra") {
88
+ delete config.value;
89
+ }
90
+ if (kind === "extra" && picker !== "date") {
91
+ delete config.extraItems;
92
+ }
93
+ if (kind === "extra") {
94
+ delete config.disabledDate;
95
+ }
96
+ return config;
97
+ };
98
+ // 设置默认mode
99
+ var setDefaultMode = function() {
100
+ if (kind === "range") {
101
+ setRangePanelMode([
102
+ picker || "date",
103
+ picker || "date"
104
+ ]);
105
+ } else {
106
+ setPanelMode(picker || "date");
107
+ }
108
+ };
109
+ //单元格渲染
110
+ var cellRender = function(current, info) {
111
+ if (info.type === "date") {
112
+ var extraItem = null;
113
+ if (kind === "extra") {
114
+ extraItem = extraItems === null || extraItems === void 0 ? void 0 : extraItems.find(function(item) {
115
+ return item.date.format("YYYYMMDD") === current.format("YYYYMMDD");
116
+ });
117
+ }
118
+ return /*#__PURE__*/ _jsx(_Fragment, {
119
+ children: /*#__PURE__*/ _jsxs("div", {
120
+ className: "bhd-picker-cell-inner",
121
+ children: [
122
+ current.format("DD"),
123
+ kind === "extra" && extraItem && /*#__PURE__*/ _jsx("div", {
124
+ className: "extraText ".concat(extraItem.status),
125
+ children: extraItem.text
126
+ })
127
+ ]
128
+ })
129
+ });
130
+ }
131
+ if (info.type === "month") {
132
+ return /*#__PURE__*/ _jsx("div", {
133
+ className: "bhd-picker-cell-inner",
134
+ children: months[Number(current.format("M")) - 1] + "月"
135
+ });
136
+ }
137
+ return info.originNode;
138
+ };
139
+ //日期禁用
140
+ var disabledDate = function(current) {
141
+ // if (extraReadonly) {
142
+ // return true;
143
+ // }
144
+ // 不能选择的是没有日程安排的
145
+ var extraItem = null;
146
+ if (kind === "extra") {
147
+ extraItem = extraItems === null || extraItems === void 0 ? void 0 : extraItems.find(function(item) {
148
+ return item.date.format("YYYYMMDD") === current.format("YYYYMMDD");
149
+ });
150
+ if (extraReadonly && extraItem) {
151
+ return false;
152
+ }
153
+ }
154
+ return !extraItem || current && extraItem.status === "noselectable";
155
+ };
156
+ // 渲染底部扩展内容
157
+ var renderExtraFooter = function(mode) {
158
+ return !showTime ? /*#__PURE__*/ _jsxs("ul", {
159
+ className: "bhd-picker-ranges",
160
+ children: [
161
+ renderPresets(),
162
+ showNow && (kind === "single" || kind === "extra" && extraItems.filter(function(item) {
163
+ return item.status !== "noselectable" && item.date.format("YYYY-MM-DD") === dayjs().format("YYYY-MM-DD");
164
+ }).length > 0) && mode === "date" && /*#__PURE__*/ _jsx("li", {
165
+ className: "bhd-picker-now",
166
+ children: /*#__PURE__*/ _jsx("a", {
167
+ className: "bhd-picker-now-btn",
168
+ onClick: todayClick,
169
+ children: showTime ? "此刻" : "今天"
170
+ })
171
+ }),
172
+ /*#__PURE__*/ _jsx("li", {
173
+ className: "bhd-picker-ok",
174
+ children: /*#__PURE__*/ _jsx(Button, {
175
+ type: "primary",
176
+ disabled: kind === "range" ? !((selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[0]) && (selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[1])) : !(selectedDate && selectedDateString),
177
+ onClick: okClick,
178
+ children: "确定"
179
+ })
180
+ })
181
+ ]
182
+ }) : /*#__PURE__*/ _jsx("ul", {
183
+ className: "bhd-picker-ranges",
184
+ children: renderPresets()
185
+ });
186
+ };
187
+ // 渲染预设
188
+ var renderPresets = function() {
189
+ return /*#__PURE__*/ _jsx("li", {
190
+ className: "bhd-picker-presets",
191
+ children: presets.map(function(item, index) {
192
+ return /*#__PURE__*/ _jsx("a", {
193
+ className: "bhd-picker-preset-btn",
194
+ onClick: function() {
195
+ presetClick(item.value);
196
+ },
197
+ children: item.label
198
+ }, index);
199
+ })
200
+ });
201
+ };
202
+ // 日期选择确认
203
+ var okClick = function() {
204
+ if (kind === "range") {
205
+ if (selectedRangeDate[0] && selectedRangeDate[1] && selectedRangeDateString[0] && selectedRangeDateString[1]) {
206
+ onChange && onChange(selectedRangeDate, selectedRangeDateString);
207
+ setOpen(false);
208
+ } else {
209
+ setOpen(true);
210
+ }
211
+ } else {
212
+ if (selectedDate && selectedDateString) {
213
+ onChange && onChange(selectedDate, selectedDateString);
214
+ setOpen(false);
215
+ }
216
+ }
217
+ };
218
+ var todayClick = function() {
219
+ var today = dayjs();
220
+ var todayString = today.format(showTime ? "YYYY-MM-DD hh:mm:ss" : "YYYY-MM-DD");
221
+ setSelectedDate(today);
222
+ setSelectedDateString(todayString);
223
+ onChange && onChange(today, todayString);
224
+ setOpen(false);
225
+ };
226
+ //预设点击
227
+ var presetClick = function(value) {
228
+ var todayString = value.format(showTime ? "YYYY-MM-DD hh:mm:ss" : "YYYY-MM-DD");
229
+ setSelectedDate(value);
230
+ setSelectedDateString(todayString);
231
+ onChange && onChange(value, todayString);
232
+ setOpen(false);
233
+ };
234
+ return /*#__PURE__*/ _jsxs("span", {
235
+ className: "".concat(styles.bhdDatePicker),
236
+ ref: bhdDatePickerRef,
237
+ children: [
238
+ kind === "single" && /*#__PURE__*/ _jsx(_Fragment, {
239
+ children: /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
240
+ id: "pickerRef",
241
+ className: "".concat(className, " ").concat(useType === "table" ? "table-date-picker" : ""),
242
+ popupClassName: "".concat(styles.bhdDatePickerPopup, " ").concat(styles.singlePicker, " ").concat(popupClassName || ""),
243
+ cellRender: cellRender,
244
+ prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
245
+ style: {
246
+ transform: "rotate(90deg)"
247
+ }
248
+ }),
249
+ nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
250
+ style: {
251
+ transform: "rotate(-90deg)"
252
+ }
253
+ }),
254
+ superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
255
+ style: {
256
+ transform: "rotate(90deg)"
257
+ }
258
+ }),
259
+ superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
260
+ style: {
261
+ transform: "rotate(-90deg)"
262
+ }
263
+ }),
264
+ onPanelChange: function(value, mode) {
265
+ setPanelMode(mode);
266
+ },
267
+ mode: panelMode,
268
+ open: open,
269
+ onOpenChange: function(value) {
270
+ // 打开设置默认mode
271
+ if (value) {
272
+ setDefaultMode();
273
+ }
274
+ },
275
+ showNow: showTime ? showNow : false,
276
+ defaultPickerValue: selectedDate,
277
+ value: selectedDate,
278
+ onChange: function(date, dateString) {
279
+ setSelectedDate(function(prevState) {
280
+ selectedDateRef.current = date;
281
+ return selectedDateRef.current;
282
+ });
283
+ setSelectedDateString(function(prevState) {
284
+ selectedDateStringRef.current = dateString;
285
+ return selectedDateStringRef.current;
286
+ });
287
+ },
288
+ onOk: function() {
289
+ if (showTime) {
290
+ setTimeout(function() {
291
+ console.log({
292
+ selectedDate: selectedDateRef.current,
293
+ selectedDateString: selectedDateStringRef.current
294
+ });
295
+ onChange && onChange(selectedDateRef.current, selectedDateStringRef.current);
296
+ setOpen(false);
297
+ }, 0);
298
+ }
299
+ onOk && onOk();
300
+ },
301
+ onClick: function() {
302
+ setOpen(true);
303
+ onClick && onClick();
304
+ },
305
+ onBlur: function() {
306
+ okClick();
307
+ setOpen(false);
308
+ onBlur && onBlur();
309
+ },
310
+ renderExtraFooter: renderExtraFooter
311
+ }))
312
+ }),
313
+ kind === "range" && /*#__PURE__*/ _jsx(_Fragment, {
314
+ children: /*#__PURE__*/ _jsx(RangePicker, _object_spread_props(_object_spread({}, getConfig()), {
315
+ className: "".concat(className, " ").concat(useType === "table" ? "table-date-picker" : ""),
316
+ popupClassName: "".concat(styles.bhdDatePickerPopup, " ").concat(styles.rangePicker, " ").concat(popupClassName || ""),
317
+ cellRender: cellRender,
318
+ prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
319
+ style: {
320
+ transform: "rotate(90deg)"
321
+ }
322
+ }),
323
+ nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
324
+ style: {
325
+ transform: "rotate(-90deg)"
326
+ }
327
+ }),
328
+ superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
329
+ style: {
330
+ transform: "rotate(90deg)"
331
+ }
332
+ }),
333
+ superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
334
+ style: {
335
+ transform: "rotate(-90deg)"
336
+ }
337
+ }),
338
+ onPanelChange: function(value, mode) {
339
+ setRangePanelMode(mode);
340
+ },
341
+ mode: rangePanelMode,
342
+ open: open,
343
+ onOpenChange: function(value) {
344
+ if (value) {
345
+ setDefaultMode();
346
+ }
347
+ setRangeOpenChange(value);
348
+ },
349
+ showNow: false,
350
+ defaultPickerValue: selectedRangeDate,
351
+ value: selectedRangeDate,
352
+ onClick: function() {
353
+ setOpen(true);
354
+ onClick && onClick();
355
+ },
356
+ onCalendarChange: function(dates, dateStrings, info) {
357
+ setSelectedRangeDate(dates);
358
+ setSelectedRangeDateString(dateStrings);
359
+ },
360
+ onBlur: function() {
361
+ if ((selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[0]) && (selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[1])) {
362
+ okClick();
363
+ setOpen(false);
364
+ } else if (!(selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[0]) || !(selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[1])) {
365
+ setOpen(rangeOpenChange);
366
+ }
367
+ onBlur && onBlur();
368
+ },
369
+ panelRender: function(panelNode) {
370
+ return panelNode;
371
+ },
372
+ renderExtraFooter: renderExtraFooter
373
+ }))
374
+ }),
375
+ kind === "extra" && /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
376
+ className: "".concat(className, " ").concat(useType === "table" ? "hide" : ""),
377
+ popupClassName: "".concat(styles.bhdDatePickerPopup, " ").concat(styles.extraPicker, " ").concat(extraReadonly ? styles.readonly : "", " ").concat(popupClassName || ""),
378
+ cellRender: cellRender,
379
+ prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
380
+ style: {
381
+ transform: "rotate(90deg)"
382
+ }
383
+ }),
384
+ nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
385
+ style: {
386
+ transform: "rotate(-90deg)"
387
+ }
388
+ }),
389
+ superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
390
+ style: {
391
+ transform: "rotate(90deg)"
392
+ }
393
+ }),
394
+ superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
395
+ style: {
396
+ transform: "rotate(-90deg)"
397
+ }
398
+ }),
399
+ disabledDate: disabledDate,
400
+ allowClear: !extraReadonly,
401
+ onPanelChange: function(value, mode) {
402
+ setPanelMode(mode);
403
+ },
404
+ mode: panelMode,
405
+ onOpenChange: function(value) {
406
+ if (value) {
407
+ setDefaultMode();
408
+ }
409
+ },
410
+ open: open,
411
+ showNow: false,
412
+ defaultPickerValue: selectedDate,
413
+ value: selectedDate,
414
+ onChange: function(date, dateString) {
415
+ setSelectedDate(date);
416
+ setSelectedDateString(dateString);
417
+ },
418
+ onClick: function() {
419
+ setOpen(true);
420
+ onClick && onClick();
421
+ },
422
+ onBlur: function() {
423
+ if (!extraReadonly) {
424
+ okClick();
425
+ }
426
+ setOpen(false);
427
+ onBlur && onBlur();
428
+ },
429
+ renderExtraFooter: extraReadonly ? null : renderExtraFooter
430
+ }))
431
+ ]
432
+ });
433
+ };
434
+ export default BhdDatePicker;