@sheinx/base 3.1.5 → 3.2.0-rc.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["button.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAiB,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3D,QAAA,MAAM,MAAM;YAAW,WAAW;;CAmHjC,CAAC;AAIF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["button.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAiB,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3D,QAAA,MAAM,MAAM;YAAW,WAAW;;CAgHjC,CAAC;AAIF,eAAe,MAAM,CAAC"}
@@ -7,15 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _hooks = require("@sheinx/hooks");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
11
11
  var _config = require("../config");
12
12
  var _buttonGroup = _interopRequireDefault(require("./button-group"));
13
13
  var _spin = _interopRequireDefault(require("../spin"));
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  var _excluded = ["jssStyle", "className", "style", "children", "loading", "href", "text", "outline", "shape", "size", "type", "space", "target", "mode", "htmlType", "renderLoading"],
16
16
  _excluded2 = ["htmlType", "onRef"];
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
18
  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; }
21
19
  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; }
@@ -25,7 +23,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
25
23
  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; }
26
24
  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; }
27
25
  var Button = function Button(props) {
28
- var _jssStyle$button, _React$Children$map;
26
+ var _jssStyle$button;
29
27
  var jssStyle = props.jssStyle,
30
28
  className = props.className,
31
29
  style = props.style,
@@ -81,12 +79,7 @@ var Button = function Button(props) {
81
79
  }
82
80
  return 12;
83
81
  };
84
- var childrenEl = (_React$Children$map = _react.default.Children.map(getSpaceChildren(children, space), function (item) {
85
- if (loading && /*#__PURE__*/(0, _react.isValidElement)(item) && item.type.isShineoutIcon) return null;
86
- return item;
87
- })) === null || _React$Children$map === void 0 ? void 0 : _React$Children$map.filter(function (item) {
88
- return item !== null;
89
- });
82
+ var childrenEl = getSpaceChildren(children, space);
90
83
  var buttonInnerEl = childrenEl;
91
84
 
92
85
  // if (typeof renderInnerWrapper === 'function') {
@@ -97,8 +90,7 @@ var Button = function Button(props) {
97
90
  className: buttonStyle.spin,
98
91
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_spin.default, {
99
92
  size: getSpinSize(),
100
- jssStyle: jssStyle,
101
- name: "ring"
93
+ jssStyle: jssStyle
102
94
  })
103
95
  });
104
96
  if (renderLoading) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;CAClE;AAGD,eAAO,IAAI,MAAM,EAAE,YAQlB,CAAC;AASF,wBAAgB,mBAAmB,uBAWlC;AAED,eAAO,MAAM,SAAS,oBAErB,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,YAAY,CAAC,SAQtD,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;CAClE;AAGD,eAAO,IAAI,MAAM,EAAE,YAQlB,CAAC;AAQF,wBAAgB,mBAAmB,uBAWlC;AAED,eAAO,MAAM,SAAS,oBAErB,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,YAAY,CAAC,SAQtD,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -37,7 +37,7 @@ var config = exports.config = {
37
37
  locale: processEnv.LOCALE || 'en-US',
38
38
  delay: 0,
39
39
  trim: undefined,
40
- spin: 'ring',
40
+ spin: undefined,
41
41
  direction: 'ltr',
42
42
  popupContainer: null
43
43
  };
@@ -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,gBA6JzD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
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"}
package/cjs/menu/item.js CHANGED
@@ -21,10 +21,13 @@ var MenuItem = function MenuItem(props) {
21
21
  var _props$jssStyle, _props$jssStyle$menu;
22
22
  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
23
  var children = props.dataItem.children || [];
24
+ var itemContentRef = (0, _react.useRef)(null);
25
+ var timer = (0, _react.useRef)(null);
24
26
  var _props$inlineIndent = props.inlineIndent,
25
27
  inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent,
26
28
  _props$frontCaretType = props.frontCaretType,
27
- frontCaretType = _props$frontCaretType === void 0 ? 'solid' : _props$frontCaretType;
29
+ frontCaretType = _props$frontCaretType === void 0 ? 'solid' : _props$frontCaretType,
30
+ collapse = props.collapse;
28
31
  var config = (0, _config.useConfig)();
29
32
  var hasExpandAbleChildren = children.some(function (item) {
30
33
  return item && item.children && (props.looseChildren || item.children.length);
@@ -81,9 +84,11 @@ var MenuItem = function MenuItem(props) {
81
84
  flexShrink: 0
82
85
  }
83
86
  }) : null;
87
+ var isFirstCollapseItem = collapse && props.level === 0;
84
88
  if (props.frontCaret) {
85
89
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
86
- className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentFront),
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)),
87
92
  onClick: handleItemClick,
88
93
  children: [indent, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
89
94
  style: {
@@ -100,7 +105,8 @@ var MenuItem = function MenuItem(props) {
100
105
  });
101
106
  } else {
102
107
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
103
- className: (0, _classnames.default)(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentBack),
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)),
104
110
  onClick: handleItemClick,
105
111
  children: [indent, title, expandAble && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
106
112
  onClick: handleExpandClick,
@@ -117,12 +123,36 @@ var MenuItem = function MenuItem(props) {
117
123
  });
118
124
  }
119
125
  };
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]);
120
150
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
121
151
  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)),
122
152
  onMouseEnter: handleMouseEnter,
123
153
  onMouseLeave: handleMouseLeave,
124
154
  dir: config.direction,
125
- children: [renderItem(), children.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
155
+ children: [renderItem(), renderCollapseItem(), children.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
126
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)),
127
157
  dir: config.direction,
128
158
  children: children.map(function (item, index) {
@@ -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,sFAmGT,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,sFAiHT,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/cjs/menu/menu.js CHANGED
@@ -29,9 +29,11 @@ var Menu = function Menu(props) {
29
29
  var _props$data = props.data,
30
30
  data = _props$data === void 0 ? emptyArray : _props$data,
31
31
  _props$mode = props.mode,
32
- mode = _props$mode === void 0 ? 'inline' : _props$mode,
32
+ modeProps = _props$mode === void 0 ? 'inline' : _props$mode,
33
33
  _props$theme = props.theme,
34
- theme = _props$theme === void 0 ? 'light' : _props$theme;
34
+ theme = _props$theme === void 0 ? 'light' : _props$theme,
35
+ collapse = props.collapse;
36
+ var mode = collapse ? 'vertical' : modeProps;
35
37
  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);
36
38
  var isVertical = mode === 'vertical' || mode === 'vertical-auto';
37
39
  var isHorizontal = mode === 'horizontal';
@@ -39,12 +41,16 @@ var Menu = function Menu(props) {
39
41
  _useState2 = _slicedToArray(_useState, 2),
40
42
  hasOpen = _useState2[0],
41
43
  setHasOpen = _useState2[1];
44
+ var _useState3 = (0, _react.useState)([]),
45
+ _useState4 = _slicedToArray(_useState3, 2),
46
+ collapseOpenKeys = _useState4[0],
47
+ setCollapseOpenKeys = _useState4[1];
42
48
  var _useMenu = (0, _hooks.useMenu)({
43
49
  data: data,
44
50
  active: props.active,
45
51
  defaultOpenKeys: props.defaultOpenKeys,
46
- openKeys: props.openKeys,
47
- onOpenChange: props.onOpenChange
52
+ openKeys: props.collapse ? collapseOpenKeys : props.openKeys,
53
+ onOpenChange: props.collapse ? setCollapseOpenKeys : props.onOpenChange
48
54
  }),
49
55
  openKeys = _useMenu.openKeys,
50
56
  onOpenChange = _useMenu.onOpenChange,
@@ -56,7 +62,9 @@ var Menu = function Menu(props) {
56
62
  return item && item.children && (props.looseChildren || item.children.length);
57
63
  });
58
64
  var showScrollBar = isHorizontal || isVertical;
59
- var listStyle = isVertical ? {
65
+ var style = _objectSpread({}, props.style);
66
+ if (collapse) delete style.width;
67
+ var listStyle = isVertical && !collapse ? {
60
68
  width: (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width
61
69
  } : undefined;
62
70
  (0, _react.useEffect)(function () {
@@ -70,10 +78,10 @@ var Menu = function Menu(props) {
70
78
  }
71
79
  }, [data, openKeys]);
72
80
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
73
- 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),
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)),
74
82
  style: _objectSpread({
75
83
  height: props.height
76
- }, props.style),
84
+ }, style),
77
85
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
78
86
  className: classes === null || classes === void 0 ? void 0 : classes.scrollbox,
79
87
  ref: scrollRef,
@@ -86,6 +94,7 @@ var Menu = function Menu(props) {
86
94
  level: 0,
87
95
  index: index,
88
96
  parentId: "",
97
+ collapse: collapse,
89
98
  dataItem: item,
90
99
  keyResult: key,
91
100
  openKeys: openKeys,
@@ -100,6 +109,7 @@ var Menu = function Menu(props) {
100
109
  toggleDuration: props.toggleDuration,
101
110
  disabled: props.disabled,
102
111
  renderItem: props.renderItem,
112
+ renderCollapse: props.renderCollapse,
103
113
  keygen: props.keygen,
104
114
  jssStyle: props.jssStyle,
105
115
  linkKey: props.linkKey,
@@ -11,16 +11,21 @@ export interface MenuClasses {
11
11
  wrapperHasOpen: string;
12
12
  wrapperLight: string;
13
13
  wrapperDark: string;
14
+ collapse: string;
14
15
  root: string;
15
16
  children: string;
16
17
  childrenUp: string;
17
18
  item: string;
19
+ collapseItem: string;
20
+ collapseItemInPath: string;
21
+ collapseItemHide: string;
18
22
  itemActive: string;
19
23
  itemDisabled: string;
20
24
  itemOpen: string;
21
25
  itemInPath: string;
22
26
  itemHasChildren: string;
23
27
  itemContent: string;
28
+ itemContentHide: string;
24
29
  itemContentFront: string;
25
30
  itemContentBack: string;
26
31
  title: string;
@@ -158,8 +163,21 @@ export interface MenuProps<DataItem, Key extends KeygenResult = KeygenResult> ex
158
163
  * @default 'title'
159
164
  */
160
165
  renderItem?: ((data: DataItem, index: number) => React.ReactNode) | ObjectKey<DataItem>;
166
+ /**
167
+ * @en Whether to collapse the menu horizontally
168
+ * @cn 是否水平折叠收起菜单
169
+ * @default false
170
+ */
171
+ collapse?: boolean;
172
+ /**
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
177
+ */
178
+ renderCollapse?: (data: DataItem, index: number) => React.ReactNode;
161
179
  }
162
- export interface MenuItemProps extends UseMenuItemProps, Pick<MenuProps<any, any>, 'renderItem' | 'keygen' | 'linkKey' | 'frontCaret' | 'frontCaretType' | 'caretColor' | 'jssStyle' | 'inlineIndent'> {
180
+ export interface MenuItemProps extends UseMenuItemProps, Pick<MenuProps<any, any>, 'renderItem' | 'keygen' | 'linkKey' | 'frontCaret' | 'frontCaretType' | 'caretColor' | 'jssStyle' | 'inlineIndent' | 'collapse' | 'renderCollapse'> {
163
181
  index: number;
164
182
  level: number;
165
183
  scrollRef: React.MutableRefObject<HTMLDivElement | null>;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["base.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,IAAI,UAAW,aAAa,gBAsBjC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["base.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,IAAI,UAAW,aAAa,gBAoBjC,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/cjs/spin/base.js CHANGED
@@ -30,16 +30,15 @@ var Spin = function Spin(props) {
30
30
  width: size,
31
31
  height: size
32
32
  }, props.style);
33
- var classname = (0, _classnames.default)(className, styles === null || styles === void 0 ? void 0 : styles.spin);
34
33
  if (count < 1 || !render) {
35
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
36
35
  style: style,
37
- className: classname
36
+ className: className
38
37
  });
39
38
  }
40
39
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
41
40
  style: style,
42
- className: classname,
41
+ className: (0, _classnames.default)(className, styles === null || styles === void 0 ? void 0 : styles.spin),
43
42
  children: range(count + 1, 1).map(function (i) {
44
43
  return render(_objectSpread(_objectSpread({}, props), {}, {
45
44
  index: i
@@ -99,6 +99,7 @@ var Scroll = function Scroll(props) {
99
99
  ref: containerRef,
100
100
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
101
101
  style: {
102
+ flexShrink: 0,
102
103
  flexGrow: 1
103
104
  },
104
105
  children: props.children
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["button.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAiB,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3D,QAAA,MAAM,MAAM;YAAW,WAAW;;CAmHjC,CAAC;AAIF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["button.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAiB,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3D,QAAA,MAAM,MAAM;YAAW,WAAW;;CAgHjC,CAAC;AAIF,eAAe,MAAM,CAAC"}
@@ -10,14 +10,14 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
  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; }
11
11
  import { useButton } from '@sheinx/hooks';
12
12
  import classNames from 'classnames';
13
- import React, { isValidElement } from 'react';
13
+ import React from 'react';
14
14
  import { useConfig } from "../config";
15
15
  import ButtonGroup from "./button-group";
16
16
  import Spin from "../spin";
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
19
  var Button = function Button(props) {
20
- var _jssStyle$button, _React$Children$map;
20
+ var _jssStyle$button;
21
21
  var jssStyle = props.jssStyle,
22
22
  className = props.className,
23
23
  style = props.style,
@@ -73,12 +73,7 @@ var Button = function Button(props) {
73
73
  }
74
74
  return 12;
75
75
  };
76
- var childrenEl = (_React$Children$map = React.Children.map(getSpaceChildren(children, space), function (item) {
77
- if (loading && /*#__PURE__*/isValidElement(item) && item.type.isShineoutIcon) return null;
78
- return item;
79
- })) === null || _React$Children$map === void 0 ? void 0 : _React$Children$map.filter(function (item) {
80
- return item !== null;
81
- });
76
+ var childrenEl = getSpaceChildren(children, space);
82
77
  var buttonInnerEl = childrenEl;
83
78
 
84
79
  // if (typeof renderInnerWrapper === 'function') {
@@ -89,8 +84,7 @@ var Button = function Button(props) {
89
84
  className: buttonStyle.spin,
90
85
  children: /*#__PURE__*/_jsx(Spin, {
91
86
  size: getSpinSize(),
92
- jssStyle: jssStyle,
93
- name: "ring"
87
+ jssStyle: jssStyle
94
88
  })
95
89
  });
96
90
  if (renderLoading) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;CAClE;AAGD,eAAO,IAAI,MAAM,EAAE,YAQlB,CAAC;AASF,wBAAgB,mBAAmB,uBAWlC;AAED,eAAO,MAAM,SAAS,oBAErB,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,YAAY,CAAC,SAQtD,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;CAClE;AAGD,eAAO,IAAI,MAAM,EAAE,YAQlB,CAAC;AAQF,wBAAgB,mBAAmB,uBAWlC;AAED,eAAO,MAAM,SAAS,oBAErB,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,QAAQ,YAAY,CAAC,SAQtD,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -15,7 +15,7 @@ export var config = {
15
15
  locale: processEnv.LOCALE || 'en-US',
16
16
  delay: 0,
17
17
  trim: undefined,
18
- spin: 'ring',
18
+ spin: undefined,
19
19
  direction: 'ltr',
20
20
  popupContainer: null
21
21
  };
@@ -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,gBA6JzD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
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"}
package/esm/menu/item.js CHANGED
@@ -4,7 +4,7 @@ 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 } from 'react';
7
+ import { cloneElement, useEffect, useRef } from 'react';
8
8
  import classNames from 'classnames';
9
9
  import { useMenuItem, util } from '@sheinx/hooks';
10
10
  import Icons from "../icons";
@@ -16,10 +16,13 @@ var MenuItem = function MenuItem(props) {
16
16
  var _props$jssStyle, _props$jssStyle$menu;
17
17
  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
18
  var children = props.dataItem.children || [];
19
+ var itemContentRef = useRef(null);
20
+ var timer = useRef(null);
19
21
  var _props$inlineIndent = props.inlineIndent,
20
22
  inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent,
21
23
  _props$frontCaretType = props.frontCaretType,
22
- frontCaretType = _props$frontCaretType === void 0 ? 'solid' : _props$frontCaretType;
24
+ frontCaretType = _props$frontCaretType === void 0 ? 'solid' : _props$frontCaretType,
25
+ collapse = props.collapse;
23
26
  var config = useConfig();
24
27
  var hasExpandAbleChildren = children.some(function (item) {
25
28
  return item && item.children && (props.looseChildren || item.children.length);
@@ -76,9 +79,11 @@ var MenuItem = function MenuItem(props) {
76
79
  flexShrink: 0
77
80
  }
78
81
  }) : null;
82
+ var isFirstCollapseItem = collapse && props.level === 0;
79
83
  if (props.frontCaret) {
80
84
  return /*#__PURE__*/_jsxs("div", {
81
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentFront),
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)),
82
87
  onClick: handleItemClick,
83
88
  children: [indent, /*#__PURE__*/_jsx("div", {
84
89
  style: {
@@ -95,7 +100,8 @@ var MenuItem = function MenuItem(props) {
95
100
  });
96
101
  } else {
97
102
  return /*#__PURE__*/_jsxs("div", {
98
- className: classNames(classes === null || classes === void 0 ? void 0 : classes.itemContent, classes === null || classes === void 0 ? void 0 : classes.itemContentBack),
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)),
99
105
  onClick: handleItemClick,
100
106
  children: [indent, title, expandAble && /*#__PURE__*/_jsx("div", {
101
107
  onClick: handleExpandClick,
@@ -112,12 +118,36 @@ var MenuItem = function MenuItem(props) {
112
118
  });
113
119
  }
114
120
  };
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]);
115
145
  return /*#__PURE__*/_jsxs("li", {
116
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)),
117
147
  onMouseEnter: handleMouseEnter,
118
148
  onMouseLeave: handleMouseLeave,
119
149
  dir: config.direction,
120
- children: [renderItem(), children.length > 0 && /*#__PURE__*/_jsx("ul", {
150
+ children: [renderItem(), renderCollapseItem(), children.length > 0 && /*#__PURE__*/_jsx("ul", {
121
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)),
122
152
  dir: config.direction,
123
153
  children: children.map(function (item, index) {
@@ -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,sFAmGT,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,sFAiHT,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/esm/menu/menu.js CHANGED
@@ -23,9 +23,11 @@ var Menu = function Menu(props) {
23
23
  var _props$data = props.data,
24
24
  data = _props$data === void 0 ? emptyArray : _props$data,
25
25
  _props$mode = props.mode,
26
- mode = _props$mode === void 0 ? 'inline' : _props$mode,
26
+ modeProps = _props$mode === void 0 ? 'inline' : _props$mode,
27
27
  _props$theme = props.theme,
28
- theme = _props$theme === void 0 ? 'light' : _props$theme;
28
+ theme = _props$theme === void 0 ? 'light' : _props$theme,
29
+ collapse = props.collapse;
30
+ var mode = collapse ? 'vertical' : modeProps;
29
31
  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);
30
32
  var isVertical = mode === 'vertical' || mode === 'vertical-auto';
31
33
  var isHorizontal = mode === 'horizontal';
@@ -33,12 +35,16 @@ var Menu = function Menu(props) {
33
35
  _useState2 = _slicedToArray(_useState, 2),
34
36
  hasOpen = _useState2[0],
35
37
  setHasOpen = _useState2[1];
38
+ var _useState3 = useState([]),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ collapseOpenKeys = _useState4[0],
41
+ setCollapseOpenKeys = _useState4[1];
36
42
  var _useMenu = useMenu({
37
43
  data: data,
38
44
  active: props.active,
39
45
  defaultOpenKeys: props.defaultOpenKeys,
40
- openKeys: props.openKeys,
41
- onOpenChange: props.onOpenChange
46
+ openKeys: props.collapse ? collapseOpenKeys : props.openKeys,
47
+ onOpenChange: props.collapse ? setCollapseOpenKeys : props.onOpenChange
42
48
  }),
43
49
  openKeys = _useMenu.openKeys,
44
50
  onOpenChange = _useMenu.onOpenChange,
@@ -50,7 +56,9 @@ var Menu = function Menu(props) {
50
56
  return item && item.children && (props.looseChildren || item.children.length);
51
57
  });
52
58
  var showScrollBar = isHorizontal || isVertical;
53
- var listStyle = isVertical ? {
59
+ var style = _objectSpread({}, props.style);
60
+ if (collapse) delete style.width;
61
+ var listStyle = isVertical && !collapse ? {
54
62
  width: (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width
55
63
  } : undefined;
56
64
  useEffect(function () {
@@ -64,10 +72,10 @@ var Menu = function Menu(props) {
64
72
  }
65
73
  }, [data, openKeys]);
66
74
  return /*#__PURE__*/_jsxs("div", {
67
- 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),
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)),
68
76
  style: _objectSpread({
69
77
  height: props.height
70
- }, props.style),
78
+ }, style),
71
79
  children: [/*#__PURE__*/_jsx("div", {
72
80
  className: classes === null || classes === void 0 ? void 0 : classes.scrollbox,
73
81
  ref: scrollRef,
@@ -80,6 +88,7 @@ var Menu = function Menu(props) {
80
88
  level: 0,
81
89
  index: index,
82
90
  parentId: "",
91
+ collapse: collapse,
83
92
  dataItem: item,
84
93
  keyResult: key,
85
94
  openKeys: openKeys,
@@ -94,6 +103,7 @@ var Menu = function Menu(props) {
94
103
  toggleDuration: props.toggleDuration,
95
104
  disabled: props.disabled,
96
105
  renderItem: props.renderItem,
106
+ renderCollapse: props.renderCollapse,
97
107
  keygen: props.keygen,
98
108
  jssStyle: props.jssStyle,
99
109
  linkKey: props.linkKey,
@@ -11,16 +11,21 @@ export interface MenuClasses {
11
11
  wrapperHasOpen: string;
12
12
  wrapperLight: string;
13
13
  wrapperDark: string;
14
+ collapse: string;
14
15
  root: string;
15
16
  children: string;
16
17
  childrenUp: string;
17
18
  item: string;
19
+ collapseItem: string;
20
+ collapseItemInPath: string;
21
+ collapseItemHide: string;
18
22
  itemActive: string;
19
23
  itemDisabled: string;
20
24
  itemOpen: string;
21
25
  itemInPath: string;
22
26
  itemHasChildren: string;
23
27
  itemContent: string;
28
+ itemContentHide: string;
24
29
  itemContentFront: string;
25
30
  itemContentBack: string;
26
31
  title: string;
@@ -158,8 +163,21 @@ export interface MenuProps<DataItem, Key extends KeygenResult = KeygenResult> ex
158
163
  * @default 'title'
159
164
  */
160
165
  renderItem?: ((data: DataItem, index: number) => React.ReactNode) | ObjectKey<DataItem>;
166
+ /**
167
+ * @en Whether to collapse the menu horizontally
168
+ * @cn 是否水平折叠收起菜单
169
+ * @default false
170
+ */
171
+ collapse?: boolean;
172
+ /**
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
177
+ */
178
+ renderCollapse?: (data: DataItem, index: number) => React.ReactNode;
161
179
  }
162
- export interface MenuItemProps extends UseMenuItemProps, Pick<MenuProps<any, any>, 'renderItem' | 'keygen' | 'linkKey' | 'frontCaret' | 'frontCaretType' | 'caretColor' | 'jssStyle' | 'inlineIndent'> {
180
+ export interface MenuItemProps extends UseMenuItemProps, Pick<MenuProps<any, any>, 'renderItem' | 'keygen' | 'linkKey' | 'frontCaret' | 'frontCaretType' | 'caretColor' | 'jssStyle' | 'inlineIndent' | 'collapse' | 'renderCollapse'> {
163
181
  index: number;
164
182
  level: number;
165
183
  scrollRef: React.MutableRefObject<HTMLDivElement | null>;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["base.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,IAAI,UAAW,aAAa,gBAsBjC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["base.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,IAAI,UAAW,aAAa,gBAoBjC,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/esm/spin/base.js CHANGED
@@ -23,16 +23,15 @@ var Spin = function Spin(props) {
23
23
  width: size,
24
24
  height: size
25
25
  }, props.style);
26
- var classname = classNames(className, styles === null || styles === void 0 ? void 0 : styles.spin);
27
26
  if (count < 1 || !render) {
28
27
  return /*#__PURE__*/_jsx("div", {
29
28
  style: style,
30
- className: classname
29
+ className: className
31
30
  });
32
31
  }
33
32
  return /*#__PURE__*/_jsx("div", {
34
33
  style: style,
35
- className: classname,
34
+ className: classNames(className, styles === null || styles === void 0 ? void 0 : styles.spin),
36
35
  children: range(count + 1, 1).map(function (i) {
37
36
  return render(_objectSpread(_objectSpread({}, props), {}, {
38
37
  index: i
@@ -92,6 +92,7 @@ var Scroll = function Scroll(props) {
92
92
  ref: containerRef,
93
93
  children: /*#__PURE__*/_jsx("div", {
94
94
  style: {
95
+ flexShrink: 0,
95
96
  flexGrow: 1
96
97
  },
97
98
  children: props.children
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.1.5",
3
+ "version": "3.2.0-rc.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.1.5",
13
+ "@sheinx/hooks": "3.2.0-rc.1",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.2"