@sheinx/base 3.2.0-rc.4 → 3.2.0

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 (225) hide show
  1. package/cjs/alert/alert.d.ts.map +1 -1
  2. package/cjs/alert/alert.js +6 -3
  3. package/cjs/alert/alert.type.d.ts +1 -0
  4. package/cjs/alert/alert.type.d.ts.map +1 -1
  5. package/cjs/card/card-header.d.ts.map +1 -1
  6. package/cjs/card/card-header.js +23 -5
  7. package/cjs/card/card.d.ts.map +1 -1
  8. package/cjs/card/card.js +7 -3
  9. package/cjs/card/card.type.d.ts +1 -0
  10. package/cjs/card/card.type.d.ts.map +1 -1
  11. package/cjs/cascader/cascader.type.d.ts +1 -0
  12. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  13. package/cjs/config/index.d.ts.map +1 -1
  14. package/cjs/config/index.js +3 -3
  15. package/cjs/date-picker/time.d.ts.map +1 -1
  16. package/cjs/date-picker/time.js +9 -2
  17. package/cjs/form/form-field.type.d.ts +1 -1
  18. package/cjs/form/form-field.type.d.ts.map +1 -1
  19. package/cjs/form/form-item.js +2 -2
  20. package/cjs/gap/gap.js +1 -1
  21. package/cjs/grid/util.d.ts.map +1 -1
  22. package/cjs/grid/util.js +2 -6
  23. package/cjs/icons/config.d.ts +1 -0
  24. package/cjs/icons/config.d.ts.map +1 -1
  25. package/cjs/icons/config.js +2 -1
  26. package/cjs/input/input-group.d.ts.map +1 -1
  27. package/cjs/input/input-group.js +4 -2
  28. package/cjs/input/input-group.type.d.ts +10 -0
  29. package/cjs/input/input-group.type.d.ts.map +1 -1
  30. package/cjs/input/input-number.js +3 -2
  31. package/cjs/input/input.js +2 -2
  32. package/cjs/input/input.type.d.ts +5 -0
  33. package/cjs/input/input.type.d.ts.map +1 -1
  34. package/cjs/input/use-input-common.d.ts.map +1 -1
  35. package/cjs/input/use-input-common.js +1 -0
  36. package/cjs/menu/index.d.ts +2 -0
  37. package/cjs/menu/index.d.ts.map +1 -1
  38. package/cjs/menu/index.js +7 -0
  39. package/cjs/menu/item.d.ts.map +1 -1
  40. package/cjs/menu/item.js +114 -64
  41. package/cjs/menu/menu.d.ts.map +1 -1
  42. package/cjs/menu/menu.js +50 -31
  43. package/cjs/menu/menu.type.d.ts +25 -16
  44. package/cjs/menu/menu.type.d.ts.map +1 -1
  45. package/cjs/menu/search.d.ts +5 -0
  46. package/cjs/menu/search.d.ts.map +1 -0
  47. package/cjs/menu/search.js +53 -0
  48. package/cjs/menu/search.type.d.ts +33 -0
  49. package/cjs/menu/search.type.d.ts.map +1 -0
  50. package/cjs/menu/search.type.js +5 -0
  51. package/cjs/message/message.d.ts +2 -0
  52. package/cjs/message/message.d.ts.map +1 -1
  53. package/cjs/message/message.js +22 -15
  54. package/cjs/modal/modal-content.d.ts.map +1 -1
  55. package/cjs/modal/modal-content.js +5 -5
  56. package/cjs/modal/modal-func.d.ts +1 -1
  57. package/cjs/modal/modal-func.d.ts.map +1 -1
  58. package/cjs/modal/modal-func.js +1 -0
  59. package/cjs/modal/modal.d.ts.map +1 -1
  60. package/cjs/modal/modal.js +18 -3
  61. package/cjs/modal/modal.type.d.ts +1 -0
  62. package/cjs/modal/modal.type.d.ts.map +1 -1
  63. package/cjs/popover/confirm.d.ts.map +1 -1
  64. package/cjs/popover/confirm.js +4 -0
  65. package/cjs/popover/popover.d.ts.map +1 -1
  66. package/cjs/popover/popover.js +9 -5
  67. package/cjs/popover/popover.type.d.ts +18 -0
  68. package/cjs/popover/popover.type.d.ts.map +1 -1
  69. package/cjs/select/result-input.d.ts.map +1 -1
  70. package/cjs/select/result-input.js +1 -0
  71. package/cjs/select/result-input.type.d.ts +1 -0
  72. package/cjs/select/result-input.type.d.ts.map +1 -1
  73. package/cjs/select/result-more.d.ts.map +1 -1
  74. package/cjs/select/result-more.js +19 -12
  75. package/cjs/select/result.d.ts.map +1 -1
  76. package/cjs/select/result.js +11 -8
  77. package/cjs/select/result.type.d.ts +1 -0
  78. package/cjs/select/result.type.d.ts.map +1 -1
  79. package/cjs/select/select.d.ts.map +1 -1
  80. package/cjs/select/select.js +1 -11
  81. package/cjs/select/select.type.d.ts +1 -0
  82. package/cjs/select/select.type.d.ts.map +1 -1
  83. package/cjs/sticky/sticky.d.ts.map +1 -1
  84. package/cjs/sticky/sticky.js +212 -90
  85. package/cjs/table/thead.js +1 -4
  86. package/cjs/table/tr.d.ts.map +1 -1
  87. package/cjs/table/tr.js +1 -1
  88. package/cjs/tag/tag.d.ts.map +1 -1
  89. package/cjs/tag/tag.js +4 -6
  90. package/cjs/tag/tag.type.d.ts +0 -1
  91. package/cjs/tag/tag.type.d.ts.map +1 -1
  92. package/cjs/textarea/textarea.d.ts.map +1 -1
  93. package/cjs/textarea/textarea.js +1 -0
  94. package/cjs/transfer/transfer-list.d.ts.map +1 -1
  95. package/cjs/transfer/transfer-list.js +7 -1
  96. package/cjs/transfer/transfer.js +1 -1
  97. package/cjs/tree/tree-content.d.ts.map +1 -1
  98. package/cjs/tree/tree-content.js +7 -5
  99. package/cjs/tree/tree-node.d.ts.map +1 -1
  100. package/cjs/tree/tree-node.js +4 -0
  101. package/cjs/tree/tree.d.ts.map +1 -1
  102. package/cjs/tree/tree.js +10 -0
  103. package/cjs/tree/tree.type.d.ts +0 -1
  104. package/cjs/tree/tree.type.d.ts.map +1 -1
  105. package/cjs/tree-select/tree-select.type.d.ts +1 -0
  106. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  107. package/cjs/virtual-scroll/scroll.d.ts +1 -0
  108. package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
  109. package/cjs/virtual-scroll/scroll.js +9 -5
  110. package/cjs/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  111. package/cjs/virtual-scroll/virtual-scroll-list.js +3 -0
  112. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  113. package/esm/alert/alert.d.ts.map +1 -1
  114. package/esm/alert/alert.js +6 -3
  115. package/esm/alert/alert.type.d.ts +1 -0
  116. package/esm/alert/alert.type.d.ts.map +1 -1
  117. package/esm/card/card-header.d.ts.map +1 -1
  118. package/esm/card/card-header.js +23 -5
  119. package/esm/card/card.d.ts.map +1 -1
  120. package/esm/card/card.js +9 -5
  121. package/esm/card/card.type.d.ts +1 -0
  122. package/esm/card/card.type.d.ts.map +1 -1
  123. package/esm/cascader/cascader.type.d.ts +1 -0
  124. package/esm/cascader/cascader.type.d.ts.map +1 -1
  125. package/esm/config/index.d.ts.map +1 -1
  126. package/esm/config/index.js +3 -3
  127. package/esm/date-picker/time.d.ts.map +1 -1
  128. package/esm/date-picker/time.js +9 -2
  129. package/esm/form/form-field.type.d.ts +1 -1
  130. package/esm/form/form-field.type.d.ts.map +1 -1
  131. package/esm/form/form-item.js +2 -2
  132. package/esm/gap/gap.js +1 -1
  133. package/esm/grid/util.d.ts.map +1 -1
  134. package/esm/grid/util.js +2 -6
  135. package/esm/icons/config.d.ts +1 -0
  136. package/esm/icons/config.d.ts.map +1 -1
  137. package/esm/icons/config.js +2 -1
  138. package/esm/input/input-group.d.ts.map +1 -1
  139. package/esm/input/input-group.js +4 -2
  140. package/esm/input/input-group.type.d.ts +10 -0
  141. package/esm/input/input-group.type.d.ts.map +1 -1
  142. package/esm/input/input-number.js +3 -2
  143. package/esm/input/input.js +2 -2
  144. package/esm/input/input.type.d.ts +5 -0
  145. package/esm/input/input.type.d.ts.map +1 -1
  146. package/esm/input/use-input-common.d.ts.map +1 -1
  147. package/esm/input/use-input-common.js +1 -0
  148. package/esm/menu/index.d.ts +2 -0
  149. package/esm/menu/index.d.ts.map +1 -1
  150. package/esm/menu/index.js +2 -1
  151. package/esm/menu/item.d.ts.map +1 -1
  152. package/esm/menu/item.js +114 -65
  153. package/esm/menu/menu.d.ts.map +1 -1
  154. package/esm/menu/menu.js +51 -31
  155. package/esm/menu/menu.type.d.ts +25 -16
  156. package/esm/menu/menu.type.d.ts.map +1 -1
  157. package/esm/menu/search.d.ts +5 -0
  158. package/esm/menu/search.d.ts.map +1 -0
  159. package/esm/menu/search.js +46 -0
  160. package/esm/menu/search.type.d.ts +33 -0
  161. package/esm/menu/search.type.d.ts.map +1 -0
  162. package/esm/menu/search.type.js +1 -0
  163. package/esm/message/message.d.ts +2 -0
  164. package/esm/message/message.d.ts.map +1 -1
  165. package/esm/message/message.js +22 -15
  166. package/esm/modal/modal-content.d.ts.map +1 -1
  167. package/esm/modal/modal-content.js +5 -5
  168. package/esm/modal/modal-func.d.ts +1 -1
  169. package/esm/modal/modal-func.d.ts.map +1 -1
  170. package/esm/modal/modal-func.js +1 -0
  171. package/esm/modal/modal.d.ts.map +1 -1
  172. package/esm/modal/modal.js +19 -4
  173. package/esm/modal/modal.type.d.ts +1 -0
  174. package/esm/modal/modal.type.d.ts.map +1 -1
  175. package/esm/popover/confirm.d.ts.map +1 -1
  176. package/esm/popover/confirm.js +4 -0
  177. package/esm/popover/popover.d.ts.map +1 -1
  178. package/esm/popover/popover.js +9 -5
  179. package/esm/popover/popover.type.d.ts +18 -0
  180. package/esm/popover/popover.type.d.ts.map +1 -1
  181. package/esm/select/result-input.d.ts.map +1 -1
  182. package/esm/select/result-input.js +1 -0
  183. package/esm/select/result-input.type.d.ts +1 -0
  184. package/esm/select/result-input.type.d.ts.map +1 -1
  185. package/esm/select/result-more.d.ts.map +1 -1
  186. package/esm/select/result-more.js +20 -14
  187. package/esm/select/result.d.ts.map +1 -1
  188. package/esm/select/result.js +12 -9
  189. package/esm/select/result.type.d.ts +1 -0
  190. package/esm/select/result.type.d.ts.map +1 -1
  191. package/esm/select/select.d.ts.map +1 -1
  192. package/esm/select/select.js +1 -11
  193. package/esm/select/select.type.d.ts +1 -0
  194. package/esm/select/select.type.d.ts.map +1 -1
  195. package/esm/sticky/sticky.d.ts.map +1 -1
  196. package/esm/sticky/sticky.js +213 -91
  197. package/esm/table/thead.js +1 -4
  198. package/esm/table/tr.d.ts.map +1 -1
  199. package/esm/table/tr.js +1 -1
  200. package/esm/tag/tag.d.ts.map +1 -1
  201. package/esm/tag/tag.js +4 -6
  202. package/esm/tag/tag.type.d.ts +0 -1
  203. package/esm/tag/tag.type.d.ts.map +1 -1
  204. package/esm/textarea/textarea.d.ts.map +1 -1
  205. package/esm/textarea/textarea.js +1 -0
  206. package/esm/transfer/transfer-list.d.ts.map +1 -1
  207. package/esm/transfer/transfer-list.js +7 -1
  208. package/esm/transfer/transfer.js +1 -1
  209. package/esm/tree/tree-content.d.ts.map +1 -1
  210. package/esm/tree/tree-content.js +7 -5
  211. package/esm/tree/tree-node.d.ts.map +1 -1
  212. package/esm/tree/tree-node.js +4 -0
  213. package/esm/tree/tree.d.ts.map +1 -1
  214. package/esm/tree/tree.js +11 -1
  215. package/esm/tree/tree.type.d.ts +0 -1
  216. package/esm/tree/tree.type.d.ts.map +1 -1
  217. package/esm/tree-select/tree-select.type.d.ts +1 -0
  218. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  219. package/esm/virtual-scroll/scroll.d.ts +1 -0
  220. package/esm/virtual-scroll/scroll.d.ts.map +1 -1
  221. package/esm/virtual-scroll/scroll.js +9 -5
  222. package/esm/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  223. package/esm/virtual-scroll/virtual-scroll-list.js +3 -0
  224. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  225. package/package.json +3 -3
@@ -33,7 +33,9 @@ export default (function (props) {
33
33
  });
34
34
  var _useWithFormConfig = useWithFormConfig(props),
35
35
  size = _useWithFormConfig.size,
36
- disabled = _useWithFormConfig.disabled;
36
+ disabled = _useWithFormConfig.disabled,
37
+ status = _useWithFormConfig.status,
38
+ error = _useWithFormConfig.error;
37
39
  var getProps = function getProps(child) {
38
40
  ref.current.propsMap.set(child, {
39
41
  onFocus: child.props.onFocus,
@@ -65,7 +67,7 @@ export default (function (props) {
65
67
  className = props.className,
66
68
  width = props.width,
67
69
  style = props.style;
68
- var rootClass = classNames(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.group, size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupLarge), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupDisabled), !!focus && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupFocus));
70
+ var rootClass = classNames(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.group, size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupLarge), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupDisabled), !!focus && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupFocus), (status === 'error' || error) && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupError));
69
71
  return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({}, util.getDataAttribute({
70
72
  role: 'input-group'
71
73
  })), {}, {
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ReactNode } from 'react';
3
3
  import { InputStyle } from './input.type';
4
+ import { CommonType } from '../common/type';
4
5
  export interface InputGroupProps {
5
6
  children?: ReactNode;
6
7
  className?: string;
@@ -9,5 +10,14 @@ export interface InputGroupProps {
9
10
  size?: 'small' | 'large' | 'default';
10
11
  disabled?: boolean;
11
12
  jssStyle: InputStyle;
13
+ /**
14
+ * @cn 错误信息
15
+ * @en error message
16
+ * @private 内部属性
17
+ */
18
+ error?: string | {
19
+ message?: string;
20
+ };
21
+ status?: CommonType['status'];
12
22
  }
13
23
  //# sourceMappingURL=input-group.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-group.type.d.ts","sourceRoot":"","sources":["input-group.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;CACtB"}
1
+ {"version":3,"file":"input-group.type.d.ts","sourceRoot":"","sources":["input-group.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B"}
@@ -1,5 +1,5 @@
1
1
  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); }
2
- var _excluded = ["jssStyle"],
2
+ var _excluded = ["jssStyle", "hideArrow"],
3
3
  _excluded2 = ["onMinus", "onPlus"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -20,6 +20,7 @@ var InputNumber = function InputNumber(props) {
20
20
  var _jssStyle$input;
21
21
  var commonProps = useInputCommon(props);
22
22
  var jssStyle = commonProps.jssStyle,
23
+ hideArrow = commonProps.hideArrow,
23
24
  restProps = _objectWithoutProperties(commonProps, _excluded);
24
25
  var inputStyle = jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle);
25
26
  var numberFormatParams = {
@@ -42,7 +43,7 @@ var InputNumber = function InputNumber(props) {
42
43
  onPlus = _useInputNumber.onPlus,
43
44
  numberFormatProps = _objectWithoutProperties(_useInputNumber, _excluded2);
44
45
  var forwardProps = util.removeProps(commonProps, _objectSpread({}, numberFormatParams));
45
- var addEnd = props.hideArrow ? null : /*#__PURE__*/_jsx(React.Fragment, {
46
+ var addEnd = hideArrow ? null : /*#__PURE__*/_jsx(React.Fragment, {
46
47
  children: /*#__PURE__*/_jsxs("div", {
47
48
  className: inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.numberStep,
48
49
  children: [/*#__PURE__*/_jsx("span", {
@@ -11,7 +11,7 @@ import { useConfig } from "../config";
11
11
  import React from 'react';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  var Input = function Input(props) {
14
- var _ref, _commonProps$trim;
14
+ var _ref, _commonProps$trim, _inputFormatProps$val;
15
15
  var commonProps = useInputCommon(props);
16
16
  var config = useConfig();
17
17
  var inputFormatParams = {
@@ -31,7 +31,7 @@ var Input = function Input(props) {
31
31
  }, inputFormatParams));
32
32
  var forwardProps = util.removeProps(commonProps, _objectSpread({}, inputFormatParams));
33
33
  return /*#__PURE__*/_jsx(SimpleInputInput, _objectSpread(_objectSpread(_objectSpread({}, forwardProps), inputFormatProps), {}, {
34
- value: inputFormatProps.value || '',
34
+ value: (_inputFormatProps$val = inputFormatProps.value) !== null && _inputFormatProps$val !== void 0 ? _inputFormatProps$val : '',
35
35
  hasSuffix: !!props.suffix
36
36
  }));
37
37
  };
@@ -40,6 +40,7 @@ export interface InputClasses {
40
40
  groupLarge: string;
41
41
  groupFocus: string;
42
42
  groupDisabled: string;
43
+ groupError: string;
43
44
  wrapperNumber: string;
44
45
  numberStep: string;
45
46
  passwordToggle: string;
@@ -143,6 +144,10 @@ export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'cla
143
144
  * @override string
144
145
  */
145
146
  defaultValue?: V;
147
+ /**
148
+ * @en The callback before the value is changed, when the return value is not empty, it will be used as the new value of the component
149
+ * @cn 值改变前的回调,当返回值不为空时将作为组件的新值
150
+ */
146
151
  beforeChange?: (value: V) => void | V;
147
152
  /**
148
153
  * @en Remove content of the input when clicking the clear icon, clear event function
@@ -1 +1 @@
1
- {"version":3,"file":"input.type.d.ts","sourceRoot":"","sources":["input.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.type.d.ts","sourceRoot":"","sources":["input.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-common.d.ts","sourceRoot":"","sources":["use-input-common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWhD,QAAA,MAAM,cAAc;;;;;;;;;;gCAwG8B,OAAO;;;;;;;gBAQnB,gBAAgB,CAAC,gBAAgB,CAAC;CAsBvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-input-common.d.ts","sourceRoot":"","sources":["use-input-common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWhD,QAAA,MAAM,cAAc;;;;;;;;;;gCAyG8B,OAAO;;;;;;;gBAQnB,gBAAgB,CAAC,gBAAgB,CAAC;CAsBvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -107,6 +107,7 @@ var useInputCommon = function useInputCommon(props0) {
107
107
  if (!res) return null;
108
108
  var isError = res instanceof Error;
109
109
  var text = isError ? res.message : res;
110
+ if (!isError && !focused) return null;
110
111
  return /*#__PURE__*/_jsx("div", {
111
112
  style: {
112
113
  minWidth: 'auto'
@@ -1,3 +1,5 @@
1
1
  export { default, default as Menu } from './menu';
2
2
  export type { MenuProps, MenuClasses } from './menu.type';
3
+ export { default as MenuSearch } from './search';
4
+ export type { MenuSearchProps, MenuSearchClasses } from './search.type';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
package/esm/menu/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  "use client";
2
- export { default, default as Menu } from "./menu";
2
+ export { default, default as Menu } from "./menu";
3
+ export { default as MenuSearch } from "./search";
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["item.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,QAAA,MAAM,QAAQ,UAAW,mBAAmB,aAAa,CAAC,gBAmNzD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["item.tsx"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,QAAA,MAAM,QAAQ,UAAW,mBAAmB,aAAa,CAAC,gBAyOzD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/esm/menu/item.js CHANGED
@@ -4,29 +4,50 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import { cloneElement, useEffect, useRef } from 'react';
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import React, { cloneElement, useState } from 'react';
8
14
  import classNames from 'classnames';
9
- import { useMenuItem, util } from '@sheinx/hooks';
15
+ import { useMenuItem, usePersistFn, util } from '@sheinx/hooks';
10
16
  import Icons from "../icons";
11
17
  import { useConfig } from "../config";
18
+ import Popover from "../../src/popover";
19
+ import { createElement as _createElement } from "react";
12
20
  import { jsx as _jsx } from "react/jsx-runtime";
21
+ import { Fragment as _Fragment } from "react/jsx-runtime";
13
22
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
- import { createElement as _createElement } from "react";
15
23
  var MenuItem = function MenuItem(props) {
16
24
  var _props$jssStyle, _props$jssStyle$menu;
17
25
  var classes = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$menu = _props$jssStyle.menu) === null || _props$jssStyle$menu === void 0 ? void 0 : _props$jssStyle$menu.call(_props$jssStyle);
18
26
  var children = props.dataItem.children || [];
19
- var itemContentRef = useRef(null);
20
- var timer = useRef(null);
21
27
  var _props$inlineIndent = props.inlineIndent,
22
28
  inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent,
23
29
  _props$frontCaretType = props.frontCaretType,
24
30
  frontCaretType = _props$frontCaretType === void 0 ? 'solid' : _props$frontCaretType,
25
- collapse = props.collapse;
31
+ mode = props.mode,
32
+ _props$toggleDuration = props.toggleDuration,
33
+ toggleDuration = _props$toggleDuration === void 0 ? 50 : _props$toggleDuration;
26
34
  var config = useConfig();
35
+ var shoudPop = mode === 'vertical' || mode === 'vertical-auto' || mode === 'horizontal';
36
+ var isVertical = mode === 'vertical' || mode === 'vertical-auto';
37
+ var isSubHorizontal = mode === 'horizontal' && props.level > 0;
38
+ var isRootHorizontal = mode === 'horizontal' && props.level === 0;
39
+ var _useState = useState(false),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ popOpen = _useState2[0],
42
+ setOpen = _useState2[1];
27
43
  var hasExpandAbleChildren = children.some(function (item) {
28
44
  return item && item.children && (props.looseChildren || item.children.length);
29
45
  });
46
+ var handleVisibleChange = usePersistFn(function (visible) {
47
+ if (isRootHorizontal) {
48
+ setOpen(visible);
49
+ }
50
+ });
30
51
  var _useMenuItem = useMenuItem({
31
52
  dataItem: props.dataItem,
32
53
  keyResult: props.keyResult,
@@ -39,7 +60,6 @@ var MenuItem = function MenuItem(props) {
39
60
  parentId: props.parentId,
40
61
  looseChildren: props.looseChildren,
41
62
  parentSelectable: props.parentSelectable,
42
- toggleDuration: props.toggleDuration,
43
63
  disabled: props.disabled,
44
64
  mode: props.mode,
45
65
  scrollRef: props.scrollRef
@@ -55,41 +75,109 @@ var MenuItem = function MenuItem(props) {
55
75
  handleItemClick = _useMenuItem.handleItemClick,
56
76
  handleMouseEnter = _useMenuItem.handleMouseEnter,
57
77
  handleMouseLeave = _useMenuItem.handleMouseLeave;
78
+ var renderChildren = function renderChildren() {
79
+ var _items;
80
+ var items = children;
81
+ var isTitle = false;
82
+ if (!((_items = items) !== null && _items !== void 0 && _items.length)) {
83
+ if (props.level === 0 && props.collapse && shoudPop) {
84
+ items = [props.dataItem];
85
+ isTitle = true;
86
+ } else {
87
+ return null;
88
+ }
89
+ }
90
+ var content = function content(close) {
91
+ return /*#__PURE__*/_jsx("ul", {
92
+ className: classNames(shoudPop && (classes === null || classes === void 0 ? void 0 : classes.childrenShow), classes === null || classes === void 0 ? void 0 : classes.children, isUp && (classes === null || classes === void 0 ? void 0 : classes.childrenUp), hasExpandAbleChildren && (classes === null || classes === void 0 ? void 0 : classes.childrenHasExpand))
93
+ // 子菜单点击弹出
94
+ ,
95
+ onClick: close,
96
+ dir: config.direction,
97
+ children: items.map(function (item, index) {
98
+ var key = util.getKey(props.keygen, item, index);
99
+ return /*#__PURE__*/_createElement(MenuItem, _objectSpread(_objectSpread({}, props), {}, {
100
+ mode: mode,
101
+ parentId: id,
102
+ dataItem: item,
103
+ key: key,
104
+ index: index,
105
+ keyResult: key,
106
+ level: props.level + 1,
107
+ renderIcon: isTitle ? undefined : props.renderIcon
108
+ }));
109
+ })
110
+ });
111
+ };
112
+ if (shoudPop) {
113
+ var position = isVertical || isSubHorizontal ? isUp ? 'right-bottom' : 'right-top' : 'bottom';
114
+ return /*#__PURE__*/_jsx(Popover, {
115
+ mouseLeaveDelay: toggleDuration,
116
+ className: classNames(classes === null || classes === void 0 ? void 0 : classes.popover),
117
+ attributes: util.getDataAttribute({
118
+ theme: props.theme || 'light',
119
+ mode: isVertical ? 'vertical' : mode
120
+ }),
121
+ onVisibleChange: handleVisibleChange,
122
+ jssStyle: props.jssStyle,
123
+ arrowClass: classNames(classes === null || classes === void 0 ? void 0 : classes.popArrow, props.theme === 'dark' && (classes === null || classes === void 0 ? void 0 : classes.popArrowDark)),
124
+ showArrow: mode !== 'horizontal',
125
+ position: position,
126
+ lazy: false,
127
+ children: function children(close) {
128
+ return content(close);
129
+ }
130
+ });
131
+ }
132
+ return content();
133
+ };
58
134
  var renderItem = function renderItem() {
135
+ var icon = util.isFunc(props.renderIcon) ? props.renderIcon(props.dataItem) : null;
136
+ var iconEl = icon ? /*#__PURE__*/_jsx("div", {
137
+ className: classes === null || classes === void 0 ? void 0 : classes.titleIcon,
138
+ children: icon
139
+ }) : null;
140
+ var indent = props.mode === 'inline' && props.level ? /*#__PURE__*/_jsx("div", {
141
+ style: {
142
+ width: props.level * inlineIndent,
143
+ flexShrink: 0
144
+ }
145
+ }) : null;
59
146
  var item = util.render(props.renderItem, props.dataItem, props.index);
60
147
  var link = props.linkKey ? util.getKey(props.linkKey, props.dataItem, props.index) : undefined;
61
148
  var title = null;
62
149
  if (util.isLink(item)) {
63
150
  var mergeClass = classNames(classes === null || classes === void 0 ? void 0 : classes.title, item.props && item.props.className);
64
151
  title = /*#__PURE__*/cloneElement(item, {
65
- className: mergeClass
152
+ className: mergeClass,
153
+ children: /*#__PURE__*/_jsxs(_Fragment, {
154
+ children: [indent, iconEl, /*#__PURE__*/_jsx("div", {
155
+ className: classes === null || classes === void 0 ? void 0 : classes.titleContent,
156
+ children: item.props.children
157
+ })]
158
+ })
66
159
  });
67
160
  } else {
68
161
  var linkProps = {
69
162
  className: classes === null || classes === void 0 ? void 0 : classes.title,
70
163
  href: link
71
164
  };
72
- title = /*#__PURE__*/_jsx("a", _objectSpread(_objectSpread({}, linkProps), {}, {
73
- children: util.wrapSpan(item)
165
+ title = /*#__PURE__*/_jsxs("a", _objectSpread(_objectSpread({}, linkProps), {}, {
166
+ children: [indent, iconEl, /*#__PURE__*/_jsx("div", {
167
+ className: classes === null || classes === void 0 ? void 0 : classes.titleContent,
168
+ children: util.wrapSpan(item)
169
+ })]
74
170
  }));
75
171
  }
76
- var indent = props.mode === 'inline' && props.level ? /*#__PURE__*/_jsx("div", {
77
- style: {
78
- width: props.level * inlineIndent,
79
- flexShrink: 0
80
- }
81
- }) : null;
82
- var isFirstCollapseItem = collapse && props.level === 0;
83
172
  if (props.frontCaret) {
84
173
  return /*#__PURE__*/_jsxs("div", {
85
- ref: itemContentRef,
86
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentFront, isFirstCollapseItem && (classes === null || classes === void 0 ? void 0 : classes.itemContentHide)),
174
+ className: classNames(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentFront),
87
175
  onClick: handleItemClick,
88
- children: [indent, /*#__PURE__*/_jsx("div", {
176
+ children: [/*#__PURE__*/_jsx("div", {
89
177
  style: {
90
178
  color: props.caretColor
91
179
  },
92
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.expand, classes === null || classes === void 0 ? void 0 : classes.expandFront, props.parentSelectable && (classes === null || classes === void 0 ? void 0 : classes.expandHover)),
180
+ className: classNames(classes === null || classes === void 0 ? void 0 : classes.expand, classes === null || classes === void 0 ? void 0 : classes.expandFront, (isVertical || isSubHorizontal) && (classes === null || classes === void 0 ? void 0 : classes.expandVertical), props.parentSelectable && (classes === null || classes === void 0 ? void 0 : classes.expandHover)),
93
181
  onClick: handleExpandClick,
94
182
  dir: config.direction,
95
183
  children: /*#__PURE__*/_jsx("div", {
@@ -100,15 +188,14 @@ var MenuItem = function MenuItem(props) {
100
188
  });
101
189
  } else {
102
190
  return /*#__PURE__*/_jsxs("div", {
103
- ref: itemContentRef,
104
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentBack, isFirstCollapseItem && (classes === null || classes === void 0 ? void 0 : classes.itemContentHide)),
191
+ className: classNames(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentBack),
105
192
  onClick: handleItemClick,
106
- children: [indent, title, expandAble && /*#__PURE__*/_jsx("div", {
193
+ children: [title, expandAble && /*#__PURE__*/_jsx("div", {
107
194
  onClick: handleExpandClick,
108
195
  style: {
109
196
  color: props.caretColor
110
197
  },
111
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.expand, classes === null || classes === void 0 ? void 0 : classes.expandBack, props.parentSelectable && (classes === null || classes === void 0 ? void 0 : classes.expandHover)),
198
+ className: classNames(classes === null || classes === void 0 ? void 0 : classes.expand, classes === null || classes === void 0 ? void 0 : classes.expandBack, (isVertical || isSubHorizontal) && (classes === null || classes === void 0 ? void 0 : classes.expandVertical), props.parentSelectable && (classes === null || classes === void 0 ? void 0 : classes.expandHover)),
112
199
  dir: config.direction,
113
200
  children: /*#__PURE__*/_jsx("div", {
114
201
  className: classes === null || classes === void 0 ? void 0 : classes.icon,
@@ -118,50 +205,12 @@ var MenuItem = function MenuItem(props) {
118
205
  });
119
206
  }
120
207
  };
121
- var renderCollapseItem = function renderCollapseItem() {
122
- if (!props.renderCollapse) return null;
123
- var isFirstCollapseItem = props.level === 0 && collapse;
124
- return /*#__PURE__*/_jsx("div", {
125
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.collapseItem, isInPath && (classes === null || classes === void 0 ? void 0 : classes.collapseItemInPath), !isFirstCollapseItem && (classes === null || classes === void 0 ? void 0 : classes.collapseItemHide)),
126
- onClick: handleItemClick,
127
- children: props.renderCollapse(props.dataItem, props.index)
128
- });
129
- };
130
- useEffect(function () {
131
- if (!itemContentRef.current) return;
132
- if (collapse === undefined) return;
133
- if (timer.current) clearTimeout(timer.current);
134
- itemContentRef.current.style.overflow = 'hidden';
135
- itemContentRef.current.style.whiteSpace = 'nowrap';
136
- timer.current = setTimeout(function () {
137
- if (!itemContentRef.current) return;
138
- itemContentRef.current.style.overflow = '';
139
- itemContentRef.current.style.whiteSpace = '';
140
- }, 300);
141
- return function () {
142
- if (timer.current) clearTimeout(timer.current);
143
- };
144
- }, [collapse]);
145
208
  return /*#__PURE__*/_jsxs("li", {
146
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.item, isDisabled && (classes === null || classes === void 0 ? void 0 : classes.itemDisabled), isInPath && (classes === null || classes === void 0 ? void 0 : classes.itemInPath), isOpen && (classes === null || classes === void 0 ? void 0 : classes.itemOpen), isChecked && (classes === null || classes === void 0 ? void 0 : classes.itemActive), expandAble && (classes === null || classes === void 0 ? void 0 : classes.itemHasChildren)),
209
+ className: classNames(classes === null || classes === void 0 ? void 0 : classes.item, isDisabled && (classes === null || classes === void 0 ? void 0 : classes.itemDisabled), isInPath && (classes === null || classes === void 0 ? void 0 : classes.itemInPath), (isOpen || popOpen) && (classes === null || classes === void 0 ? void 0 : classes.itemOpen), isChecked && (classes === null || classes === void 0 ? void 0 : classes.itemActive), expandAble && (classes === null || classes === void 0 ? void 0 : classes.itemHasChildren)),
147
210
  onMouseEnter: handleMouseEnter,
148
211
  onMouseLeave: handleMouseLeave,
149
212
  dir: config.direction,
150
- children: [renderItem(), renderCollapseItem(), children.length > 0 && /*#__PURE__*/_jsx("ul", {
151
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.children, isUp && (classes === null || classes === void 0 ? void 0 : classes.childrenUp), hasExpandAbleChildren && (classes === null || classes === void 0 ? void 0 : classes.childrenHasExpand)),
152
- dir: config.direction,
153
- children: children.map(function (item, index) {
154
- var key = util.getKey(props.keygen, item, index);
155
- return /*#__PURE__*/_createElement(MenuItem, _objectSpread(_objectSpread({}, props), {}, {
156
- parentId: id,
157
- dataItem: item,
158
- key: key,
159
- index: index,
160
- keyResult: key,
161
- level: props.level + 1
162
- }));
163
- })
164
- })]
213
+ children: [renderItem(), renderChildren()]
165
214
  });
166
215
  };
167
216
  export default MenuItem;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["menu.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,QAAA,MAAM,IAAI,sFAiHT,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["menu.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,QAAA,MAAM,IAAI,sFAqIT,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/esm/menu/menu.js CHANGED
@@ -11,15 +11,15 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
11
11
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
13
  import { useEffect, useRef, useState } from 'react';
14
- import { useMenu, util } from '@sheinx/hooks';
14
+ import { useMenu, util, useRender } from '@sheinx/hooks';
15
15
  import Item from "./item";
16
16
  import classNames from 'classnames';
17
- import Scroll from "./scroll";
17
+ // import Scroll from './scroll';
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  import { jsxs as _jsxs } from "react/jsx-runtime";
20
20
  var emptyArray = [];
21
21
  var Menu = function Menu(props) {
22
- var _props$jssStyle, _props$jssStyle$menu, _props$style;
22
+ var _props$jssStyle, _props$jssStyle$menu;
23
23
  var _props$data = props.data,
24
24
  data = _props$data === void 0 ? emptyArray : _props$data,
25
25
  _props$mode = props.mode,
@@ -27,24 +27,32 @@ var Menu = function Menu(props) {
27
27
  _props$theme = props.theme,
28
28
  theme = _props$theme === void 0 ? 'light' : _props$theme,
29
29
  collapse = props.collapse;
30
- var mode = collapse ? 'vertical' : modeProps;
30
+ var render = useRender();
31
+
32
+ // const [inTransition, setInTransition] = useState(false);
33
+ var mode = collapse ? 'vertical-auto' : modeProps;
34
+ var _useRef = useRef({
35
+ inTransition: false,
36
+ lastCollapse: !!props.collapse
37
+ }),
38
+ context = _useRef.current;
39
+ if (props.mode !== 'horizontal' && !!context.lastCollapse !== !!collapse) {
40
+ context.inTransition = true;
41
+ context.lastCollapse = !!props.collapse;
42
+ }
31
43
  var classes = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$menu = _props$jssStyle.menu) === null || _props$jssStyle$menu === void 0 ? void 0 : _props$jssStyle$menu.call(_props$jssStyle);
32
44
  var isVertical = mode === 'vertical' || mode === 'vertical-auto';
33
- var isHorizontal = mode === 'horizontal';
45
+ // const isHorizontal = mode === 'horizontal';
34
46
  var _useState = useState(false),
35
47
  _useState2 = _slicedToArray(_useState, 2),
36
48
  hasOpen = _useState2[0],
37
49
  setHasOpen = _useState2[1];
38
- var _useState3 = useState([]),
39
- _useState4 = _slicedToArray(_useState3, 2),
40
- collapseOpenKeys = _useState4[0],
41
- setCollapseOpenKeys = _useState4[1];
42
50
  var _useMenu = useMenu({
43
51
  data: data,
44
52
  active: props.active,
45
53
  defaultOpenKeys: props.defaultOpenKeys,
46
- openKeys: props.collapse ? collapseOpenKeys : props.openKeys,
47
- onOpenChange: props.collapse ? setCollapseOpenKeys : props.onOpenChange
54
+ openKeys: props.openKeys,
55
+ onOpenChange: props.onOpenChange
48
56
  }),
49
57
  openKeys = _useMenu.openKeys,
50
58
  onOpenChange = _useMenu.onOpenChange,
@@ -55,12 +63,19 @@ var Menu = function Menu(props) {
55
63
  var hasExpand = data.some(function (item) {
56
64
  return item && item.children && (props.looseChildren || item.children.length);
57
65
  });
58
- var showScrollBar = isHorizontal || isVertical;
59
- var style = _objectSpread({}, props.style);
60
- if (collapse) delete style.width;
61
- var listStyle = isVertical && !collapse ? {
62
- width: (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width
63
- } : undefined;
66
+
67
+ // const showScrollBar = isHorizontal || isVertical;
68
+
69
+ var renderHeader = function renderHeader() {
70
+ if (modeProps === 'horizontal') return;
71
+ if (props.header) {
72
+ return /*#__PURE__*/_jsx("div", {
73
+ className: classes === null || classes === void 0 ? void 0 : classes.header,
74
+ children: props.header
75
+ });
76
+ }
77
+ return null;
78
+ };
64
79
  useEffect(function () {
65
80
  var newOpen = (openKeys || []).filter(function (k) {
66
81
  return data.find(function (d, i) {
@@ -71,24 +86,32 @@ var Menu = function Menu(props) {
71
86
  setHasOpen(newOpen);
72
87
  }
73
88
  }, [data, openKeys]);
74
- return /*#__PURE__*/_jsxs("div", {
75
- className: classNames(props.className, classes === null || classes === void 0 ? void 0 : classes.wrapper, mode === 'inline' && (classes === null || classes === void 0 ? void 0 : classes.wrapperInline), (mode === 'vertical' || mode === 'vertical-auto') && (classes === null || classes === void 0 ? void 0 : classes.wrapperVertical), mode === 'horizontal' && (classes === null || classes === void 0 ? void 0 : classes.wrapperHorizontal), hasOpen && (classes === null || classes === void 0 ? void 0 : classes.wrapperHasOpen), theme === 'dark' ? classes === null || classes === void 0 ? void 0 : classes.wrapperDark : classes === null || classes === void 0 ? void 0 : classes.wrapperLight, collapse && (classes === null || classes === void 0 ? void 0 : classes.collapse)),
89
+ return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
90
+ className: classNames(props.className, classes === null || classes === void 0 ? void 0 : classes.wrapper, mode === 'inline' && (classes === null || classes === void 0 ? void 0 : classes.wrapperInline), (mode === 'vertical' || mode === 'vertical-auto') && (classes === null || classes === void 0 ? void 0 : classes.wrapperVertical), mode === 'horizontal' && (classes === null || classes === void 0 ? void 0 : classes.wrapperHorizontal), hasOpen && (classes === null || classes === void 0 ? void 0 : classes.wrapperHasOpen), theme === 'dark' ? classes === null || classes === void 0 ? void 0 : classes.wrapperDark : classes === null || classes === void 0 ? void 0 : classes.wrapperLight, collapse && (classes === null || classes === void 0 ? void 0 : classes.wrapperCollpase), context.inTransition && (classes === null || classes === void 0 ? void 0 : classes.wrapperInTransition))
91
+ }, util.getDataAttribute({
92
+ theme: theme,
93
+ mode: isVertical ? 'vertical' : mode
94
+ })), {}, {
76
95
  style: _objectSpread({
77
96
  height: props.height
78
- }, style),
79
- children: [/*#__PURE__*/_jsx("div", {
97
+ }, props.style),
98
+ onTransitionEnd: function onTransitionEnd(e) {
99
+ if (e.target === e.currentTarget) {
100
+ context.inTransition = false;
101
+ render();
102
+ }
103
+ },
104
+ children: [renderHeader(), /*#__PURE__*/_jsx("div", {
80
105
  className: classes === null || classes === void 0 ? void 0 : classes.scrollbox,
81
106
  ref: scrollRef,
82
107
  children: /*#__PURE__*/_jsx("ul", {
83
108
  className: classNames(classes === null || classes === void 0 ? void 0 : classes.root, hasExpand && (classes === null || classes === void 0 ? void 0 : classes.childrenHasExpand)),
84
- style: listStyle,
85
109
  children: data.map(function (item, index) {
86
110
  var key = util.getKey(props.keygen, item, index);
87
111
  return /*#__PURE__*/_jsx(Item, {
88
112
  level: 0,
89
113
  index: index,
90
114
  parentId: "",
91
- collapse: collapse,
92
115
  dataItem: item,
93
116
  keyResult: key,
94
117
  openKeys: openKeys,
@@ -103,7 +126,6 @@ var Menu = function Menu(props) {
103
126
  toggleDuration: props.toggleDuration,
104
127
  disabled: props.disabled,
105
128
  renderItem: props.renderItem,
106
- renderCollapse: props.renderCollapse,
107
129
  keygen: props.keygen,
108
130
  jssStyle: props.jssStyle,
109
131
  linkKey: props.linkKey,
@@ -111,16 +133,14 @@ var Menu = function Menu(props) {
111
133
  frontCaretType: props.frontCaretType,
112
134
  caretColor: props.caretColor,
113
135
  inlineIndent: props.inlineIndent,
114
- scrollRef: scrollRef
136
+ scrollRef: scrollRef,
137
+ theme: theme,
138
+ renderIcon: props.renderIcon,
139
+ collapse: collapse
115
140
  }, key);
116
141
  })
117
142
  })
118
- }), showScrollBar && /*#__PURE__*/_jsx(Scroll, {
119
- targetRef: scrollRef,
120
- direction: mode === 'vertical' || mode === 'vertical-auto' ? 'y' : 'x',
121
- data: data,
122
- jssStyle: props.jssStyle
123
143
  })]
124
- });
144
+ }));
125
145
  };
126
146
  export default Menu;