@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"}
@@ -18,6 +18,7 @@ var AbsoluteList = function AbsoluteList(props) {
18
18
  _props$zIndex = props.zIndex,
19
19
  zIndex = _props$zIndex === void 0 ? 1051 : _props$zIndex,
20
20
  focus = props.focus,
21
+ arrowRef = props.arrowRef,
21
22
  popupElRef = props.popupElRef,
22
23
  updateKey = props.updateKey,
23
24
  popupGap = props.popupGap,
@@ -36,23 +37,33 @@ var AbsoluteList = function AbsoluteList(props) {
36
37
  rendered: false
37
38
  }),
38
39
  context = _useRef.current;
39
- var style = usePositionStyle({
40
- getContainer: getRoot,
41
- position: position,
42
- absolute: !!absolute,
43
- parentElRef: parentElRef,
44
- show: focus,
45
- fixedWidth: fixedWidth,
46
- zIndex: zIndex,
47
- scrollElRef: scrollElRef,
48
- popupElRef: popupElRef,
49
- updateKey: updateKey,
50
- popupGap: popupGap,
51
- adjust: adjust
52
- });
40
+ var _usePositionStyle = usePositionStyle({
41
+ getContainer: getRoot,
42
+ position: position,
43
+ absolute: !!absolute,
44
+ parentElRef: parentElRef,
45
+ show: focus,
46
+ fixedWidth: fixedWidth,
47
+ zIndex: zIndex,
48
+ scrollElRef: scrollElRef,
49
+ popupElRef: popupElRef,
50
+ updateKey: updateKey,
51
+ popupGap: popupGap,
52
+ adjust: adjust
53
+ }),
54
+ style = _usePositionStyle.style,
55
+ arrayStyle = _usePositionStyle.arrayStyle;
53
56
  var childStyle = children.props.style;
54
57
  var newStyle = _objectSpread(_objectSpread({}, style), childStyle);
55
58
  if ( /*#__PURE__*/React.isValidElement(children) === false) return null;
59
+ if (arrowRef && arrayStyle && Object.keys(arrayStyle).length > 0) {
60
+ Object.keys(arrayStyle).forEach(function (key) {
61
+ if (arrowRef.current) {
62
+ // @ts-ignore
63
+ arrowRef.current.style[key] = arrayStyle[key];
64
+ }
65
+ });
66
+ }
56
67
  var styledChild = /*#__PURE__*/React.cloneElement(children, {
57
68
  style: newStyle
58
69
  });
@@ -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"}
@@ -308,8 +308,8 @@ var Cascader = function Cascader(props0) {
308
308
  return;
309
309
  }
310
310
  };
311
- var handleChange = function handleChange(item) {
312
- onChange === null || onChange === void 0 || onChange(item);
311
+ var handleChange = function handleChange(item, selectId) {
312
+ onChange === null || onChange === void 0 || onChange(item, selectId);
313
313
  };
314
314
  var handleClear = function handleClear(e) {
315
315
  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"}
@@ -1,5 +1,5 @@
1
1
  import { useInputAble, useListSelectMultiple, usePersistFn, util } from '@sheinx/hooks';
2
- import groupContext from "./group-context";
2
+ import GroupContext from "./group-context";
3
3
  import Checkbox from "./checkbox";
4
4
  import React from 'react';
5
5
  import classNames from 'classnames';
@@ -42,6 +42,10 @@ var Group = function Group(props0) {
42
42
  } else {
43
43
  datum.remove(raw);
44
44
  }
45
+ if (children && /*#__PURE__*/React.isValidElement(children)) {
46
+ var _children$props$onCha, _children$props;
47
+ (_children$props$onCha = (_children$props = children.props).onChange) === null || _children$props$onCha === void 0 || _children$props$onCha.call(_children$props, _, checked, children.props.htmlValue);
48
+ }
45
49
  });
46
50
  var isChecked = usePersistFn(function (d) {
47
51
  return datum.check(d);
@@ -67,7 +71,7 @@ var Group = function Group(props0) {
67
71
  return /*#__PURE__*/_jsx("div", {
68
72
  className: groupClass,
69
73
  style: style,
70
- children: /*#__PURE__*/_jsx(groupContext.Provider, {
74
+ children: /*#__PURE__*/_jsx(GroupContext.Provider, {
71
75
  value: providerValue,
72
76
  children: children
73
77
  })
@@ -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,24 @@
1
+ import React from 'react';
2
+ import { getLocale, useConfig } from "../config";
3
+ import Button from "../button";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ var Confirm = function Confirm(props) {
6
+ var _jssStyle$datePicker;
7
+ var jssStyle = props.jssStyle,
8
+ closeByConfirm = props.closeByConfirm;
9
+ var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
10
+ var _useConfig = useConfig(),
11
+ locale = _useConfig.locale;
12
+ return /*#__PURE__*/_jsx("div", {
13
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterConfirm,
14
+ children: /*#__PURE__*/_jsx(Button, {
15
+ size: 'small',
16
+ type: "primary",
17
+ jssStyle: jssStyle,
18
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterBtn,
19
+ onClick: closeByConfirm,
20
+ children: getLocale(locale, 'ok')
21
+ })
22
+ });
23
+ };
24
+ export 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 @@
1
+ export {};
@@ -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"}
@@ -52,16 +52,28 @@ var DatePicker = function DatePicker(props0) {
52
52
  _React$useState2 = _slicedToArray(_React$useState, 2),
53
53
  activeIndex = _React$useState2[0],
54
54
  setActiveIndex = _React$useState2[1];
55
+ var _React$useState3 = React.useState(0),
56
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
57
+ clickTimes = _React$useState4[0],
58
+ setClickTimes = _React$useState4[1];
59
+ var _React$useState5 = React.useState(false),
60
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
61
+ isCloseFromConfirm = _React$useState6[0],
62
+ setIsCloseFromConfirm = _React$useState6[1];
63
+ var _React$useState7 = React.useState([]),
64
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
65
+ oldDateArr = _React$useState8[0],
66
+ setOldDateArr = _React$useState8[1];
55
67
  var inputRef = useRef({
56
68
  inputRef: null
57
69
  });
58
70
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
59
71
  var isRTL = direction === 'rtl';
60
72
  var dfp = isRTL ? 'bottom-right' : 'bottom-left';
61
- var _React$useState3 = React.useState(false),
62
- _React$useState4 = _slicedToArray(_React$useState3, 2),
63
- focused = _React$useState4[0],
64
- setFocused = _React$useState4[1];
73
+ var _React$useState9 = React.useState(false),
74
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
75
+ focused = _React$useState10[0],
76
+ setFocused = _React$useState10[1];
65
77
  var listPosition = props.position || dfp;
66
78
  if (horizontalPosition.includes(listPosition)) {
67
79
  listPosition = listPosition.split('-').reverse().join('-');
@@ -89,6 +101,7 @@ var DatePicker = function DatePicker(props0) {
89
101
  clearable: clearable,
90
102
  disabled: disabled,
91
103
  clearWithUndefined: props.clearWithUndefined,
104
+ clearToUndefined: props.clearToUndefined,
92
105
  onClear: undefined,
93
106
  allowSingle: props.allowSingle,
94
107
  defaultCurrent: props.defaultPickerValue || props.defaultRangeMonth,
@@ -107,9 +120,20 @@ var DatePicker = function DatePicker(props0) {
107
120
  var onCollapse = usePersistFn(function (isOpen) {
108
121
  var _props$onCollapse;
109
122
  if (isOpen) {
123
+ setOldDateArr(dateArr);
110
124
  func.startEdit();
111
125
  } else {
112
- func.finishEdit();
126
+ setClickTimes(0);
127
+ if (props.needConfirm) {
128
+ if (!isCloseFromConfirm) {
129
+ func.handleClear();
130
+ // 点击空白处关闭面板时,还原到上次的值
131
+ func.setDateArr(oldDateArr);
132
+ }
133
+ } else {
134
+ func.finishEdit();
135
+ }
136
+ setIsCloseFromConfirm(false);
113
137
  }
114
138
  (_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 || _props$onCollapse.call(props, isOpen);
115
139
  });
@@ -153,9 +177,13 @@ var DatePicker = function DatePicker(props0) {
153
177
  setFocused(false);
154
178
  (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
155
179
  });
156
- var handleClose = function handleClose() {
180
+ var handleClose = function handleClose(isFromConfirm) {
157
181
  var _inputRef$current$inp;
182
+ setIsCloseFromConfirm(isFromConfirm || false);
158
183
  closePop();
184
+ if (isFromConfirm) {
185
+ func.finishEdit();
186
+ }
159
187
  (_inputRef$current$inp = inputRef.current.inputRef) === null || _inputRef$current$inp === void 0 || _inputRef$current$inp.blur();
160
188
  };
161
189
  var handleResultClick = usePersistFn(function () {
@@ -264,12 +292,15 @@ var DatePicker = function DatePicker(props0) {
264
292
  disabledTime: props.disabledTime,
265
293
  quickSelect: props.quickSelect,
266
294
  showSelNow: props.showSelNow,
295
+ clickTimes: clickTimes,
296
+ setClickTimes: setClickTimes,
267
297
  setActiveIndex: setActiveIndex,
268
298
  hourStep: props.hourStep,
269
299
  minuteStep: props.minuteStep,
270
300
  secondStep: props.secondStep,
271
301
  registerModeDisabled: func.registerModeDisabled,
272
302
  isDisabledDate: func.isDisabledDate,
303
+ needConfirm: props.needConfirm,
273
304
  children: props.children
274
305
  })
275
306
  })
@@ -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 @@ import classNames from 'classnames';
10
10
  import Icons from "../icons";
11
11
  import { getLocale, useConfig } from "../config";
12
12
  import TimePicker from "./time";
13
- import Button from "../button";
13
+ import Link from "../link";
14
14
  import PickerTitle from "./pickerTitle";
15
+ import Confirm from "./confirm";
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  import { Fragment as _Fragment } from "react/jsx-runtime";
17
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -23,8 +24,8 @@ var Day = function Day(props) {
23
24
  direction = _useConfig.direction;
24
25
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
25
26
  var areaType = props.type === 'week' ? 'week' : 'day';
26
- var onChange = usePersistFn(function (date) {
27
- props.onChange(date, props.type === 'datetime');
27
+ var onChange = usePersistFn(function (date, noClose) {
28
+ props.onChange(date, noClose || props.type === 'datetime');
28
29
  props.setTarget(undefined);
29
30
  });
30
31
  var setCurrent = usePersistFn(function (date) {
@@ -54,7 +55,10 @@ var Day = function Day(props) {
54
55
  var now = new Date();
55
56
  if (func.isDisabled(now)) return;
56
57
  props.setCurrent(new Date(), areaType);
57
- props.onChange(new Date(), props.type === 'datetime');
58
+ props.onChange(new Date(), props.needConfirm || props.type === 'datetime');
59
+ setTimeout(function () {
60
+ if (props.closeByConfirm && !props.range) props.closeByConfirm();
61
+ }, 0);
58
62
  };
59
63
  var renderDay = function renderDay(item, index) {
60
64
  var isActive = func.isActive(item);
@@ -66,7 +70,12 @@ var Day = function Day(props) {
66
70
  dir: direction,
67
71
  className: classNames(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)),
68
72
  onClick: function onClick() {
69
- return func.handleDayClick(item);
73
+ if (props.range) {
74
+ func.handleDayClick(item, props.needConfirm || props.clickTimes < 1);
75
+ props.setClickTimes(props.clickTimes + 1);
76
+ } else {
77
+ func.handleDayClick(item, props.needConfirm);
78
+ }
70
79
  },
71
80
  onDoubleClick: function onDoubleClick() {
72
81
  var _props$onDoubleClick;
@@ -112,7 +121,6 @@ var Day = function Day(props) {
112
121
  var renderFooter = function renderFooter() {
113
122
  var _props$rangeDate, _props$rangeDate2;
114
123
  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]));
115
- var showRight = props.showSelNow;
116
124
  var timeStr = func.getTimeStr();
117
125
  if (!showLeft && !props.showSelNow) return null;
118
126
  var format = props.format;
@@ -123,11 +131,18 @@ var Day = function Day(props) {
123
131
  // eslint-disable-next-line
124
132
  if (match) format = match[0];
125
133
  }
134
+ var showNeedConfirm = props.needConfirm && !props.range;
126
135
  return /*#__PURE__*/_jsxs("div", {
127
136
  className: styles === null || styles === void 0 ? void 0 : styles.pickerFooter,
128
137
  dir: direction,
138
+ style: {
139
+ borderTop: props.needConfirm && props.range ? 'none' : ''
140
+ },
129
141
  children: [props.type === 'datetime' && /*#__PURE__*/_jsx("div", {
130
- className: classNames(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)),
142
+ className: classNames(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)),
143
+ style: {
144
+ paddingRight: showNeedConfirm ? 0 : undefined
145
+ },
131
146
  children: /*#__PURE__*/_jsxs(_Fragment, {
132
147
  children: [/*#__PURE__*/_jsx("span", {
133
148
  children: Icons.datepicker.Time
@@ -139,25 +154,30 @@ var Day = function Day(props) {
139
154
  children: timeStr
140
155
  })]
141
156
  })
142
- }), showRight && /*#__PURE__*/_jsxs("div", {
143
- className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterRight,
144
- children: [props.showSelNow && props.type === 'date' && /*#__PURE__*/_jsx(Button, {
145
- size: 'small',
146
- mode: "text",
157
+ }), props.showSelNow && /*#__PURE__*/_jsxs("div", {
158
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterNow,
159
+ style: {
160
+ marginRight: showNeedConfirm ? 'auto' : undefined,
161
+ paddingLeft: showNeedConfirm ? 6 : undefined
162
+ },
163
+ children: [props.showSelNow && props.type === 'date' && /*#__PURE__*/_jsx(Link, {
164
+ size: "small",
147
165
  type: "primary",
148
166
  jssStyle: jssStyle,
149
167
  className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterBtn,
150
168
  onClick: selNow,
151
169
  children: getLocale(locale, 'now')
152
- }), props.showSelNow && props.type === 'datetime' && /*#__PURE__*/_jsx(Button, {
153
- size: 'small',
154
- mode: "text",
170
+ }), props.showSelNow && props.type === 'datetime' && /*#__PURE__*/_jsx(Link, {
171
+ size: "small",
155
172
  type: "primary",
156
173
  jssStyle: jssStyle,
157
174
  className: styles === null || styles === void 0 ? void 0 : styles.pickerFooterBtn,
158
175
  onClick: selNow,
159
176
  children: getLocale(locale, 'current')
160
177
  })]
178
+ }), showNeedConfirm && /*#__PURE__*/_jsx(Confirm, {
179
+ closeByConfirm: props.closeByConfirm,
180
+ jssStyle: jssStyle
161
181
  })]
162
182
  });
163
183
  };
@@ -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"}
@@ -4,6 +4,7 @@ import Icons from "../icons";
4
4
  import React from 'react';
5
5
  import { useConfig } from "../config";
6
6
  import PickerTitle from "./pickerTitle";
7
+ import Confirm from "./confirm";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
10
  var Month = function Month(props) {
@@ -49,7 +50,7 @@ var Month = function Month(props) {
49
50
  props.setTarget(undefined);
50
51
  },
51
52
  onClick: function onClick() {
52
- func.handleMonthClick(item);
53
+ func.handleMonthClick(item, props.needConfirm);
53
54
  },
54
55
  children: /*#__PURE__*/_jsx("div", {
55
56
  className: styles === null || styles === void 0 ? void 0 : styles.pickerCellContent,
@@ -111,6 +112,9 @@ var Month = function Month(props) {
111
112
  })
112
113
  })
113
114
  })
115
+ }), props.needConfirm && !props.range && /*#__PURE__*/_jsx(Confirm, {
116
+ closeByConfirm: props.closeByConfirm,
117
+ jssStyle: props.jssStyle
114
118
  })]
115
119
  });
116
120
  };
@@ -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 @@ import Quarter from "./quarter";
12
12
  import Time from "./time";
13
13
  import Quick from "./quick";
14
14
  import { useDatePickerRange, usePersistFn } from '@sheinx/hooks';
15
+ import Confirm from "./confirm";
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
18
  var Picker = function Picker(props) {
@@ -21,7 +22,8 @@ var Picker = function Picker(props) {
21
22
  dateArr = props.dateArr,
22
23
  options = props.options,
23
24
  jssStyle = props.jssStyle,
24
- isDisabledDate = props.isDisabledDate;
25
+ isDisabledDate = props.isDisabledDate,
26
+ type = props.type;
25
27
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
26
28
  var _useDatePickerRange = useDatePickerRange({
27
29
  type: props.type,
@@ -55,6 +57,9 @@ var Picker = function Picker(props) {
55
57
  var handleLeave = usePersistFn(function () {
56
58
  props.setActiveIndex(-1);
57
59
  });
60
+ var closeByConfirm = function closeByConfirm() {
61
+ return props.closePop(true);
62
+ };
58
63
  var renderPicker = function renderPicker(position) {
59
64
  var index = position === 'end' ? 1 : 0;
60
65
  var mode = props.mode[index];
@@ -78,7 +83,12 @@ var Picker = function Picker(props) {
78
83
  setTarget: position === 'end' ? func.setTargetEnd : func.setTargetStart,
79
84
  registerModeDisabled: props.registerModeDisabled,
80
85
  onMouseEnter: function onMouseEnter() {},
81
- onMouseLeave: function onMouseLeave() {}
86
+ onMouseLeave: function onMouseLeave() {},
87
+ range: range,
88
+ setClickTimes: props.setClickTimes,
89
+ clickTimes: props.clickTimes,
90
+ needConfirm: props.needConfirm,
91
+ closeByConfirm: closeByConfirm
82
92
  };
83
93
  if (range) {
84
94
  commonProps['onMouseEnter'] = position === 'end' ? handleEnterEnd : handleEnterStart;
@@ -134,13 +144,26 @@ var Picker = function Picker(props) {
134
144
  range: props.range,
135
145
  jssStyle: jssStyle,
136
146
  dateArr: dateArr,
147
+ type: type,
137
148
  setDateArr: props.setDateArr,
138
149
  setCurrentArr: props.setCurrentArr,
139
150
  format: props.format,
140
151
  options: props.options,
141
152
  children: props.children
142
- }), range ? ['start', 'end'].map(function (item) {
143
- return renderPicker(item);
153
+ }), range ? /*#__PURE__*/_jsxs("div", {
154
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerRange,
155
+ children: [/*#__PURE__*/_jsx("div", {
156
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerRangeBody,
157
+ children: ['start', 'end'].map(function (item) {
158
+ return renderPicker(item);
159
+ })
160
+ }), props.needConfirm && /*#__PURE__*/_jsx("div", {
161
+ className: styles === null || styles === void 0 ? void 0 : styles.pickerRangeFooter,
162
+ children: /*#__PURE__*/_jsx(Confirm, {
163
+ closeByConfirm: closeByConfirm,
164
+ jssStyle: jssStyle
165
+ })
166
+ })]
144
167
  }) : renderPicker()]
145
168
  });
146
169
  };
@@ -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;