@sheinx/base 3.2.0-rc.3 → 3.2.0-rc.5

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 (219) hide show
  1. package/cjs/card/card-header.d.ts.map +1 -1
  2. package/cjs/card/card-header.js +23 -5
  3. package/cjs/card/card.d.ts.map +1 -1
  4. package/cjs/card/card.js +7 -3
  5. package/cjs/card/card.type.d.ts +1 -0
  6. package/cjs/card/card.type.d.ts.map +1 -1
  7. package/cjs/cascader/cascader.type.d.ts +1 -0
  8. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  9. package/cjs/config/index.d.ts.map +1 -1
  10. package/cjs/config/index.js +3 -3
  11. package/cjs/form/form-field.type.d.ts +1 -1
  12. package/cjs/form/form-field.type.d.ts.map +1 -1
  13. package/cjs/grid/util.d.ts.map +1 -1
  14. package/cjs/grid/util.js +2 -6
  15. package/cjs/icons/config.d.ts +1 -0
  16. package/cjs/icons/config.d.ts.map +1 -1
  17. package/cjs/icons/config.js +2 -1
  18. package/cjs/input/input-group.d.ts.map +1 -1
  19. package/cjs/input/input-group.js +4 -2
  20. package/cjs/input/input-group.type.d.ts +10 -0
  21. package/cjs/input/input-group.type.d.ts.map +1 -1
  22. package/cjs/input/input-number.js +3 -2
  23. package/cjs/input/input.js +2 -2
  24. package/cjs/input/input.type.d.ts +5 -0
  25. package/cjs/input/input.type.d.ts.map +1 -1
  26. package/cjs/input/use-input-common.d.ts.map +1 -1
  27. package/cjs/input/use-input-common.js +1 -0
  28. package/cjs/menu/index.d.ts +2 -0
  29. package/cjs/menu/index.d.ts.map +1 -1
  30. package/cjs/menu/index.js +7 -0
  31. package/cjs/menu/item.d.ts.map +1 -1
  32. package/cjs/menu/item.js +91 -61
  33. package/cjs/menu/menu.d.ts.map +1 -1
  34. package/cjs/menu/menu.js +45 -22
  35. package/cjs/menu/menu.type.d.ts +25 -16
  36. package/cjs/menu/menu.type.d.ts.map +1 -1
  37. package/cjs/menu/search.d.ts +5 -0
  38. package/cjs/menu/search.d.ts.map +1 -0
  39. package/cjs/menu/search.js +53 -0
  40. package/cjs/menu/search.type.d.ts +33 -0
  41. package/cjs/menu/search.type.d.ts.map +1 -0
  42. package/cjs/menu/search.type.js +5 -0
  43. package/cjs/modal/modal-content.d.ts.map +1 -1
  44. package/cjs/modal/modal-content.js +5 -5
  45. package/cjs/modal/modal-func.d.ts +1 -1
  46. package/cjs/modal/modal-func.d.ts.map +1 -1
  47. package/cjs/modal/modal-func.js +1 -0
  48. package/cjs/modal/modal.d.ts.map +1 -1
  49. package/cjs/modal/modal.js +18 -3
  50. package/cjs/modal/modal.type.d.ts +1 -0
  51. package/cjs/modal/modal.type.d.ts.map +1 -1
  52. package/cjs/popover/confirm.d.ts.map +1 -1
  53. package/cjs/popover/confirm.js +4 -0
  54. package/cjs/popover/popover.d.ts.map +1 -1
  55. package/cjs/popover/popover.js +9 -5
  56. package/cjs/popover/popover.type.d.ts +18 -0
  57. package/cjs/popover/popover.type.d.ts.map +1 -1
  58. package/cjs/select/result-more.d.ts.map +1 -1
  59. package/cjs/select/result-more.js +0 -14
  60. package/cjs/select/result.d.ts.map +1 -1
  61. package/cjs/select/result.js +9 -7
  62. package/cjs/select/result.type.d.ts +1 -0
  63. package/cjs/select/result.type.d.ts.map +1 -1
  64. package/cjs/select/select.d.ts.map +1 -1
  65. package/cjs/select/select.js +1 -11
  66. package/cjs/select/select.type.d.ts +1 -0
  67. package/cjs/select/select.type.d.ts.map +1 -1
  68. package/cjs/sticky/sticky.d.ts.map +1 -1
  69. package/cjs/sticky/sticky.js +212 -90
  70. package/cjs/table/table.d.ts.map +1 -1
  71. package/cjs/table/table.js +34 -5
  72. package/cjs/table/tfoot.d.ts.map +1 -1
  73. package/cjs/table/tfoot.js +4 -1
  74. package/cjs/table/thead.js +1 -4
  75. package/cjs/table/tr.d.ts.map +1 -1
  76. package/cjs/table/tr.js +1 -1
  77. package/cjs/tag/tag.d.ts.map +1 -1
  78. package/cjs/tag/tag.js +5 -4
  79. package/cjs/textarea/textarea.d.ts.map +1 -1
  80. package/cjs/textarea/textarea.js +1 -0
  81. package/cjs/transfer/transfer-list.d.ts.map +1 -1
  82. package/cjs/transfer/transfer-list.js +7 -1
  83. package/cjs/transfer/transfer.js +1 -1
  84. package/cjs/tree/tree-content.d.ts.map +1 -1
  85. package/cjs/tree/tree-content.js +7 -5
  86. package/cjs/tree/tree-content.type.d.ts +1 -1
  87. package/cjs/tree/tree-content.type.d.ts.map +1 -1
  88. package/cjs/tree/tree-list.type.d.ts +1 -1
  89. package/cjs/tree/tree-list.type.d.ts.map +1 -1
  90. package/cjs/tree/tree-node.d.ts.map +1 -1
  91. package/cjs/tree/tree-node.js +5 -1
  92. package/cjs/tree/tree-node.type.d.ts +1 -1
  93. package/cjs/tree/tree-node.type.d.ts.map +1 -1
  94. package/cjs/tree/tree-root.type.d.ts +1 -1
  95. package/cjs/tree/tree-root.type.d.ts.map +1 -1
  96. package/cjs/tree/tree.d.ts.map +1 -1
  97. package/cjs/tree/tree.js +14 -0
  98. package/cjs/tree/tree.type.d.ts +1 -2
  99. package/cjs/tree/tree.type.d.ts.map +1 -1
  100. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  101. package/cjs/tree-select/tree-select.js +3 -1
  102. package/cjs/tree-select/tree-select.type.d.ts +1 -0
  103. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  104. package/cjs/virtual-scroll/scroll.d.ts +1 -0
  105. package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
  106. package/cjs/virtual-scroll/scroll.js +3 -3
  107. package/cjs/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  108. package/cjs/virtual-scroll/virtual-scroll-list.js +3 -0
  109. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  110. package/esm/card/card-header.d.ts.map +1 -1
  111. package/esm/card/card-header.js +23 -5
  112. package/esm/card/card.d.ts.map +1 -1
  113. package/esm/card/card.js +9 -5
  114. package/esm/card/card.type.d.ts +1 -0
  115. package/esm/card/card.type.d.ts.map +1 -1
  116. package/esm/cascader/cascader.type.d.ts +1 -0
  117. package/esm/cascader/cascader.type.d.ts.map +1 -1
  118. package/esm/config/index.d.ts.map +1 -1
  119. package/esm/config/index.js +3 -3
  120. package/esm/form/form-field.type.d.ts +1 -1
  121. package/esm/form/form-field.type.d.ts.map +1 -1
  122. package/esm/grid/util.d.ts.map +1 -1
  123. package/esm/grid/util.js +2 -6
  124. package/esm/icons/config.d.ts +1 -0
  125. package/esm/icons/config.d.ts.map +1 -1
  126. package/esm/icons/config.js +2 -1
  127. package/esm/input/input-group.d.ts.map +1 -1
  128. package/esm/input/input-group.js +4 -2
  129. package/esm/input/input-group.type.d.ts +10 -0
  130. package/esm/input/input-group.type.d.ts.map +1 -1
  131. package/esm/input/input-number.js +3 -2
  132. package/esm/input/input.js +2 -2
  133. package/esm/input/input.type.d.ts +5 -0
  134. package/esm/input/input.type.d.ts.map +1 -1
  135. package/esm/input/use-input-common.d.ts.map +1 -1
  136. package/esm/input/use-input-common.js +1 -0
  137. package/esm/menu/index.d.ts +2 -0
  138. package/esm/menu/index.d.ts.map +1 -1
  139. package/esm/menu/index.js +2 -1
  140. package/esm/menu/item.d.ts.map +1 -1
  141. package/esm/menu/item.js +94 -63
  142. package/esm/menu/menu.d.ts.map +1 -1
  143. package/esm/menu/menu.js +46 -23
  144. package/esm/menu/menu.type.d.ts +25 -16
  145. package/esm/menu/menu.type.d.ts.map +1 -1
  146. package/esm/menu/search.d.ts +5 -0
  147. package/esm/menu/search.d.ts.map +1 -0
  148. package/esm/menu/search.js +46 -0
  149. package/esm/menu/search.type.d.ts +33 -0
  150. package/esm/menu/search.type.d.ts.map +1 -0
  151. package/esm/menu/search.type.js +1 -0
  152. package/esm/modal/modal-content.d.ts.map +1 -1
  153. package/esm/modal/modal-content.js +5 -5
  154. package/esm/modal/modal-func.d.ts +1 -1
  155. package/esm/modal/modal-func.d.ts.map +1 -1
  156. package/esm/modal/modal-func.js +1 -0
  157. package/esm/modal/modal.d.ts.map +1 -1
  158. package/esm/modal/modal.js +19 -4
  159. package/esm/modal/modal.type.d.ts +1 -0
  160. package/esm/modal/modal.type.d.ts.map +1 -1
  161. package/esm/popover/confirm.d.ts.map +1 -1
  162. package/esm/popover/confirm.js +4 -0
  163. package/esm/popover/popover.d.ts.map +1 -1
  164. package/esm/popover/popover.js +9 -5
  165. package/esm/popover/popover.type.d.ts +18 -0
  166. package/esm/popover/popover.type.d.ts.map +1 -1
  167. package/esm/select/result-more.d.ts.map +1 -1
  168. package/esm/select/result-more.js +1 -16
  169. package/esm/select/result.d.ts.map +1 -1
  170. package/esm/select/result.js +10 -8
  171. package/esm/select/result.type.d.ts +1 -0
  172. package/esm/select/result.type.d.ts.map +1 -1
  173. package/esm/select/select.d.ts.map +1 -1
  174. package/esm/select/select.js +1 -11
  175. package/esm/select/select.type.d.ts +1 -0
  176. package/esm/select/select.type.d.ts.map +1 -1
  177. package/esm/sticky/sticky.d.ts.map +1 -1
  178. package/esm/sticky/sticky.js +213 -91
  179. package/esm/table/table.d.ts.map +1 -1
  180. package/esm/table/table.js +34 -5
  181. package/esm/table/tfoot.d.ts.map +1 -1
  182. package/esm/table/tfoot.js +4 -1
  183. package/esm/table/thead.js +1 -4
  184. package/esm/table/tr.d.ts.map +1 -1
  185. package/esm/table/tr.js +1 -1
  186. package/esm/tag/tag.d.ts.map +1 -1
  187. package/esm/tag/tag.js +5 -4
  188. package/esm/textarea/textarea.d.ts.map +1 -1
  189. package/esm/textarea/textarea.js +1 -0
  190. package/esm/transfer/transfer-list.d.ts.map +1 -1
  191. package/esm/transfer/transfer-list.js +7 -1
  192. package/esm/transfer/transfer.js +1 -1
  193. package/esm/tree/tree-content.d.ts.map +1 -1
  194. package/esm/tree/tree-content.js +7 -5
  195. package/esm/tree/tree-content.type.d.ts +1 -1
  196. package/esm/tree/tree-content.type.d.ts.map +1 -1
  197. package/esm/tree/tree-list.type.d.ts +1 -1
  198. package/esm/tree/tree-list.type.d.ts.map +1 -1
  199. package/esm/tree/tree-node.d.ts.map +1 -1
  200. package/esm/tree/tree-node.js +5 -1
  201. package/esm/tree/tree-node.type.d.ts +1 -1
  202. package/esm/tree/tree-node.type.d.ts.map +1 -1
  203. package/esm/tree/tree-root.type.d.ts +1 -1
  204. package/esm/tree/tree-root.type.d.ts.map +1 -1
  205. package/esm/tree/tree.d.ts.map +1 -1
  206. package/esm/tree/tree.js +15 -1
  207. package/esm/tree/tree.type.d.ts +1 -2
  208. package/esm/tree/tree.type.d.ts.map +1 -1
  209. package/esm/tree-select/tree-select.d.ts.map +1 -1
  210. package/esm/tree-select/tree-select.js +3 -1
  211. package/esm/tree-select/tree-select.type.d.ts +1 -0
  212. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  213. package/esm/virtual-scroll/scroll.d.ts +1 -0
  214. package/esm/virtual-scroll/scroll.d.ts.map +1 -1
  215. package/esm/virtual-scroll/scroll.js +3 -3
  216. package/esm/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  217. package/esm/virtual-scroll/virtual-scroll-list.js +3 -0
  218. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  219. package/package.json +3 -3
package/cjs/menu/item.js CHANGED
@@ -9,6 +9,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _hooks = require("@sheinx/hooks");
10
10
  var _icons = _interopRequireDefault(require("../icons"));
11
11
  var _config = require("../config");
12
+ var _popover = _interopRequireDefault(require("../../src/popover"));
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  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); }
@@ -21,14 +22,17 @@ var MenuItem = function MenuItem(props) {
21
22
  var _props$jssStyle, _props$jssStyle$menu;
22
23
  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);
23
24
  var children = props.dataItem.children || [];
24
- var itemContentRef = (0, _react.useRef)(null);
25
- var timer = (0, _react.useRef)(null);
26
25
  var _props$inlineIndent = props.inlineIndent,
27
26
  inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent,
28
27
  _props$frontCaretType = props.frontCaretType,
29
28
  frontCaretType = _props$frontCaretType === void 0 ? 'solid' : _props$frontCaretType,
30
- collapse = props.collapse;
29
+ mode = props.mode,
30
+ _props$toggleDuration = props.toggleDuration,
31
+ toggleDuration = _props$toggleDuration === void 0 ? 200 : _props$toggleDuration;
31
32
  var config = (0, _config.useConfig)();
33
+ var shoudPop = mode === 'vertical' || mode === 'vertical-auto' || mode === 'horizontal';
34
+ var isVertical = mode === 'vertical' || mode === 'vertical-auto';
35
+ var isSubHorizontal = mode === 'horizontal' && props.level > 0;
32
36
  var hasExpandAbleChildren = children.some(function (item) {
33
37
  return item && item.children && (props.looseChildren || item.children.length);
34
38
  });
@@ -44,7 +48,6 @@ var MenuItem = function MenuItem(props) {
44
48
  parentId: props.parentId,
45
49
  looseChildren: props.looseChildren,
46
50
  parentSelectable: props.parentSelectable,
47
- toggleDuration: props.toggleDuration,
48
51
  disabled: props.disabled,
49
52
  mode: props.mode,
50
53
  scrollRef: props.scrollRef
@@ -60,41 +63,107 @@ var MenuItem = function MenuItem(props) {
60
63
  handleItemClick = _useMenuItem.handleItemClick,
61
64
  handleMouseEnter = _useMenuItem.handleMouseEnter,
62
65
  handleMouseLeave = _useMenuItem.handleMouseLeave;
66
+ var renderChildren = function renderChildren() {
67
+ var _items;
68
+ var items = children;
69
+ var isTitle = false;
70
+ if (!((_items = items) !== null && _items !== void 0 && _items.length)) {
71
+ if (props.level === 0 && props.collapse && shoudPop) {
72
+ items = [props.dataItem];
73
+ isTitle = true;
74
+ } else {
75
+ return null;
76
+ }
77
+ }
78
+ var content = function content(close) {
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
80
+ className: (0, _classnames.default)(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))
81
+ // 子菜单点击弹出
82
+ ,
83
+ onClick: close,
84
+ dir: config.direction,
85
+ children: items.map(function (item, index) {
86
+ var key = _hooks.util.getKey(props.keygen, item, index);
87
+ return /*#__PURE__*/(0, _react.createElement)(MenuItem, _objectSpread(_objectSpread({}, props), {}, {
88
+ mode: mode,
89
+ parentId: id,
90
+ dataItem: item,
91
+ key: key,
92
+ index: index,
93
+ keyResult: key,
94
+ level: props.level + 1,
95
+ renderIcon: isTitle ? undefined : props.renderIcon
96
+ }));
97
+ })
98
+ });
99
+ };
100
+ if (shoudPop) {
101
+ var position = isVertical || isSubHorizontal ? isUp ? 'right-bottom' : 'right-top' : 'bottom';
102
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.default, {
103
+ mouseLeaveDelay: toggleDuration,
104
+ className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.popover),
105
+ attributes: _hooks.util.getDataAttribute({
106
+ theme: props.theme || 'light',
107
+ mode: isVertical ? 'vertical' : mode
108
+ }),
109
+ jssStyle: props.jssStyle,
110
+ arrowClass: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.popArrow, props.theme === 'dark' && (classes === null || classes === void 0 ? void 0 : classes.popArrowDark)),
111
+ position: position,
112
+ lazy: false,
113
+ children: function children(close) {
114
+ return content(close);
115
+ }
116
+ });
117
+ }
118
+ return content();
119
+ };
63
120
  var renderItem = function renderItem() {
121
+ var icon = _hooks.util.isFunc(props.renderIcon) ? props.renderIcon(props.dataItem) : null;
122
+ var iconEl = icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
123
+ className: classes === null || classes === void 0 ? void 0 : classes.titleIcon,
124
+ children: icon
125
+ }) : null;
126
+ var indent = props.mode === 'inline' && props.level ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
127
+ style: {
128
+ width: props.level * inlineIndent,
129
+ flexShrink: 0
130
+ }
131
+ }) : null;
64
132
  var item = _hooks.util.render(props.renderItem, props.dataItem, props.index);
65
133
  var link = props.linkKey ? _hooks.util.getKey(props.linkKey, props.dataItem, props.index) : undefined;
66
134
  var title = null;
67
135
  if (_hooks.util.isLink(item)) {
68
136
  var mergeClass = (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.title, item.props && item.props.className);
69
137
  title = /*#__PURE__*/(0, _react.cloneElement)(item, {
70
- className: mergeClass
138
+ className: mergeClass,
139
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
140
+ children: [indent, iconEl, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
141
+ className: classes === null || classes === void 0 ? void 0 : classes.titleContent,
142
+ children: item.props.children
143
+ })]
144
+ })
71
145
  });
72
146
  } else {
73
147
  var linkProps = {
74
148
  className: classes === null || classes === void 0 ? void 0 : classes.title,
75
149
  href: link
76
150
  };
77
- title = /*#__PURE__*/(0, _jsxRuntime.jsx)("a", _objectSpread(_objectSpread({}, linkProps), {}, {
78
- children: _hooks.util.wrapSpan(item)
151
+ title = /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", _objectSpread(_objectSpread({}, linkProps), {}, {
152
+ children: [indent, iconEl, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
153
+ className: classes === null || classes === void 0 ? void 0 : classes.titleContent,
154
+ children: _hooks.util.wrapSpan(item)
155
+ })]
79
156
  }));
80
157
  }
81
- var indent = props.mode === 'inline' && props.level ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
82
- style: {
83
- width: props.level * inlineIndent,
84
- flexShrink: 0
85
- }
86
- }) : null;
87
- var isFirstCollapseItem = collapse && props.level === 0;
88
158
  if (props.frontCaret) {
89
159
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
90
- ref: itemContentRef,
91
- className: (0, _classnames.default)(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)),
160
+ className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentFront),
92
161
  onClick: handleItemClick,
93
- children: [indent, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
162
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
94
163
  style: {
95
164
  color: props.caretColor
96
165
  },
97
- className: (0, _classnames.default)(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)),
166
+ className: (0, _classnames.default)(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)),
98
167
  onClick: handleExpandClick,
99
168
  dir: config.direction,
100
169
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -105,15 +174,14 @@ var MenuItem = function MenuItem(props) {
105
174
  });
106
175
  } else {
107
176
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
108
- ref: itemContentRef,
109
- className: (0, _classnames.default)(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)),
177
+ className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentBack),
110
178
  onClick: handleItemClick,
111
- children: [indent, title, expandAble && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
179
+ children: [title, expandAble && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
112
180
  onClick: handleExpandClick,
113
181
  style: {
114
182
  color: props.caretColor
115
183
  },
116
- className: (0, _classnames.default)(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)),
184
+ className: (0, _classnames.default)(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)),
117
185
  dir: config.direction,
118
186
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
119
187
  className: classes === null || classes === void 0 ? void 0 : classes.icon,
@@ -123,50 +191,12 @@ var MenuItem = function MenuItem(props) {
123
191
  });
124
192
  }
125
193
  };
126
- var renderCollapseItem = function renderCollapseItem() {
127
- if (!props.renderCollapse) return null;
128
- var isFirstCollapseItem = props.level === 0 && collapse;
129
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
130
- className: (0, _classnames.default)(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)),
131
- onClick: handleItemClick,
132
- children: props.renderCollapse(props.dataItem, props.index)
133
- });
134
- };
135
- (0, _react.useEffect)(function () {
136
- if (!itemContentRef.current) return;
137
- if (collapse === undefined) return;
138
- if (timer.current) clearTimeout(timer.current);
139
- itemContentRef.current.style.overflow = 'hidden';
140
- itemContentRef.current.style.whiteSpace = 'nowrap';
141
- timer.current = setTimeout(function () {
142
- if (!itemContentRef.current) return;
143
- itemContentRef.current.style.overflow = '';
144
- itemContentRef.current.style.whiteSpace = '';
145
- }, 300);
146
- return function () {
147
- if (timer.current) clearTimeout(timer.current);
148
- };
149
- }, [collapse]);
150
194
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
151
195
  className: (0, _classnames.default)(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)),
152
196
  onMouseEnter: handleMouseEnter,
153
197
  onMouseLeave: handleMouseLeave,
154
198
  dir: config.direction,
155
- children: [renderItem(), renderCollapseItem(), children.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
156
- className: (0, _classnames.default)(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)),
157
- dir: config.direction,
158
- children: children.map(function (item, index) {
159
- var key = _hooks.util.getKey(props.keygen, item, index);
160
- return /*#__PURE__*/(0, _react.createElement)(MenuItem, _objectSpread(_objectSpread({}, props), {}, {
161
- parentId: id,
162
- dataItem: item,
163
- key: key,
164
- index: index,
165
- keyResult: key,
166
- level: props.level + 1
167
- }));
168
- })
169
- })]
199
+ children: [renderItem(), renderChildren()]
170
200
  });
171
201
  };
172
202
  var _default = exports.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/cjs/menu/menu.js CHANGED
@@ -25,7 +25,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
25
25
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
26
  var emptyArray = [];
27
27
  var Menu = function Menu(props) {
28
- var _props$jssStyle, _props$jssStyle$menu, _props$style;
28
+ var _props$jssStyle, _props$jssStyle$menu;
29
29
  var _props$data = props.data,
30
30
  data = _props$data === void 0 ? emptyArray : _props$data,
31
31
  _props$mode = props.mode,
@@ -33,7 +33,19 @@ var Menu = function Menu(props) {
33
33
  _props$theme = props.theme,
34
34
  theme = _props$theme === void 0 ? 'light' : _props$theme,
35
35
  collapse = props.collapse;
36
- var mode = collapse ? 'vertical' : modeProps;
36
+ var render = (0, _hooks.useRender)();
37
+
38
+ // const [inTransition, setInTransition] = useState(false);
39
+ var mode = collapse ? 'vertical-auto' : modeProps;
40
+ var _useRef = (0, _react.useRef)({
41
+ inTransition: false,
42
+ lastCollapse: !!props.collapse
43
+ }),
44
+ context = _useRef.current;
45
+ if (props.mode !== 'horizontal' && !!context.lastCollapse !== !!collapse) {
46
+ context.inTransition = true;
47
+ context.lastCollapse = !!props.collapse;
48
+ }
37
49
  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);
38
50
  var isVertical = mode === 'vertical' || mode === 'vertical-auto';
39
51
  var isHorizontal = mode === 'horizontal';
@@ -41,16 +53,12 @@ var Menu = function Menu(props) {
41
53
  _useState2 = _slicedToArray(_useState, 2),
42
54
  hasOpen = _useState2[0],
43
55
  setHasOpen = _useState2[1];
44
- var _useState3 = (0, _react.useState)([]),
45
- _useState4 = _slicedToArray(_useState3, 2),
46
- collapseOpenKeys = _useState4[0],
47
- setCollapseOpenKeys = _useState4[1];
48
56
  var _useMenu = (0, _hooks.useMenu)({
49
57
  data: data,
50
58
  active: props.active,
51
59
  defaultOpenKeys: props.defaultOpenKeys,
52
- openKeys: props.collapse ? collapseOpenKeys : props.openKeys,
53
- onOpenChange: props.collapse ? setCollapseOpenKeys : props.onOpenChange
60
+ openKeys: props.openKeys,
61
+ onOpenChange: props.onOpenChange
54
62
  }),
55
63
  openKeys = _useMenu.openKeys,
56
64
  onOpenChange = _useMenu.onOpenChange,
@@ -62,11 +70,16 @@ var Menu = function Menu(props) {
62
70
  return item && item.children && (props.looseChildren || item.children.length);
63
71
  });
64
72
  var showScrollBar = isHorizontal || isVertical;
65
- var style = _objectSpread({}, props.style);
66
- if (collapse) delete style.width;
67
- var listStyle = isVertical && !collapse ? {
68
- width: (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width
69
- } : undefined;
73
+ var renderHeader = function renderHeader() {
74
+ if (modeProps === 'horizontal') return;
75
+ if (props.header) {
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
77
+ className: classes === null || classes === void 0 ? void 0 : classes.header,
78
+ children: props.header
79
+ });
80
+ }
81
+ return null;
82
+ };
70
83
  (0, _react.useEffect)(function () {
71
84
  var newOpen = (openKeys || []).filter(function (k) {
72
85
  return data.find(function (d, i) {
@@ -77,24 +90,32 @@ var Menu = function Menu(props) {
77
90
  setHasOpen(newOpen);
78
91
  }
79
92
  }, [data, openKeys]);
80
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
81
- className: (0, _classnames.default)(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)),
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({
94
+ className: (0, _classnames.default)(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))
95
+ }, _hooks.util.getDataAttribute({
96
+ theme: theme,
97
+ mode: isVertical ? 'vertical' : mode
98
+ })), {}, {
82
99
  style: _objectSpread({
83
100
  height: props.height
84
- }, style),
85
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
101
+ }, props.style),
102
+ onTransitionEnd: function onTransitionEnd(e) {
103
+ if (e.target === e.currentTarget) {
104
+ context.inTransition = false;
105
+ render();
106
+ }
107
+ },
108
+ children: [renderHeader(), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
86
109
  className: classes === null || classes === void 0 ? void 0 : classes.scrollbox,
87
110
  ref: scrollRef,
88
111
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
89
112
  className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.root, hasExpand && (classes === null || classes === void 0 ? void 0 : classes.childrenHasExpand)),
90
- style: listStyle,
91
113
  children: data.map(function (item, index) {
92
114
  var key = _hooks.util.getKey(props.keygen, item, index);
93
115
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
94
116
  level: 0,
95
117
  index: index,
96
118
  parentId: "",
97
- collapse: collapse,
98
119
  dataItem: item,
99
120
  keyResult: key,
100
121
  openKeys: openKeys,
@@ -109,7 +130,6 @@ var Menu = function Menu(props) {
109
130
  toggleDuration: props.toggleDuration,
110
131
  disabled: props.disabled,
111
132
  renderItem: props.renderItem,
112
- renderCollapse: props.renderCollapse,
113
133
  keygen: props.keygen,
114
134
  jssStyle: props.jssStyle,
115
135
  linkKey: props.linkKey,
@@ -117,7 +137,10 @@ var Menu = function Menu(props) {
117
137
  frontCaretType: props.frontCaretType,
118
138
  caretColor: props.caretColor,
119
139
  inlineIndent: props.inlineIndent,
120
- scrollRef: scrollRef
140
+ scrollRef: scrollRef,
141
+ theme: theme,
142
+ renderIcon: props.renderIcon,
143
+ collapse: collapse
121
144
  }, key);
122
145
  })
123
146
  })
@@ -127,6 +150,6 @@ var Menu = function Menu(props) {
127
150
  data: data,
128
151
  jssStyle: props.jssStyle
129
152
  })]
130
- });
153
+ }));
131
154
  };
132
155
  var _default = exports.default = Menu;
@@ -2,6 +2,7 @@
2
2
  import type { UseMenuItemProps } from '@sheinx/hooks';
3
3
  import { KeygenResult, KeygenType, ObjectKey } from '@sheinx/hooks';
4
4
  import { CommonType } from '../common/type';
5
+ import { PopoverJssStyle } from '../popover/popover.type';
5
6
  export type MenuMode = 'inline' | 'vertical' | 'horizontal' | 'vertical-auto';
6
7
  export interface MenuClasses {
7
8
  wrapper: string;
@@ -11,28 +12,30 @@ export interface MenuClasses {
11
12
  wrapperHasOpen: string;
12
13
  wrapperLight: string;
13
14
  wrapperDark: string;
14
- collapse: string;
15
+ wrapperCollpase: string;
16
+ wrapperInTransition: string;
17
+ header: string;
15
18
  root: string;
16
19
  children: string;
20
+ childrenShow: string;
17
21
  childrenUp: string;
18
22
  item: string;
19
- collapseItem: string;
20
- collapseItemInPath: string;
21
- collapseItemHide: string;
22
23
  itemActive: string;
23
24
  itemDisabled: string;
24
25
  itemOpen: string;
25
26
  itemInPath: string;
26
27
  itemHasChildren: string;
27
28
  itemContent: string;
28
- itemContentHide: string;
29
29
  itemContentFront: string;
30
30
  itemContentBack: string;
31
31
  title: string;
32
+ titleIcon: string;
33
+ titleContent: string;
32
34
  expand: string;
33
35
  expandFront: string;
34
36
  expandBack: string;
35
37
  expandHover: string;
38
+ expandVertical: string;
36
39
  scrollbar: string;
37
40
  scrollbarX: string;
38
41
  scrollbarY: string;
@@ -41,10 +44,13 @@ export interface MenuClasses {
41
44
  scrollbox: string;
42
45
  icon: string;
43
46
  childrenHasExpand: string;
47
+ popover?: string;
48
+ popArrow?: string;
49
+ popArrowDark?: string;
44
50
  }
45
- export type MenuJssStyle = {
51
+ export interface MenuJssStyle extends PopoverJssStyle {
46
52
  menu?: () => MenuClasses;
47
- };
53
+ }
48
54
  /**
49
55
  * @title Menu
50
56
  */
@@ -67,7 +73,7 @@ export interface MenuProps<DataItem, Key extends KeygenResult = KeygenResult> ex
67
73
  * @en theme of menu
68
74
  * @cn 主题
69
75
  */
70
- theme?: 'dark';
76
+ theme?: 'dark' | 'light';
71
77
  /**
72
78
  * @en menu height
73
79
  * @cn 菜单高度
@@ -164,22 +170,25 @@ export interface MenuProps<DataItem, Key extends KeygenResult = KeygenResult> ex
164
170
  */
165
171
  renderItem?: ((data: DataItem, index: number) => React.ReactNode) | ObjectKey<DataItem>;
166
172
  /**
167
- * @en Whether to collapse the menu horizontally
168
- * @cn 是否水平折叠收起菜单
173
+ * @cn 渲染Icon
174
+ * @en Render Icon
175
+ */
176
+ renderIcon?: (data: DataItem) => React.ReactNode;
177
+ /**
178
+ * @cn 是否折叠
179
+ * @en Whether to collapse
169
180
  * @default false
170
181
  */
171
182
  collapse?: boolean;
172
183
  /**
173
- *
174
- * @cn 折叠时的渲染方式,如果为字符串,则会以对应的值作为显示内容;如果为函数,则以函数返回的结果作为显示内容,函数参数为对应的数据对象
175
- * @en Element render mode when collapsed. If it is a string, the corresponding value is taken as the display content; If it is a function, the result returned by the function is taken as the display content.
176
- * @default null
184
+ * @cn 头部内容, 仅在 mode为 'inline' 时生效
177
185
  */
178
- renderCollapse?: (data: DataItem, index: number) => React.ReactNode;
186
+ header?: React.ReactNode;
179
187
  }
180
- export interface MenuItemProps extends UseMenuItemProps, Pick<MenuProps<any, any>, 'renderItem' | 'keygen' | 'linkKey' | 'frontCaret' | 'frontCaretType' | 'caretColor' | 'jssStyle' | 'inlineIndent' | 'collapse' | 'renderCollapse'> {
188
+ export interface MenuItemProps extends UseMenuItemProps, Pick<MenuProps<any, any>, 'renderItem' | 'keygen' | 'linkKey' | 'frontCaret' | 'frontCaretType' | 'caretColor' | 'jssStyle' | 'inlineIndent' | 'theme' | 'renderIcon'> {
181
189
  index: number;
182
190
  level: number;
183
191
  scrollRef: React.MutableRefObject<HTMLDivElement | null>;
192
+ collapse?: boolean;
184
193
  }
185
194
  //# sourceMappingURL=menu.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.type.d.ts","sourceRoot":"","sources":["menu.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu.type.d.ts","sourceRoot":"","sources":["menu.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { MenuSearchProps } from './search.type';
3
+ declare const Search: (props: MenuSearchProps) => JSX.Element;
4
+ export default Search;
5
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["search.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,QAAA,MAAM,MAAM,UAAW,eAAe,gBAmCrC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _input = require("../input");
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _icons = _interopRequireDefault(require("../icons"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var _excluded = ["tip", "status", "innerTitle", "placeTitle", "onSearchClick", "collpase", "theme", "jssStyle", "className", "style"];
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ 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; }
16
+ 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; }
17
+ 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; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
+ 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); }
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
+ var Search = function Search(props) {
23
+ var _jssStyle$menuSearch;
24
+ var _tip = props.tip,
25
+ _status = props.status,
26
+ _innerTitle = props.innerTitle,
27
+ _placeTitle = props.placeTitle,
28
+ onSearchClick = props.onSearchClick,
29
+ collpase = props.collpase,
30
+ _props$theme = props.theme,
31
+ theme = _props$theme === void 0 ? 'light' : _props$theme,
32
+ jssStyle = props.jssStyle,
33
+ className = props.className,
34
+ style = props.style,
35
+ rest = _objectWithoutProperties(props, _excluded);
36
+ var classes = jssStyle === null || jssStyle === void 0 || (_jssStyle$menuSearch = jssStyle.menuSearch) === null || _jssStyle$menuSearch === void 0 ? void 0 : _jssStyle$menuSearch.call(jssStyle);
37
+ var Search = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
38
+ className: classes === null || classes === void 0 ? void 0 : classes.search,
39
+ children: _icons.default.menu.Search
40
+ });
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
42
+ className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.wrapper, theme === 'light' && (classes === null || classes === void 0 ? void 0 : classes.wrapperLight), theme === 'dark' && (classes === null || classes === void 0 ? void 0 : classes.wrapperDark), !!rest.disabled && (classes === null || classes === void 0 ? void 0 : classes.wrapperDisabled), collpase && (classes === null || classes === void 0 ? void 0 : classes.wrapperCollapsed), className),
43
+ style: style,
44
+ onClick: onSearchClick,
45
+ children: collpase ? Search : /*#__PURE__*/(0, _jsxRuntime.jsx)(_input.Input, _objectSpread(_objectSpread({
46
+ prefix: Search,
47
+ className: classes === null || classes === void 0 ? void 0 : classes.input
48
+ }, rest), {}, {
49
+ jssStyle: jssStyle
50
+ }))
51
+ });
52
+ };
53
+ var _default = exports.default = Search;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { InputProps, InputStyle } from '../input/input.type';
3
+ export interface MenuSearchClasses {
4
+ wrapper?: string;
5
+ wrapperDark?: string;
6
+ wrapperLight?: string;
7
+ wrapperCollapsed?: string;
8
+ wrapperDisabled?: string;
9
+ input?: string;
10
+ search?: string;
11
+ }
12
+ export interface MenuSearchStyle extends InputStyle {
13
+ menuSearch?: () => MenuSearchClasses;
14
+ }
15
+ export interface MenuSearchProps extends Omit<InputProps, 'tip' | 'status' | 'innerTitle' | 'placeTitle' | 'error'> {
16
+ /**
17
+ * @cn 是否折叠
18
+ * @en Whether to collapse
19
+ */
20
+ collpase?: boolean;
21
+ /**
22
+ * @cn 主题
23
+ * @en Theme
24
+ */
25
+ theme?: 'dark' | 'light';
26
+ jssStyle?: MenuSearchStyle;
27
+ /**
28
+ * @cn 点击事件
29
+ * @en Click event
30
+ */
31
+ onSearchClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
32
+ }
33
+ //# sourceMappingURL=search.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.type.d.ts","sourceRoot":"","sources":["search.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,UAAU,CAAC,EAAE,MAAM,iBAAiB,CAAC;CACtC;AACD,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;IAClF;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC/D"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAoB9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,uBA+StC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAoB9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,uBAgTtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -190,10 +190,9 @@ var Modal = function Modal(props) {
190
190
  return function () {
191
191
  var _props$shouldDestroy2;
192
192
  (_props$shouldDestroy2 = props.shouldDestroy) === null || _props$shouldDestroy2 === void 0 || _props$shouldDestroy2.call(props, true);
193
- if (props.autoShow) {
194
- var _props$onClose2;
195
- (_props$onClose2 = props.onClose) === null || _props$onClose2 === void 0 || _props$onClose2.call(props);
196
- }
193
+ // if (props.autoShow) {
194
+ // props.onClose?.();
195
+ // }
197
196
  if (context.isMask) {
198
197
  context.isMask = false;
199
198
  hasMask = false;
@@ -217,8 +216,9 @@ var Modal = function Modal(props) {
217
216
  };
218
217
  var renderHeader = function renderHeader() {
219
218
  var showCloseIcon = maskCloseAble === null || !!maskCloseAble;
219
+ var isEmptyTitle = !props.title && props.title !== 0;
220
220
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
221
- className: modalClasses === null || modalClasses === void 0 ? void 0 : modalClasses.header,
221
+ className: (0, _classnames.default)(modalClasses === null || modalClasses === void 0 ? void 0 : modalClasses.header, isEmptyTitle && (modalClasses === null || modalClasses === void 0 ? void 0 : modalClasses.headerEmptyTitle)),
222
222
  onMouseDown: props.moveable ? moveInfo.handleMouseDown : undefined,
223
223
  children: [renderIcon(), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
224
224
  className: modalClasses === null || modalClasses === void 0 ? void 0 : modalClasses.headerTitle,
@@ -3,7 +3,7 @@ import type { ModalOptions } from './modal-func.type';
3
3
  export declare const closeAll: () => void;
4
4
  type MethodType = 'info' | 'warning' | 'error' | 'confirm' | 'show' | 'success';
5
5
  declare const _default: {
6
- type: (type: MethodType, jssStyle: ModalJssStyle) => (options: Omit<ModalOptions, "jssStyle">) => void;
6
+ type: (type: MethodType, jssStyle: ModalJssStyle) => (options: Omit<ModalOptions, "jssStyle">) => (() => void) | undefined;
7
7
  closeAll: () => void;
8
8
  };
9
9
  export default _default;