bhd-components 0.9.0 → 0.9.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.
Files changed (194) hide show
  1. package/dist/{f8c2008a.esm.es5.development.js → a5565b8a.esm.es5.development.js} +9382 -1289
  2. package/dist/deb6cc9b.esm.es5.production.js +485 -0
  3. package/dist/index.esm.es5.development.css +2278 -1580
  4. package/dist/index.esm.es5.development.js +4454 -221
  5. package/dist/index.esm.es5.production.css +1 -1
  6. package/dist/index.esm.es5.production.js +1 -1
  7. package/es2017/bhdDatePicker/index.d.ts +0 -1
  8. package/es2017/bhdDatePicker/index.js +238 -171
  9. package/es2017/bhdDatePicker/index.module.less +81 -46
  10. package/es2017/customerService/index.js +122 -23
  11. package/es2017/customerService/js-screen-shot/assets/less/screen-shot.less +478 -0
  12. package/es2017/customerService/js-screen-shot/lib/common-methods/CanvasPatch.d.ts +1 -0
  13. package/es2017/customerService/js-screen-shot/lib/common-methods/CanvasPatch.js +15 -0
  14. package/es2017/customerService/js-screen-shot/lib/common-methods/DeviceTypeVerif.d.ts +2 -0
  15. package/es2017/customerService/js-screen-shot/lib/common-methods/DeviceTypeVerif.js +32 -0
  16. package/es2017/customerService/js-screen-shot/lib/common-methods/FixedData.d.ts +11 -0
  17. package/es2017/customerService/js-screen-shot/lib/common-methods/FixedData.js +17 -0
  18. package/es2017/customerService/js-screen-shot/lib/common-methods/GetBrushSelectedName.d.ts +5 -0
  19. package/es2017/customerService/js-screen-shot/lib/common-methods/GetBrushSelectedName.js +18 -0
  20. package/es2017/customerService/js-screen-shot/lib/common-methods/GetCanvasImgData.d.ts +4 -0
  21. package/es2017/customerService/js-screen-shot/lib/common-methods/GetCanvasImgData.js +25 -0
  22. package/es2017/customerService/js-screen-shot/lib/common-methods/GetColor.d.ts +1 -0
  23. package/es2017/customerService/js-screen-shot/lib/common-methods/GetColor.js +41 -0
  24. package/es2017/customerService/js-screen-shot/lib/common-methods/GetSelectedCalssName.d.ts +1 -0
  25. package/es2017/customerService/js-screen-shot/lib/common-methods/GetSelectedCalssName.js +23 -0
  26. package/es2017/customerService/js-screen-shot/lib/common-methods/GetToolRelativePosition.d.ts +7 -0
  27. package/es2017/customerService/js-screen-shot/lib/common-methods/GetToolRelativePosition.js +9 -0
  28. package/es2017/customerService/js-screen-shot/lib/common-methods/ImgScaling.d.ts +11 -0
  29. package/es2017/customerService/js-screen-shot/lib/common-methods/ImgScaling.js +41 -0
  30. package/es2017/customerService/js-screen-shot/lib/common-methods/SaveBorderArrInfo.d.ts +8 -0
  31. package/es2017/customerService/js-screen-shot/lib/common-methods/SaveBorderArrInfo.js +125 -0
  32. package/es2017/customerService/js-screen-shot/lib/common-methods/SaveCanvasToBase64.d.ts +1 -0
  33. package/es2017/customerService/js-screen-shot/lib/common-methods/SaveCanvasToBase64.js +37 -0
  34. package/es2017/customerService/js-screen-shot/lib/common-methods/SaveCanvasToImage.d.ts +1 -0
  35. package/es2017/customerService/js-screen-shot/lib/common-methods/SaveCanvasToImage.js +26 -0
  36. package/es2017/customerService/js-screen-shot/lib/common-methods/SelectColor.d.ts +1 -0
  37. package/es2017/customerService/js-screen-shot/lib/common-methods/SelectColor.js +6 -0
  38. package/es2017/customerService/js-screen-shot/lib/common-methods/SelectTextSize.d.ts +5 -0
  39. package/es2017/customerService/js-screen-shot/lib/common-methods/SelectTextSize.js +26 -0
  40. package/es2017/customerService/js-screen-shot/lib/common-methods/SetBrushSize.d.ts +14 -0
  41. package/es2017/customerService/js-screen-shot/lib/common-methods/SetBrushSize.js +50 -0
  42. package/es2017/customerService/js-screen-shot/lib/common-methods/SetSelectedClassName.d.ts +7 -0
  43. package/es2017/customerService/js-screen-shot/lib/common-methods/SetSelectedClassName.js +28 -0
  44. package/es2017/customerService/js-screen-shot/lib/common-methods/TakeOutHistory.d.ts +1 -0
  45. package/es2017/customerService/js-screen-shot/lib/common-methods/TakeOutHistory.js +20 -0
  46. package/es2017/customerService/js-screen-shot/lib/common-methods/UpdateContainerMouseStyle.d.ts +1 -0
  47. package/es2017/customerService/js-screen-shot/lib/common-methods/UpdateContainerMouseStyle.js +10 -0
  48. package/es2017/customerService/js-screen-shot/lib/common-methods/ZoomCutOutBoxPosition.d.ts +17 -0
  49. package/es2017/customerService/js-screen-shot/lib/common-methods/ZoomCutOutBoxPosition.js +92 -0
  50. package/es2017/customerService/js-screen-shot/lib/config/Toolbar.d.ts +5 -0
  51. package/es2017/customerService/js-screen-shot/lib/config/Toolbar.js +46 -0
  52. package/es2017/customerService/js-screen-shot/lib/main-entrance/CreateDom.d.ts +24 -0
  53. package/es2017/customerService/js-screen-shot/lib/main-entrance/CreateDom.js +304 -0
  54. package/es2017/customerService/js-screen-shot/lib/main-entrance/InitData.d.ts +78 -0
  55. package/es2017/customerService/js-screen-shot/lib/main-entrance/InitData.js +538 -0
  56. package/es2017/customerService/js-screen-shot/lib/main-entrance/PlugInParameters.d.ts +46 -0
  57. package/es2017/customerService/js-screen-shot/lib/main-entrance/PlugInParameters.js +162 -0
  58. package/es2017/customerService/js-screen-shot/lib/split-methods/AddHistoryData.d.ts +1 -0
  59. package/es2017/customerService/js-screen-shot/lib/split-methods/AddHistoryData.js +23 -0
  60. package/es2017/customerService/js-screen-shot/lib/split-methods/BoundaryJudgment.d.ts +8 -0
  61. package/es2017/customerService/js-screen-shot/lib/split-methods/BoundaryJudgment.js +13 -0
  62. package/es2017/customerService/js-screen-shot/lib/split-methods/CalculateOptionIcoPosition.d.ts +5 -0
  63. package/es2017/customerService/js-screen-shot/lib/split-methods/CalculateOptionIcoPosition.js +21 -0
  64. package/es2017/customerService/js-screen-shot/lib/split-methods/CalculateToolLocation.d.ts +16 -0
  65. package/es2017/customerService/js-screen-shot/lib/split-methods/CalculateToolLocation.js +39 -0
  66. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawArrow.d.ts +31 -0
  67. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawArrow.js +131 -0
  68. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawCircle.d.ts +11 -0
  69. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawCircle.js +37 -0
  70. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawCutOutBox.d.ts +19 -0
  71. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawCutOutBox.js +118 -0
  72. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawLineArrow.d.ts +13 -0
  73. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawLineArrow.js +51 -0
  74. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawMasking.d.ts +6 -0
  75. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawMasking.js +41 -0
  76. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawMosaic.d.ts +12 -0
  77. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawMosaic.js +67 -0
  78. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawPencil.d.ts +13 -0
  79. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawPencil.js +27 -0
  80. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawRectangle.d.ts +11 -0
  81. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawRectangle.js +22 -0
  82. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawText.d.ts +10 -0
  83. package/es2017/customerService/js-screen-shot/lib/split-methods/DrawText.js +24 -0
  84. package/es2017/customerService/js-screen-shot/lib/split-methods/KeyboardEventHandle.d.ts +10 -0
  85. package/es2017/customerService/js-screen-shot/lib/split-methods/KeyboardEventHandle.js +50 -0
  86. package/es2017/customerService/js-screen-shot/lib/split-methods/SetPlugInParameters.d.ts +2 -0
  87. package/es2017/customerService/js-screen-shot/lib/split-methods/SetPlugInParameters.js +61 -0
  88. package/es2017/customerService/js-screen-shot/lib/split-methods/ToolClickEvent.d.ts +1 -0
  89. package/es2017/customerService/js-screen-shot/lib/split-methods/ToolClickEvent.js +132 -0
  90. package/es2017/customerService/js-screen-shot/lib/split-methods/drawCrossImg.d.ts +1 -0
  91. package/es2017/customerService/js-screen-shot/lib/split-methods/drawCrossImg.js +32 -0
  92. package/es2017/customerService/js-screen-shot/lib/type/ComponentType.d.ts +133 -0
  93. package/es2017/customerService/js-screen-shot/lib/type/ComponentType.js +2 -0
  94. package/es2017/customerService/js-screen-shot/main.d.ts +110 -0
  95. package/es2017/customerService/js-screen-shot/main.js +1098 -0
  96. package/es2017/customerService/screenShotPlugin.esm.js +6515 -0
  97. package/es2017/customerService/screenshotTool.d.ts +1 -0
  98. package/es2017/customerService/screenshotTool.js +23 -15
  99. package/es2017/theme/variable.less +27 -0
  100. package/esm/bhdDatePicker/index.d.ts +0 -1
  101. package/esm/bhdDatePicker/index.js +242 -175
  102. package/esm/bhdDatePicker/index.module.less +81 -46
  103. package/esm/customerService/index.js +127 -27
  104. package/esm/customerService/js-screen-shot/assets/less/screen-shot.less +478 -0
  105. package/esm/customerService/js-screen-shot/lib/common-methods/CanvasPatch.d.ts +1 -0
  106. package/esm/customerService/js-screen-shot/lib/common-methods/CanvasPatch.js +15 -0
  107. package/esm/customerService/js-screen-shot/lib/common-methods/DeviceTypeVerif.d.ts +2 -0
  108. package/esm/customerService/js-screen-shot/lib/common-methods/DeviceTypeVerif.js +32 -0
  109. package/esm/customerService/js-screen-shot/lib/common-methods/FixedData.d.ts +11 -0
  110. package/esm/customerService/js-screen-shot/lib/common-methods/FixedData.js +17 -0
  111. package/esm/customerService/js-screen-shot/lib/common-methods/GetBrushSelectedName.d.ts +5 -0
  112. package/esm/customerService/js-screen-shot/lib/common-methods/GetBrushSelectedName.js +18 -0
  113. package/esm/customerService/js-screen-shot/lib/common-methods/GetCanvasImgData.d.ts +4 -0
  114. package/esm/customerService/js-screen-shot/lib/common-methods/GetCanvasImgData.js +25 -0
  115. package/esm/customerService/js-screen-shot/lib/common-methods/GetColor.d.ts +1 -0
  116. package/esm/customerService/js-screen-shot/lib/common-methods/GetColor.js +41 -0
  117. package/esm/customerService/js-screen-shot/lib/common-methods/GetSelectedCalssName.d.ts +1 -0
  118. package/esm/customerService/js-screen-shot/lib/common-methods/GetSelectedCalssName.js +23 -0
  119. package/esm/customerService/js-screen-shot/lib/common-methods/GetToolRelativePosition.d.ts +7 -0
  120. package/esm/customerService/js-screen-shot/lib/common-methods/GetToolRelativePosition.js +10 -0
  121. package/esm/customerService/js-screen-shot/lib/common-methods/ImgScaling.d.ts +11 -0
  122. package/esm/customerService/js-screen-shot/lib/common-methods/ImgScaling.js +38 -0
  123. package/esm/customerService/js-screen-shot/lib/common-methods/SaveBorderArrInfo.d.ts +8 -0
  124. package/esm/customerService/js-screen-shot/lib/common-methods/SaveBorderArrInfo.js +125 -0
  125. package/esm/customerService/js-screen-shot/lib/common-methods/SaveCanvasToBase64.d.ts +1 -0
  126. package/esm/customerService/js-screen-shot/lib/common-methods/SaveCanvasToBase64.js +37 -0
  127. package/esm/customerService/js-screen-shot/lib/common-methods/SaveCanvasToImage.d.ts +1 -0
  128. package/esm/customerService/js-screen-shot/lib/common-methods/SaveCanvasToImage.js +26 -0
  129. package/esm/customerService/js-screen-shot/lib/common-methods/SelectColor.d.ts +1 -0
  130. package/esm/customerService/js-screen-shot/lib/common-methods/SelectColor.js +6 -0
  131. package/esm/customerService/js-screen-shot/lib/common-methods/SelectTextSize.d.ts +5 -0
  132. package/esm/customerService/js-screen-shot/lib/common-methods/SelectTextSize.js +26 -0
  133. package/esm/customerService/js-screen-shot/lib/common-methods/SetBrushSize.d.ts +14 -0
  134. package/esm/customerService/js-screen-shot/lib/common-methods/SetBrushSize.js +50 -0
  135. package/esm/customerService/js-screen-shot/lib/common-methods/SetSelectedClassName.d.ts +7 -0
  136. package/esm/customerService/js-screen-shot/lib/common-methods/SetSelectedClassName.js +28 -0
  137. package/esm/customerService/js-screen-shot/lib/common-methods/TakeOutHistory.d.ts +1 -0
  138. package/esm/customerService/js-screen-shot/lib/common-methods/TakeOutHistory.js +20 -0
  139. package/esm/customerService/js-screen-shot/lib/common-methods/UpdateContainerMouseStyle.d.ts +1 -0
  140. package/esm/customerService/js-screen-shot/lib/common-methods/UpdateContainerMouseStyle.js +10 -0
  141. package/esm/customerService/js-screen-shot/lib/common-methods/ZoomCutOutBoxPosition.d.ts +17 -0
  142. package/esm/customerService/js-screen-shot/lib/common-methods/ZoomCutOutBoxPosition.js +92 -0
  143. package/esm/customerService/js-screen-shot/lib/config/Toolbar.d.ts +5 -0
  144. package/esm/customerService/js-screen-shot/lib/config/Toolbar.js +46 -0
  145. package/esm/customerService/js-screen-shot/lib/main-entrance/CreateDom.d.ts +24 -0
  146. package/esm/customerService/js-screen-shot/lib/main-entrance/CreateDom.js +345 -0
  147. package/esm/customerService/js-screen-shot/lib/main-entrance/InitData.d.ts +78 -0
  148. package/esm/customerService/js-screen-shot/lib/main-entrance/InitData.js +758 -0
  149. package/esm/customerService/js-screen-shot/lib/main-entrance/PlugInParameters.d.ts +46 -0
  150. package/esm/customerService/js-screen-shot/lib/main-entrance/PlugInParameters.js +259 -0
  151. package/esm/customerService/js-screen-shot/lib/split-methods/AddHistoryData.d.ts +1 -0
  152. package/esm/customerService/js-screen-shot/lib/split-methods/AddHistoryData.js +23 -0
  153. package/esm/customerService/js-screen-shot/lib/split-methods/BoundaryJudgment.d.ts +8 -0
  154. package/esm/customerService/js-screen-shot/lib/split-methods/BoundaryJudgment.js +13 -0
  155. package/esm/customerService/js-screen-shot/lib/split-methods/CalculateOptionIcoPosition.d.ts +5 -0
  156. package/esm/customerService/js-screen-shot/lib/split-methods/CalculateOptionIcoPosition.js +21 -0
  157. package/esm/customerService/js-screen-shot/lib/split-methods/CalculateToolLocation.d.ts +16 -0
  158. package/esm/customerService/js-screen-shot/lib/split-methods/CalculateToolLocation.js +39 -0
  159. package/esm/customerService/js-screen-shot/lib/split-methods/DrawArrow.d.ts +31 -0
  160. package/esm/customerService/js-screen-shot/lib/split-methods/DrawArrow.js +159 -0
  161. package/esm/customerService/js-screen-shot/lib/split-methods/DrawCircle.d.ts +11 -0
  162. package/esm/customerService/js-screen-shot/lib/split-methods/DrawCircle.js +37 -0
  163. package/esm/customerService/js-screen-shot/lib/split-methods/DrawCutOutBox.d.ts +19 -0
  164. package/esm/customerService/js-screen-shot/lib/split-methods/DrawCutOutBox.js +119 -0
  165. package/esm/customerService/js-screen-shot/lib/split-methods/DrawLineArrow.d.ts +13 -0
  166. package/esm/customerService/js-screen-shot/lib/split-methods/DrawLineArrow.js +51 -0
  167. package/esm/customerService/js-screen-shot/lib/split-methods/DrawMasking.d.ts +6 -0
  168. package/esm/customerService/js-screen-shot/lib/split-methods/DrawMasking.js +41 -0
  169. package/esm/customerService/js-screen-shot/lib/split-methods/DrawMosaic.d.ts +12 -0
  170. package/esm/customerService/js-screen-shot/lib/split-methods/DrawMosaic.js +67 -0
  171. package/esm/customerService/js-screen-shot/lib/split-methods/DrawPencil.d.ts +13 -0
  172. package/esm/customerService/js-screen-shot/lib/split-methods/DrawPencil.js +27 -0
  173. package/esm/customerService/js-screen-shot/lib/split-methods/DrawRectangle.d.ts +11 -0
  174. package/esm/customerService/js-screen-shot/lib/split-methods/DrawRectangle.js +22 -0
  175. package/esm/customerService/js-screen-shot/lib/split-methods/DrawText.d.ts +10 -0
  176. package/esm/customerService/js-screen-shot/lib/split-methods/DrawText.js +24 -0
  177. package/esm/customerService/js-screen-shot/lib/split-methods/KeyboardEventHandle.d.ts +10 -0
  178. package/esm/customerService/js-screen-shot/lib/split-methods/KeyboardEventHandle.js +61 -0
  179. package/esm/customerService/js-screen-shot/lib/split-methods/SetPlugInParameters.d.ts +2 -0
  180. package/esm/customerService/js-screen-shot/lib/split-methods/SetPlugInParameters.js +62 -0
  181. package/esm/customerService/js-screen-shot/lib/split-methods/ToolClickEvent.d.ts +1 -0
  182. package/esm/customerService/js-screen-shot/lib/split-methods/ToolClickEvent.js +132 -0
  183. package/esm/customerService/js-screen-shot/lib/split-methods/drawCrossImg.d.ts +1 -0
  184. package/esm/customerService/js-screen-shot/lib/split-methods/drawCrossImg.js +32 -0
  185. package/esm/customerService/js-screen-shot/lib/type/ComponentType.d.ts +133 -0
  186. package/esm/customerService/js-screen-shot/lib/type/ComponentType.js +2 -0
  187. package/esm/customerService/js-screen-shot/main.d.ts +110 -0
  188. package/esm/customerService/js-screen-shot/main.js +1201 -0
  189. package/esm/customerService/screenShotPlugin.esm.js +6516 -0
  190. package/esm/customerService/screenshotTool.d.ts +1 -0
  191. package/esm/customerService/screenshotTool.js +21 -13
  192. package/esm/theme/variable.less +27 -0
  193. package/package.json +20 -2
  194. package/dist/256789e0.esm.es5.production.js +0 -468
@@ -3,22 +3,68 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
4
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
5
5
  import * as React from "react";
6
- import { useState, useRef } from "react";
6
+ import { useState, useEffect, useRef } from "react";
7
7
  import styles from "./index.module.less";
8
8
  import { Button, DatePicker } from "antd";
9
- import { CustomArrow, CalendarOutlined } from "../icons/index";
9
+ import { CustomArrow } from "../icons/index";
10
10
  import dayjs from "dayjs";
11
11
  var RangePicker = DatePicker.RangePicker;
12
+ var months = [
13
+ "一",
14
+ "二",
15
+ "三",
16
+ "四",
17
+ "五",
18
+ "六",
19
+ "七",
20
+ "八",
21
+ "九",
22
+ "十",
23
+ "十一",
24
+ "十二"
25
+ ];
12
26
  var BhdDatePicker = function(props) {
13
- 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, _props_label = props.label, label = _props_label === void 0 ? "" : _props_label, 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;
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;
14
28
  var bhdDatePickerRef = useRef(null);
15
29
  var _useState = _sliced_to_array(useState(false), 2), open = _useState[0], setOpen = _useState[1];
16
- var _useState1 = _sliced_to_array(useState(value), 2), selectedDate = _useState1[0], setSelectedDate = _useState1[1];
17
- var _useState2 = _sliced_to_array(useState(null), 2), selectedDateString = _useState2[0], setSelectedDateString = _useState2[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];
18
37
  var selectedDateRef = useRef(value);
19
38
  var selectedDateStringRef = useRef(null);
20
- var _useState3 = _sliced_to_array(useState(value), 2), selectedRangeDate = _useState3[0], setSelectedRangeDate = _useState3[1];
21
- var _useState4 = _sliced_to_array(useState([]), 2), selectedRangeDateString = _useState4[0], setSelectedRangeDateString = _useState4[1];
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
+ ]);
22
68
  var getConfig = function() {
23
69
  var config = _object_spread({}, props);
24
70
  delete config.cellRender;
@@ -37,6 +83,7 @@ var BhdDatePicker = function(props) {
37
83
  delete config.onOk;
38
84
  delete config.onChange;
39
85
  delete config.presets;
86
+ delete config.mode;
40
87
  if (kind === "single" || kind === "extra") {
41
88
  delete config.value;
42
89
  }
@@ -48,47 +95,61 @@ var BhdDatePicker = function(props) {
48
95
  }
49
96
  return config;
50
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
+ };
51
109
  //单元格渲染
52
110
  var cellRender = function(current, info) {
53
- if (info.type !== "date") {
54
- return info.originNode;
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
+ });
55
130
  }
56
- if (typeof current === "number" || typeof current === "string") {
131
+ if (info.type === "month") {
57
132
  return /*#__PURE__*/ _jsx("div", {
58
133
  className: "bhd-picker-cell-inner",
59
- children: current
60
- });
61
- }
62
- var extraItem = null;
63
- if (kind === "extra") {
64
- extraItem = extraItems === null || extraItems === void 0 ? void 0 : extraItems.find(function(item) {
65
- return item.date.format("YYYYMMDD") === current.format("YYYYMMDD");
134
+ children: months[Number(current.format("M")) - 1] + "月"
66
135
  });
67
136
  }
68
- return /*#__PURE__*/ _jsx(_Fragment, {
69
- children: /*#__PURE__*/ _jsxs("div", {
70
- className: "bhd-picker-cell-inner",
71
- children: [
72
- current.format("DD"),
73
- kind === "extra" && extraItem && /*#__PURE__*/ _jsx("div", {
74
- className: "extraText ".concat(extraItem.status),
75
- children: extraItem.text
76
- })
77
- ]
78
- })
79
- });
137
+ return info.originNode;
80
138
  };
81
139
  //日期禁用
82
140
  var disabledDate = function(current) {
83
- if (extraReadonly) {
84
- return true;
85
- }
141
+ // if (extraReadonly) {
142
+ // return true;
143
+ // }
86
144
  // 不能选择的是没有日程安排的
87
145
  var extraItem = null;
88
146
  if (kind === "extra") {
89
147
  extraItem = extraItems === null || extraItems === void 0 ? void 0 : extraItems.find(function(item) {
90
148
  return item.date.format("YYYYMMDD") === current.format("YYYYMMDD");
91
149
  });
150
+ if (extraReadonly && extraItem) {
151
+ return false;
152
+ }
92
153
  }
93
154
  return !extraItem || current && extraItem.status === "noselectable";
94
155
  };
@@ -127,23 +188,25 @@ var BhdDatePicker = function(props) {
127
188
  var renderPresets = function() {
128
189
  return /*#__PURE__*/ _jsx("li", {
129
190
  className: "bhd-picker-presets",
130
- children: presets.map(function(item) {
191
+ children: presets.map(function(item, index) {
131
192
  return /*#__PURE__*/ _jsx("a", {
132
193
  className: "bhd-picker-preset-btn",
133
194
  onClick: function() {
134
195
  presetClick(item.value);
135
196
  },
136
197
  children: item.label
137
- });
198
+ }, index);
138
199
  })
139
200
  });
140
201
  };
141
202
  // 日期选择确认
142
203
  var okClick = function() {
143
204
  if (kind === "range") {
144
- if (selectedRangeDate && selectedRangeDateString) {
205
+ if (selectedRangeDate[0] && selectedRangeDate[1] && selectedRangeDateString[0] && selectedRangeDateString[1]) {
145
206
  onChange && onChange(selectedRangeDate, selectedRangeDateString);
146
207
  setOpen(false);
208
+ } else {
209
+ setOpen(true);
147
210
  }
148
211
  } else {
149
212
  if (selectedDate && selectedDateString) {
@@ -168,148 +231,146 @@ var BhdDatePicker = function(props) {
168
231
  onChange && onChange(value, todayString);
169
232
  setOpen(false);
170
233
  };
171
- return /*#__PURE__*/ _jsxs("div", {
234
+ return /*#__PURE__*/ _jsxs("span", {
172
235
  className: "".concat(styles.bhdDatePicker),
173
236
  ref: bhdDatePickerRef,
174
237
  children: [
175
- kind === "single" && /*#__PURE__*/ _jsxs(_Fragment, {
176
- children: [
177
- useType === "table" && /*#__PURE__*/ _jsxs("span", {
178
- className: styles.pickerLabel,
179
- onClick: function() {
180
- setOpen(true);
181
- },
182
- children: [
183
- label,
184
- /*#__PURE__*/ _jsx(CalendarOutlined, {})
185
- ]
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
+ }
186
248
  }),
187
- /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
188
- className: "".concat(className, " ").concat(useType === "table" ? "hide" : ""),
189
- popupClassName: "".concat(styles.bhdDatePickerPopup, " ").concat(styles.singlePicker, " ").concat(popupClassName || ""),
190
- cellRender: cellRender,
191
- prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
192
- style: {
193
- transform: "rotate(90deg)"
194
- }
195
- }),
196
- nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
197
- style: {
198
- transform: "rotate(-90deg)"
199
- }
200
- }),
201
- superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
202
- style: {
203
- transform: "rotate(90deg)"
204
- }
205
- }),
206
- superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
207
- style: {
208
- transform: "rotate(-90deg)"
209
- }
210
- }),
211
- open: open,
212
- showNow: showTime ? showNow : false,
213
- value: selectedDate,
214
- onChange: function(date, dateString) {
215
- setSelectedDate(function(prevState) {
216
- selectedDateRef.current = date;
217
- return selectedDateRef.current;
218
- });
219
- setSelectedDateString(function(prevState) {
220
- selectedDateStringRef.current = dateString;
221
- return selectedDateStringRef.current;
222
- });
223
- console.log({
224
- selectedDate: selectedDateRef.current,
225
- selectedDateString: selectedDateStringRef.current
226
- });
227
- },
228
- onOk: function() {
229
- if (showTime) {
230
- setTimeout(function() {
231
- console.log({
232
- selectedDate: selectedDateRef.current,
233
- selectedDateString: selectedDateStringRef.current
234
- });
235
- onChange && onChange(selectedDateRef.current, selectedDateStringRef.current);
236
- setOpen(false);
237
- }, 0);
238
- }
239
- onOk && onOk();
240
- },
241
- onClick: function() {
242
- setOpen(true);
243
- onClick && onClick();
244
- },
245
- onBlur: function() {
246
- okClick();
247
- setOpen(false);
248
- onBlur && onBlur();
249
- },
250
- renderExtraFooter: renderExtraFooter
251
- }))
252
- ]
253
- }),
254
- kind === "range" && /*#__PURE__*/ _jsxs(_Fragment, {
255
- children: [
256
- useType === "table" && /*#__PURE__*/ _jsxs("span", {
257
- className: styles.pickerLabel,
258
- onClick: function() {
259
- setOpen(true);
260
- },
261
- children: [
262
- label,
263
- /*#__PURE__*/ _jsx(CalendarOutlined, {})
264
- ]
249
+ nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
250
+ style: {
251
+ transform: "rotate(-90deg)"
252
+ }
265
253
  }),
266
- /*#__PURE__*/ _jsx(RangePicker, _object_spread_props(_object_spread({}, getConfig()), {
267
- className: "".concat(className, " ").concat(useType === "table" ? "hide" : ""),
268
- popupClassName: "".concat(styles.bhdDatePickerPopup, " ").concat(styles.rangePicker, " ").concat(popupClassName || ""),
269
- cellRender: cellRender,
270
- prevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
271
- style: {
272
- transform: "rotate(90deg)"
273
- }
274
- }),
275
- nextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
276
- style: {
277
- transform: "rotate(-90deg)"
278
- }
279
- }),
280
- superPrevIcon: /*#__PURE__*/ _jsx(CustomArrow, {
281
- style: {
282
- transform: "rotate(90deg)"
283
- }
284
- }),
285
- superNextIcon: /*#__PURE__*/ _jsx(CustomArrow, {
286
- style: {
287
- transform: "rotate(-90deg)"
288
- }
289
- }),
290
- open: open,
291
- showNow: false,
292
- value: selectedRangeDate,
293
- onClick: function() {
294
- setOpen(true);
295
- onClick && onClick();
296
- },
297
- onCalendarChange: function(dates, dateStrings, info) {
298
- setSelectedRangeDate(dates);
299
- setSelectedRangeDateString(dateStrings);
300
- },
301
- onBlur: function() {
302
- if ((selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[0]) && (selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[1])) {
303
- okClick();
304
- setOpen(false);
305
- } else if (!(selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[0]) && !(selectedRangeDate === null || selectedRangeDate === void 0 ? void 0 : selectedRangeDate[1])) {
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);
306
296
  setOpen(false);
307
- }
308
- onBlur && onBlur();
309
- },
310
- renderExtraFooter: renderExtraFooter
311
- }))
312
- ]
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
+ }))
313
374
  }),
314
375
  kind === "extra" && /*#__PURE__*/ _jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
315
376
  className: "".concat(className, " ").concat(useType === "table" ? "hide" : ""),
@@ -337,8 +398,18 @@ var BhdDatePicker = function(props) {
337
398
  }),
338
399
  disabledDate: disabledDate,
339
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
+ },
340
410
  open: open,
341
411
  showNow: false,
412
+ defaultPickerValue: selectedDate,
342
413
  value: selectedDate,
343
414
  onChange: function(date, dateString) {
344
415
  setSelectedDate(date);
@@ -355,10 +426,6 @@ var BhdDatePicker = function(props) {
355
426
  setOpen(false);
356
427
  onBlur && onBlur();
357
428
  },
358
- panelRender: function(panelNode) {
359
- console.log(panelNode);
360
- return panelNode;
361
- },
362
429
  renderExtraFooter: extraReadonly ? null : renderExtraFooter
363
430
  }))
364
431
  ]