@sheinx/base 3.4.0-beta.4 → 3.4.0-beta.6

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 (159) hide show
  1. package/cjs/absolute-list/absolute-list.d.ts.map +1 -1
  2. package/cjs/absolute-list/absolute-list.js +25 -14
  3. package/cjs/absolute-list/absolute-list.type.d.ts +4 -0
  4. package/cjs/absolute-list/absolute-list.type.d.ts.map +1 -1
  5. package/cjs/cascader/cascader.js +2 -2
  6. package/cjs/checkbox/checkbox-group.d.ts.map +1 -1
  7. package/cjs/checkbox/checkbox-group.js +4 -0
  8. package/cjs/date-picker/confirm.d.ts +5 -0
  9. package/cjs/date-picker/confirm.d.ts.map +1 -0
  10. package/cjs/date-picker/confirm.js +31 -0
  11. package/cjs/date-picker/confirm.type.d.ts +5 -0
  12. package/cjs/date-picker/confirm.type.d.ts.map +1 -0
  13. package/cjs/date-picker/confirm.type.js +5 -0
  14. package/cjs/date-picker/date-picker.d.ts.map +1 -1
  15. package/cjs/date-picker/date-picker.js +37 -6
  16. package/cjs/date-picker/date-picker.type.d.ts +23 -2
  17. package/cjs/date-picker/date-picker.type.d.ts.map +1 -1
  18. package/cjs/date-picker/day.d.ts.map +1 -1
  19. package/cjs/date-picker/day.js +35 -15
  20. package/cjs/date-picker/month.d.ts.map +1 -1
  21. package/cjs/date-picker/month.js +5 -1
  22. package/cjs/date-picker/picker.d.ts.map +1 -1
  23. package/cjs/date-picker/picker.js +27 -4
  24. package/cjs/date-picker/picker.type.d.ts +6 -2
  25. package/cjs/date-picker/picker.type.d.ts.map +1 -1
  26. package/cjs/date-picker/quarter.d.ts.map +1 -1
  27. package/cjs/date-picker/quarter.js +5 -1
  28. package/cjs/date-picker/quick.d.ts.map +1 -1
  29. package/cjs/date-picker/quick.js +23 -5
  30. package/cjs/date-picker/quick.type.d.ts +1 -0
  31. package/cjs/date-picker/quick.type.d.ts.map +1 -1
  32. package/cjs/date-picker/time.d.ts.map +1 -1
  33. package/cjs/date-picker/time.js +13 -7
  34. package/cjs/date-picker/year.d.ts.map +1 -1
  35. package/cjs/date-picker/year.js +5 -1
  36. package/cjs/form/form-footer-context.d.ts.map +1 -1
  37. package/cjs/form/form-footer-context.js +6 -2
  38. package/cjs/form/form.d.ts.map +1 -1
  39. package/cjs/form/form.js +3 -1
  40. package/cjs/link/link.js +2 -1
  41. package/cjs/link/link.type.d.ts +1 -1
  42. package/cjs/link/link.type.d.ts.map +1 -1
  43. package/cjs/select/list-columns.js +1 -1
  44. package/cjs/select/list-option.d.ts.map +1 -1
  45. package/cjs/select/list-option.js +23 -3
  46. package/cjs/select/list-option.type.d.ts +2 -0
  47. package/cjs/select/list-option.type.d.ts.map +1 -1
  48. package/cjs/select/list.d.ts.map +1 -1
  49. package/cjs/select/list.js +7 -13
  50. package/cjs/select/result-more.d.ts +2 -2
  51. package/cjs/select/result-more.d.ts.map +1 -1
  52. package/cjs/select/result-more.js +2 -2
  53. package/cjs/select/result-more.type.d.ts +1 -1
  54. package/cjs/select/result-more.type.d.ts.map +1 -1
  55. package/cjs/select/select.type.d.ts +6 -3
  56. package/cjs/select/select.type.d.ts.map +1 -1
  57. package/cjs/table/table.d.ts.map +1 -1
  58. package/cjs/table/table.js +11 -3
  59. package/cjs/table/table.type.d.ts +7 -5
  60. package/cjs/table/table.type.d.ts.map +1 -1
  61. package/cjs/table/tbody.d.ts.map +1 -1
  62. package/cjs/table/tbody.js +1 -0
  63. package/cjs/table/tr.d.ts +1 -0
  64. package/cjs/table/tr.d.ts.map +1 -1
  65. package/cjs/table/tr.js +9 -6
  66. package/cjs/tabs/tabs.d.ts.map +1 -1
  67. package/cjs/tabs/tabs.js +13 -14
  68. package/cjs/tag/tag.js +2 -2
  69. package/cjs/tag/use-tag.js +2 -2
  70. package/cjs/tooltip/tooltip.d.ts.map +1 -1
  71. package/cjs/tooltip/tooltip.js +18 -6
  72. package/cjs/tooltip/tooltip.type.d.ts +4 -0
  73. package/cjs/tooltip/tooltip.type.d.ts.map +1 -1
  74. package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
  75. package/cjs/virtual-scroll/scroll.js +11 -1
  76. package/cjs/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  77. package/cjs/virtual-scroll/virtual-scroll-list.js +147 -20
  78. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts +1 -0
  79. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  80. package/esm/absolute-list/absolute-list.d.ts.map +1 -1
  81. package/esm/absolute-list/absolute-list.js +25 -14
  82. package/esm/absolute-list/absolute-list.type.d.ts +4 -0
  83. package/esm/absolute-list/absolute-list.type.d.ts.map +1 -1
  84. package/esm/cascader/cascader.js +2 -2
  85. package/esm/checkbox/checkbox-group.d.ts.map +1 -1
  86. package/esm/checkbox/checkbox-group.js +6 -2
  87. package/esm/date-picker/confirm.d.ts +5 -0
  88. package/esm/date-picker/confirm.d.ts.map +1 -0
  89. package/esm/date-picker/confirm.js +24 -0
  90. package/esm/date-picker/confirm.type.d.ts +5 -0
  91. package/esm/date-picker/confirm.type.d.ts.map +1 -0
  92. package/esm/date-picker/confirm.type.js +1 -0
  93. package/esm/date-picker/date-picker.d.ts.map +1 -1
  94. package/esm/date-picker/date-picker.js +37 -6
  95. package/esm/date-picker/date-picker.type.d.ts +23 -2
  96. package/esm/date-picker/date-picker.type.d.ts.map +1 -1
  97. package/esm/date-picker/day.d.ts.map +1 -1
  98. package/esm/date-picker/day.js +35 -15
  99. package/esm/date-picker/month.d.ts.map +1 -1
  100. package/esm/date-picker/month.js +5 -1
  101. package/esm/date-picker/picker.d.ts.map +1 -1
  102. package/esm/date-picker/picker.js +27 -4
  103. package/esm/date-picker/picker.type.d.ts +6 -2
  104. package/esm/date-picker/picker.type.d.ts.map +1 -1
  105. package/esm/date-picker/quarter.d.ts.map +1 -1
  106. package/esm/date-picker/quarter.js +5 -1
  107. package/esm/date-picker/quick.d.ts.map +1 -1
  108. package/esm/date-picker/quick.js +20 -5
  109. package/esm/date-picker/quick.type.d.ts +1 -0
  110. package/esm/date-picker/quick.type.d.ts.map +1 -1
  111. package/esm/date-picker/time.d.ts.map +1 -1
  112. package/esm/date-picker/time.js +13 -7
  113. package/esm/date-picker/year.d.ts.map +1 -1
  114. package/esm/date-picker/year.js +5 -1
  115. package/esm/form/form-footer-context.d.ts.map +1 -1
  116. package/esm/form/form-footer-context.js +6 -2
  117. package/esm/form/form.d.ts.map +1 -1
  118. package/esm/form/form.js +3 -1
  119. package/esm/link/link.js +2 -1
  120. package/esm/link/link.type.d.ts +1 -1
  121. package/esm/link/link.type.d.ts.map +1 -1
  122. package/esm/select/list-columns.js +1 -1
  123. package/esm/select/list-option.d.ts.map +1 -1
  124. package/esm/select/list-option.js +23 -3
  125. package/esm/select/list-option.type.d.ts +2 -0
  126. package/esm/select/list-option.type.d.ts.map +1 -1
  127. package/esm/select/list.d.ts.map +1 -1
  128. package/esm/select/list.js +7 -13
  129. package/esm/select/result-more.d.ts +2 -2
  130. package/esm/select/result-more.d.ts.map +1 -1
  131. package/esm/select/result-more.js +2 -2
  132. package/esm/select/result-more.type.d.ts +1 -1
  133. package/esm/select/result-more.type.d.ts.map +1 -1
  134. package/esm/select/select.type.d.ts +6 -3
  135. package/esm/select/select.type.d.ts.map +1 -1
  136. package/esm/table/table.d.ts.map +1 -1
  137. package/esm/table/table.js +12 -4
  138. package/esm/table/table.type.d.ts +7 -5
  139. package/esm/table/table.type.d.ts.map +1 -1
  140. package/esm/table/tbody.d.ts.map +1 -1
  141. package/esm/table/tbody.js +1 -0
  142. package/esm/table/tr.d.ts +1 -0
  143. package/esm/table/tr.d.ts.map +1 -1
  144. package/esm/table/tr.js +9 -6
  145. package/esm/tabs/tabs.d.ts.map +1 -1
  146. package/esm/tabs/tabs.js +13 -14
  147. package/esm/tag/tag.js +2 -2
  148. package/esm/tag/use-tag.js +2 -2
  149. package/esm/tooltip/tooltip.d.ts.map +1 -1
  150. package/esm/tooltip/tooltip.js +20 -8
  151. package/esm/tooltip/tooltip.type.d.ts +4 -0
  152. package/esm/tooltip/tooltip.type.d.ts.map +1 -1
  153. package/esm/virtual-scroll/scroll.d.ts.map +1 -1
  154. package/esm/virtual-scroll/scroll.js +12 -2
  155. package/esm/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  156. package/esm/virtual-scroll/virtual-scroll-list.js +147 -20
  157. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts +1 -0
  158. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  159. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"absolute-list.d.ts","sourceRoot":"","sources":["absolute-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,QAAA,MAAM,YAAY,UAAW,iBAAiB;;sBA6D7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"absolute-list.d.ts","sourceRoot":"","sources":["absolute-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,QAAA,MAAM,YAAY,UAAW,iBAAiB;;sBAwE7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -27,6 +27,7 @@ var AbsoluteList = function AbsoluteList(props) {
27
27
  _props$zIndex = props.zIndex,
28
28
  zIndex = _props$zIndex === void 0 ? 1051 : _props$zIndex,
29
29
  focus = props.focus,
30
+ arrowRef = props.arrowRef,
30
31
  popupElRef = props.popupElRef,
31
32
  updateKey = props.updateKey,
32
33
  popupGap = props.popupGap,
@@ -45,23 +46,33 @@ var AbsoluteList = function AbsoluteList(props) {
45
46
  rendered: false
46
47
  }),
47
48
  context = _useRef.current;
48
- var style = (0, _hooks.usePositionStyle)({
49
- getContainer: getRoot,
50
- position: position,
51
- absolute: !!absolute,
52
- parentElRef: parentElRef,
53
- show: focus,
54
- fixedWidth: fixedWidth,
55
- zIndex: zIndex,
56
- scrollElRef: scrollElRef,
57
- popupElRef: popupElRef,
58
- updateKey: updateKey,
59
- popupGap: popupGap,
60
- adjust: adjust
61
- });
49
+ var _usePositionStyle = (0, _hooks.usePositionStyle)({
50
+ getContainer: getRoot,
51
+ position: position,
52
+ absolute: !!absolute,
53
+ parentElRef: parentElRef,
54
+ show: focus,
55
+ fixedWidth: fixedWidth,
56
+ zIndex: zIndex,
57
+ scrollElRef: scrollElRef,
58
+ popupElRef: popupElRef,
59
+ updateKey: updateKey,
60
+ popupGap: popupGap,
61
+ adjust: adjust
62
+ }),
63
+ style = _usePositionStyle.style,
64
+ arrayStyle = _usePositionStyle.arrayStyle;
62
65
  var childStyle = children.props.style;
63
66
  var newStyle = _objectSpread(_objectSpread({}, style), childStyle);
64
67
  if ( /*#__PURE__*/_react.default.isValidElement(children) === false) return null;
68
+ if (arrowRef && arrayStyle && Object.keys(arrayStyle).length > 0) {
69
+ Object.keys(arrayStyle).forEach(function (key) {
70
+ if (arrowRef.current) {
71
+ // @ts-ignore
72
+ arrowRef.current.style[key] = arrayStyle[key];
73
+ }
74
+ });
75
+ }
65
76
  var styledChild = /*#__PURE__*/_react.default.cloneElement(children, {
66
77
  style: newStyle
67
78
  });
@@ -29,9 +29,13 @@ export interface AbsoluteListProps {
29
29
  scrollElRef?: React.RefObject<HTMLElement>;
30
30
  scrollLeft?: number;
31
31
  scrollTop?: number;
32
+ arrowRef?: React.RefObject<HTMLElement>;
32
33
  popupElRef: React.RefObject<HTMLElement>;
33
34
  destroy?: boolean;
34
35
  adjust?: boolean;
35
36
  lazy?: boolean;
37
+ arrowStyleRef?: React.RefObject<{
38
+ style: React.CSSProperties;
39
+ }>;
36
40
  }
37
41
  //# sourceMappingURL=absolute-list.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"absolute-list.type.d.ts","sourceRoot":"","sources":["absolute-list.type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAEb,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAE5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
1
+ {"version":3,"file":"absolute-list.type.d.ts","sourceRoot":"","sources":["absolute-list.type.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAEb,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAE5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAA;KAAE,CAAC,CAAC;CACjE"}
@@ -315,8 +315,8 @@ var Cascader = function Cascader(props0) {
315
315
  return;
316
316
  }
317
317
  };
318
- var handleChange = function handleChange(item) {
319
- onChange === null || onChange === void 0 || onChange(item);
318
+ var handleChange = function handleChange(item, selectId) {
319
+ onChange === null || onChange === void 0 || onChange(item, selectId);
320
320
  };
321
321
  var handleClear = function handleClear(e) {
322
322
  e.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["checkbox-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQ3D,QAAA,MAAM,KAAK;;;oBA2FG,GAAG;wBACC,GAAG;;CAHpB,CAAC;AAMF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["checkbox-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQ3D,QAAA,MAAM,KAAK;;;oBAiGG,GAAG;wBACC,GAAG;;CAHpB,CAAC;AAMF,eAAe,KAAK,CAAC"}
@@ -48,6 +48,10 @@ var Group = function Group(props0) {
48
48
  } else {
49
49
  datum.remove(raw);
50
50
  }
51
+ if (children && /*#__PURE__*/_react.default.isValidElement(children)) {
52
+ var _children$props$onCha, _children$props;
53
+ (_children$props$onCha = (_children$props = children.props).onChange) === null || _children$props$onCha === void 0 || _children$props$onCha.call(_children$props, _, checked, children.props.htmlValue);
54
+ }
51
55
  });
52
56
  var isChecked = (0, _hooks.usePersistFn)(function (d) {
53
57
  return datum.check(d);
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { ConfirmProps } from './confirm.type';
3
+ declare const Confirm: (props: ConfirmProps) => JSX.Element;
4
+ export default Confirm;
5
+ //# sourceMappingURL=confirm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["confirm.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,QAAA,MAAM,OAAO,UAAW,YAAY,gBAkBnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _config = require("../config");
9
+ var _button = _interopRequireDefault(require("../button"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ var Confirm = function Confirm(props) {
13
+ var _jssStyle$datePicker;
14
+ var jssStyle = props.jssStyle,
15
+ closeByConfirm = props.closeByConfirm;
16
+ var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
17
+ var _useConfig = (0, _config.useConfig)(),
18
+ locale = _useConfig.locale;
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
20
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterConfirm,
21
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.default, {
22
+ size: 'small',
23
+ type: "primary",
24
+ jssStyle: jssStyle,
25
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterBtn,
26
+ onClick: closeByConfirm,
27
+ children: (0, _config.getLocale)(locale, 'ok')
28
+ })
29
+ });
30
+ };
31
+ var _default = exports.default = Confirm;
@@ -0,0 +1,5 @@
1
+ import type { CommonPickerProps } from './picker.type';
2
+ export interface ConfirmProps extends Pick<CommonPickerProps, 'jssStyle'> {
3
+ closeByConfirm?: () => void;
4
+ }
5
+ //# sourceMappingURL=confirm.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.type.d.ts","sourceRoot":"","sources":["confirm.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC;IACvE,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["date-picker.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAiB1E,QAAA,MAAM,UAAU,oFA8Rf,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["date-picker.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAiB1E,QAAA,MAAM,UAAU,oFAwTf,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -59,16 +59,28 @@ var DatePicker = function DatePicker(props0) {
59
59
  _React$useState2 = _slicedToArray(_React$useState, 2),
60
60
  activeIndex = _React$useState2[0],
61
61
  setActiveIndex = _React$useState2[1];
62
+ var _React$useState3 = _react.default.useState(0),
63
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
64
+ clickTimes = _React$useState4[0],
65
+ setClickTimes = _React$useState4[1];
66
+ var _React$useState5 = _react.default.useState(false),
67
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
68
+ isCloseFromConfirm = _React$useState6[0],
69
+ setIsCloseFromConfirm = _React$useState6[1];
70
+ var _React$useState7 = _react.default.useState([]),
71
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
72
+ oldDateArr = _React$useState8[0],
73
+ setOldDateArr = _React$useState8[1];
62
74
  var inputRef = (0, _react.useRef)({
63
75
  inputRef: null
64
76
  });
65
77
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
66
78
  var isRTL = direction === 'rtl';
67
79
  var dfp = isRTL ? 'bottom-right' : 'bottom-left';
68
- var _React$useState3 = _react.default.useState(false),
69
- _React$useState4 = _slicedToArray(_React$useState3, 2),
70
- focused = _React$useState4[0],
71
- setFocused = _React$useState4[1];
80
+ var _React$useState9 = _react.default.useState(false),
81
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
82
+ focused = _React$useState10[0],
83
+ setFocused = _React$useState10[1];
72
84
  var listPosition = props.position || dfp;
73
85
  if (horizontalPosition.includes(listPosition)) {
74
86
  listPosition = listPosition.split('-').reverse().join('-');
@@ -96,6 +108,7 @@ var DatePicker = function DatePicker(props0) {
96
108
  clearable: clearable,
97
109
  disabled: disabled,
98
110
  clearWithUndefined: props.clearWithUndefined,
111
+ clearToUndefined: props.clearToUndefined,
99
112
  onClear: undefined,
100
113
  allowSingle: props.allowSingle,
101
114
  defaultCurrent: props.defaultPickerValue || props.defaultRangeMonth,
@@ -114,9 +127,20 @@ var DatePicker = function DatePicker(props0) {
114
127
  var onCollapse = (0, _hooks.usePersistFn)(function (isOpen) {
115
128
  var _props$onCollapse;
116
129
  if (isOpen) {
130
+ setOldDateArr(dateArr);
117
131
  func.startEdit();
118
132
  } else {
119
- func.finishEdit();
133
+ setClickTimes(0);
134
+ if (props.needConfirm) {
135
+ if (!isCloseFromConfirm) {
136
+ func.handleClear();
137
+ // 点击空白处关闭面板时,还原到上次的值
138
+ func.setDateArr(oldDateArr);
139
+ }
140
+ } else {
141
+ func.finishEdit();
142
+ }
143
+ setIsCloseFromConfirm(false);
120
144
  }
121
145
  (_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 || _props$onCollapse.call(props, isOpen);
122
146
  });
@@ -160,9 +184,13 @@ var DatePicker = function DatePicker(props0) {
160
184
  setFocused(false);
161
185
  (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
162
186
  });
163
- var handleClose = function handleClose() {
187
+ var handleClose = function handleClose(isFromConfirm) {
164
188
  var _inputRef$current$inp;
189
+ setIsCloseFromConfirm(isFromConfirm || false);
165
190
  closePop();
191
+ if (isFromConfirm) {
192
+ func.finishEdit();
193
+ }
166
194
  (_inputRef$current$inp = inputRef.current.inputRef) === null || _inputRef$current$inp === void 0 || _inputRef$current$inp.blur();
167
195
  };
168
196
  var handleResultClick = (0, _hooks.usePersistFn)(function () {
@@ -271,12 +299,15 @@ var DatePicker = function DatePicker(props0) {
271
299
  disabledTime: props.disabledTime,
272
300
  quickSelect: props.quickSelect,
273
301
  showSelNow: props.showSelNow,
302
+ clickTimes: clickTimes,
303
+ setClickTimes: setClickTimes,
274
304
  setActiveIndex: setActiveIndex,
275
305
  hourStep: props.hourStep,
276
306
  minuteStep: props.minuteStep,
277
307
  secondStep: props.secondStep,
278
308
  registerModeDisabled: func.registerModeDisabled,
279
309
  isDisabledDate: func.isDisabledDate,
310
+ needConfirm: props.needConfirm,
280
311
  children: props.children
281
312
  })
282
313
  })
@@ -5,6 +5,7 @@ import { ButtonClasses } from '../button/button.type';
5
5
  import { InnerTitleClasses } from '../common/use-inner-title';
6
6
  import { BaseTipProps } from '../common/use-tip';
7
7
  import { PopoverClasses } from '../popover/popover.type';
8
+ import { LinkClasses } from '../link/link.type';
8
9
  import type { DatePickerValueType, DateTimeType } from '@sheinx/hooks';
9
10
  export type { DateTimeType, DatePickerValueType, DatePickerModeType } from '@sheinx/hooks';
10
11
  export type AreaType = 'year' | 'month' | 'week' | 'day' | 'time' | 'quick' | 'quarter';
@@ -63,10 +64,14 @@ export interface DatePickerClasses {
63
64
  pickerCellInRange: string;
64
65
  pickerCellInRangeStart: string;
65
66
  pickerCellInRangeEnd: string;
67
+ pickerRange: string;
68
+ pickerRangeBody: string;
69
+ pickerRangeFooter: string;
66
70
  pickerFooter: string;
67
71
  pickerFooterBtn: string;
68
- pickerFooterLeft: string;
69
- pickerFooterRight: string;
72
+ pickerFooterTime: string;
73
+ pickerFooterNow: string;
74
+ pickerFooterConfirm: string;
70
75
  dayPicker: string;
71
76
  weekPicker: string;
72
77
  yearPicker: string;
@@ -82,11 +87,13 @@ export interface DatePickerClasses {
82
87
  datetimeHide: string;
83
88
  quickPicker: string;
84
89
  quickPickerItem: string;
90
+ quickPickerActiveItem: string;
85
91
  }
86
92
  export type DisabledType = 'start' | 'end';
87
93
  interface DatePickerJssStyle {
88
94
  datePicker?: () => DatePickerClasses;
89
95
  button?: () => ButtonClasses;
96
+ link?: () => LinkClasses;
90
97
  innerTitle?: () => InnerTitleClasses;
91
98
  popover?: () => PopoverClasses;
92
99
  }
@@ -188,6 +195,13 @@ export interface DatePickerProps<Value extends DatePickerValueType> extends Pick
188
195
  * @default false
189
196
  */
190
197
  clearWithUndefined?: boolean;
198
+ /**
199
+ * @en After clicking the clear button, the data becomes undefined
200
+ * @cn 点击清除按钮后数据变为 undefined
201
+ * @default false
202
+ * @version 3.4.0
203
+ */
204
+ clearToUndefined?: boolean;
191
205
  /**
192
206
  * @en allow single select, only in range can set
193
207
  * @cn 是否允许单选, 仅在 range 模式下有效
@@ -295,6 +309,13 @@ export interface DatePickerProps<Value extends DatePickerValueType> extends Pick
295
309
  * @default true
296
310
  */
297
311
  adjust?: boolean;
312
+ /**
313
+ * @en Whether to open the manual confirmation button. After opening, only clicking the confirmation button will submit the selected value.
314
+ * @cn 是否开启手动确认按钮,开启后只有点击确认按钮才会提交选择的值。
315
+ * @default false
316
+ * @version 3.4.0
317
+ */
318
+ needConfirm?: boolean;
298
319
  }
299
320
  export interface QuickSelectType {
300
321
  name: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.type.d.ts","sourceRoot":"","sources":["date-picker.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-picker.type.d.ts","sourceRoot":"","sources":["date-picker.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"day.d.ts","sourceRoot":"","sources":["day.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,QAAA,MAAM,GAAG,UAAW,QAAQ,gBAkQ3B,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"day.d.ts","sourceRoot":"","sources":["day.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,QAAA,MAAM,GAAG,UAAW,QAAQ,gBAsR3B,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -10,8 +10,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _icons = _interopRequireDefault(require("../icons"));
11
11
  var _config = require("../config");
12
12
  var _time = _interopRequireDefault(require("./time"));
13
- var _button = _interopRequireDefault(require("../button"));
13
+ var _link = _interopRequireDefault(require("../link"));
14
14
  var _pickerTitle = _interopRequireDefault(require("./pickerTitle"));
15
+ var _confirm = _interopRequireDefault(require("./confirm"));
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
@@ -28,8 +29,8 @@ var Day = function Day(props) {
28
29
  direction = _useConfig.direction;
29
30
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
30
31
  var areaType = props.type === 'week' ? 'week' : 'day';
31
- var onChange = (0, _hooks.usePersistFn)(function (date) {
32
- props.onChange(date, props.type === 'datetime');
32
+ var onChange = (0, _hooks.usePersistFn)(function (date, noClose) {
33
+ props.onChange(date, noClose || props.type === 'datetime');
33
34
  props.setTarget(undefined);
34
35
  });
35
36
  var setCurrent = (0, _hooks.usePersistFn)(function (date) {
@@ -59,7 +60,10 @@ var Day = function Day(props) {
59
60
  var now = new Date();
60
61
  if (func.isDisabled(now)) return;
61
62
  props.setCurrent(new Date(), areaType);
62
- props.onChange(new Date(), props.type === 'datetime');
63
+ props.onChange(new Date(), props.needConfirm || props.type === 'datetime');
64
+ setTimeout(function () {
65
+ if (props.closeByConfirm && !props.range) props.closeByConfirm();
66
+ }, 0);
63
67
  };
64
68
  var renderDay = function renderDay(item, index) {
65
69
  var isActive = func.isActive(item);
@@ -71,7 +75,12 @@ var Day = function Day(props) {
71
75
  dir: direction,
72
76
  className: (0, _classnames.default)(styles === null || styles === void 0 ? void 0 : styles.pickerCell, isActive && (styles === null || styles === void 0 ? void 0 : styles.pickerCellActive), !isCurrentMonth && (styles === null || styles === void 0 ? void 0 : styles.pickerCellBound), isDisabled && (styles === null || styles === void 0 ? void 0 : styles.pickerCellDisabled), isToday && (styles === null || styles === void 0 ? void 0 : styles.pickerCellToday), isInRange && (styles === null || styles === void 0 ? void 0 : styles.pickerCellInRange), (isInRange === 'start' || isInRange === 'start-end') && props.position === 'start' && (styles === null || styles === void 0 ? void 0 : styles.pickerCellInRangeStart), (isInRange === 'end' || isInRange === 'start-end') && props.position === 'end' && (styles === null || styles === void 0 ? void 0 : styles.pickerCellInRangeEnd)),
73
77
  onClick: function onClick() {
74
- return func.handleDayClick(item);
78
+ if (props.range) {
79
+ func.handleDayClick(item, props.needConfirm || props.clickTimes < 1);
80
+ props.setClickTimes(props.clickTimes + 1);
81
+ } else {
82
+ func.handleDayClick(item, props.needConfirm);
83
+ }
75
84
  },
76
85
  onDoubleClick: function onDoubleClick() {
77
86
  var _props$onDoubleClick;
@@ -117,7 +126,6 @@ var Day = function Day(props) {
117
126
  var renderFooter = function renderFooter() {
118
127
  var _props$rangeDate, _props$rangeDate2;
119
128
  var showLeft = props.type === 'datetime' && (((_props$rangeDate = props.rangeDate) === null || _props$rangeDate === void 0 ? void 0 : _props$rangeDate[0]) || ((_props$rangeDate2 = props.rangeDate) === null || _props$rangeDate2 === void 0 ? void 0 : _props$rangeDate2[1]));
120
- var showRight = props.showSelNow;
121
129
  var timeStr = func.getTimeStr();
122
130
  if (!showLeft && !props.showSelNow) return null;
123
131
  var format = props.format;
@@ -128,11 +136,18 @@ var Day = function Day(props) {
128
136
  // eslint-disable-next-line
129
137
  if (match) format = match[0];
130
138
  }
139
+ var showNeedConfirm = props.needConfirm && !props.range;
131
140
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
132
141
  className: styles === null || styles === void 0 ? void 0 : styles.pickerFooter,
133
142
  dir: direction,
143
+ style: {
144
+ borderTop: props.needConfirm && props.range ? 'none' : ''
145
+ },
134
146
  children: [props.type === 'datetime' && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
135
- className: (0, _classnames.default)(styles === null || styles === void 0 ? void 0 : styles.pickerFooterLeft, styles === null || styles === void 0 ? void 0 : styles.datetime, !timeStr && (styles === null || styles === void 0 ? void 0 : styles.datetimeHide)),
147
+ className: (0, _classnames.default)(styles === null || styles === void 0 ? void 0 : styles.pickerFooterTime, styles === null || styles === void 0 ? void 0 : styles.datetime, !timeStr && (styles === null || styles === void 0 ? void 0 : styles.datetimeHide)),
148
+ style: {
149
+ paddingRight: showNeedConfirm ? 0 : undefined
150
+ },
136
151
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
137
152
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
138
153
  children: _icons.default.datepicker.Time
@@ -144,25 +159,30 @@ var Day = function Day(props) {
144
159
  children: timeStr
145
160
  })]
146
161
  })
147
- }), showRight && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
148
- className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterRight,
149
- children: [props.showSelNow && props.type === 'date' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.default, {
150
- size: 'small',
151
- mode: "text",
162
+ }), props.showSelNow && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
163
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterNow,
164
+ style: {
165
+ marginRight: showNeedConfirm ? 'auto' : undefined,
166
+ paddingLeft: showNeedConfirm ? 6 : undefined
167
+ },
168
+ children: [props.showSelNow && props.type === 'date' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_link.default, {
169
+ size: "small",
152
170
  type: "primary",
153
171
  jssStyle: jssStyle,
154
172
  className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterBtn,
155
173
  onClick: selNow,
156
174
  children: (0, _config.getLocale)(locale, 'now')
157
- }), props.showSelNow && props.type === 'datetime' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.default, {
158
- size: 'small',
159
- mode: "text",
175
+ }), props.showSelNow && props.type === 'datetime' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_link.default, {
176
+ size: "small",
160
177
  type: "primary",
161
178
  jssStyle: jssStyle,
162
179
  className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterBtn,
163
180
  onClick: selNow,
164
181
  children: (0, _config.getLocale)(locale, 'current')
165
182
  })]
183
+ }), showNeedConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {
184
+ closeByConfirm: props.closeByConfirm,
185
+ jssStyle: jssStyle
166
186
  })]
167
187
  });
168
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"month.d.ts","sourceRoot":"","sources":["month.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,QAAA,MAAM,KAAK,UAAW,UAAU,gBAyH/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"month.d.ts","sourceRoot":"","sources":["month.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS1C,QAAA,MAAM,KAAK,UAAW,UAAU,gBA4H/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -10,6 +10,7 @@ var _icons = _interopRequireDefault(require("../icons"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _config = require("../config");
12
12
  var _pickerTitle = _interopRequireDefault(require("./pickerTitle"));
13
+ var _confirm = _interopRequireDefault(require("./confirm"));
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  var Month = function Month(props) {
@@ -55,7 +56,7 @@ var Month = function Month(props) {
55
56
  props.setTarget(undefined);
56
57
  },
57
58
  onClick: function onClick() {
58
- func.handleMonthClick(item);
59
+ func.handleMonthClick(item, props.needConfirm);
59
60
  },
60
61
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
61
62
  className: styles === null || styles === void 0 ? void 0 : styles.pickerCellContent,
@@ -117,6 +118,9 @@ var Month = function Month(props) {
117
118
  })
118
119
  })
119
120
  })
121
+ }), props.needConfirm && !props.range && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {
122
+ closeByConfirm: props.closeByConfirm,
123
+ jssStyle: props.jssStyle
120
124
  })]
121
125
  });
122
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["picker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,QAAA,MAAM,MAAM,UAAW,WAAW,gBAqIjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["picker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,QAAA,MAAM,MAAM,UAAW,WAAW,gBAwJjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -12,6 +12,7 @@ var _quarter = _interopRequireDefault(require("./quarter"));
12
12
  var _time = _interopRequireDefault(require("./time"));
13
13
  var _quick = _interopRequireDefault(require("./quick"));
14
14
  var _hooks = require("@sheinx/hooks");
15
+ var _confirm = _interopRequireDefault(require("./confirm"));
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
@@ -27,7 +28,8 @@ var Picker = function Picker(props) {
27
28
  dateArr = props.dateArr,
28
29
  options = props.options,
29
30
  jssStyle = props.jssStyle,
30
- isDisabledDate = props.isDisabledDate;
31
+ isDisabledDate = props.isDisabledDate,
32
+ type = props.type;
31
33
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
32
34
  var _useDatePickerRange = (0, _hooks.useDatePickerRange)({
33
35
  type: props.type,
@@ -61,6 +63,9 @@ var Picker = function Picker(props) {
61
63
  var handleLeave = (0, _hooks.usePersistFn)(function () {
62
64
  props.setActiveIndex(-1);
63
65
  });
66
+ var closeByConfirm = function closeByConfirm() {
67
+ return props.closePop(true);
68
+ };
64
69
  var renderPicker = function renderPicker(position) {
65
70
  var index = position === 'end' ? 1 : 0;
66
71
  var mode = props.mode[index];
@@ -84,7 +89,12 @@ var Picker = function Picker(props) {
84
89
  setTarget: position === 'end' ? func.setTargetEnd : func.setTargetStart,
85
90
  registerModeDisabled: props.registerModeDisabled,
86
91
  onMouseEnter: function onMouseEnter() {},
87
- onMouseLeave: function onMouseLeave() {}
92
+ onMouseLeave: function onMouseLeave() {},
93
+ range: range,
94
+ setClickTimes: props.setClickTimes,
95
+ clickTimes: props.clickTimes,
96
+ needConfirm: props.needConfirm,
97
+ closeByConfirm: closeByConfirm
88
98
  };
89
99
  if (range) {
90
100
  commonProps['onMouseEnter'] = position === 'end' ? handleEnterEnd : handleEnterStart;
@@ -140,13 +150,26 @@ var Picker = function Picker(props) {
140
150
  range: props.range,
141
151
  jssStyle: jssStyle,
142
152
  dateArr: dateArr,
153
+ type: type,
143
154
  setDateArr: props.setDateArr,
144
155
  setCurrentArr: props.setCurrentArr,
145
156
  format: props.format,
146
157
  options: props.options,
147
158
  children: props.children
148
- }), range ? ['start', 'end'].map(function (item) {
149
- return renderPicker(item);
159
+ }), range ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
160
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerRange,
161
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
162
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerRangeBody,
163
+ children: ['start', 'end'].map(function (item) {
164
+ return renderPicker(item);
165
+ })
166
+ }), props.needConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
167
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerRangeFooter,
168
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {
169
+ closeByConfirm: closeByConfirm,
170
+ jssStyle: jssStyle
171
+ })
172
+ })]
150
173
  }) : renderPicker()]
151
174
  });
152
175
  };
@@ -28,14 +28,17 @@ export interface PickerProps {
28
28
  timeZone?: string;
29
29
  weekStartsOn: number;
30
30
  };
31
- closePop: () => void;
31
+ closePop: (isFromConfirm?: boolean) => void;
32
32
  min?: DateTimeType;
33
33
  max?: DateTimeType;
34
34
  setActiveIndex: (index: number) => void;
35
35
  registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, disabled: (d: Date) => boolean) => void;
36
36
  isDisabledDate: (date: Date, position: 'start' | 'end' | undefined) => boolean;
37
+ clickTimes: number;
38
+ setClickTimes: Dispatch<SetStateAction<number>>;
39
+ needConfirm?: boolean;
37
40
  }
38
- export interface CommonPickerProps extends Pick<PickerProps, 'jssStyle' | 'options' | 'format' | 'type' | 'showSelNow' | 'registerModeDisabled' | 'children'> {
41
+ export interface CommonPickerProps extends Pick<PickerProps, 'jssStyle' | 'options' | 'format' | 'type' | 'showSelNow' | 'range' | 'setClickTimes' | 'clickTimes' | 'needConfirm' | 'registerModeDisabled' | 'children'> {
39
42
  rangeDate: Array<Date | undefined>;
40
43
  current: Date;
41
44
  setCurrent: (date: Date, type: string) => void;
@@ -49,6 +52,7 @@ export interface CommonPickerProps extends Pick<PickerProps, 'jssStyle' | 'optio
49
52
  position?: 'start' | 'end';
50
53
  onMouseEnter?: () => void;
51
54
  onMouseLeave?: () => void;
55
+ closeByConfirm?: () => void;
52
56
  }
53
57
  export interface CommonTimeProps extends Pick<PickerProps, 'disabledTime' | 'hourStep' | 'minuteStep' | 'secondStep'> {
54
58
  defaultTime: DateTimeType;