@chaoswise/ui 3.1.13 → 3.1.15

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.
@@ -11,9 +11,11 @@ export var genDirectoryStyle = function genDirectoryStyle(_ref) {
11
11
  motionDurationMid = _ref.motionDurationMid,
12
12
  borderRadius = _ref.borderRadius,
13
13
  controlItemBgHover = _ref.controlItemBgHover;
14
- return _defineProperty({}, "".concat(treeCls).concat(treeCls, "-directory ").concat(treeNodeCls), _defineProperty(_defineProperty(_defineProperty({}, "".concat(treeCls, "-node-content-wrapper"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({
14
+ return _defineProperty({}, "".concat(treeCls).concat(treeCls, "-directory ").concat(treeNodeCls), _defineProperty(_defineProperty(_defineProperty({}, "".concat(treeCls, "-node-content-wrapper"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
15
15
  position: 'static'
16
- }, "> *:not(".concat(treeCls, "-drop-indicator)"), {
16
+ }, "&:has(".concat(treeCls, "-drop-indicator)"), {
17
+ position: 'relative'
18
+ }), "> *:not(".concat(treeCls, "-drop-indicator)"), {
17
19
  position: 'relative'
18
20
  }), '&:hover', {
19
21
  background: 'transparent'
@@ -27,11 +29,17 @@ export var genDirectoryStyle = function genDirectoryStyle(_ref) {
27
29
  background: controlItemBgHover
28
30
  })), "".concat(treeCls, "-switcher, ").concat(treeCls, "-checkbox, ").concat(treeCls, "-draggable-icon"), {
29
31
  zIndex: 1
30
- }), '&-selected', _defineProperty(_defineProperty({}, "".concat(treeCls, "-switcher, ").concat(treeCls, "-draggable-icon"), {
32
+ }), '&-selected', _defineProperty(_defineProperty({
33
+ background: directoryNodeSelectedBg,
34
+ borderRadius: borderRadius
35
+ }, "".concat(treeCls, "-switcher, ").concat(treeCls, "-draggable-icon"), {
31
36
  color: directoryNodeSelectedColor
32
37
  }), "".concat(treeCls, "-node-content-wrapper"), {
33
38
  color: directoryNodeSelectedColor,
34
39
  background: 'transparent',
40
+ '&, &:hover': {
41
+ color: directoryNodeSelectedColor
42
+ },
35
43
  '&:before, &:hover:before': {
36
44
  background: directoryNodeSelectedBg
37
45
  }
@@ -64,16 +64,11 @@ export var genBaseStyle = function genBaseStyle(prefixCls, token) {
64
64
  nodeHoverBg = token.nodeHoverBg,
65
65
  colorTextQuaternary = token.colorTextQuaternary,
66
66
  controlItemBgActiveDisabled = token.controlItemBgActiveDisabled;
67
- return _defineProperty({}, treeCls, _objectSpread(_objectSpread({}, resetComponent(token)), {}, (_objectSpread4 = {
68
- background: token.colorBgContainer,
69
- borderRadius: token.borderRadius,
70
- transition: "background-color ".concat(token.motionDurationSlow),
71
- '&-rtl': {
72
- direction: 'rtl'
73
- }
74
- }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_objectSpread4, "&".concat(treeCls, "-rtl ").concat(treeCls, "-switcher_close ").concat(treeCls, "-switcher-icon svg"), {
67
+ return _defineProperty({}, treeCls, _objectSpread(_objectSpread({}, resetComponent(token)), {}, (_objectSpread4 = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_objectSpread4, '--rc-virtual-list-scrollbar-bg', token.colorSplit), "background", token.colorBgContainer), "borderRadius", token.borderRadius), "transition", "background-color ".concat(token.motionDurationSlow)), '&-rtl', {
68
+ direction: 'rtl'
69
+ }), "&".concat(treeCls, "-rtl ").concat(treeCls, "-switcher_close ").concat(treeCls, "-switcher-icon svg"), {
75
70
  transform: 'rotate(90deg)'
76
- }), "&-focused:not(:hover):not(".concat(treeCls, "-active-focused)"), _objectSpread({}, genFocusOutline(token))), "".concat(treeCls, "-list-holder-inner"), {
71
+ }), "&-focused:not(:hover):not(".concat(treeCls, "-active-focused)"), genFocusOutline(token)), "".concat(treeCls, "-list-holder-inner"), {
77
72
  alignItems: 'flex-start'
78
73
  }), "&".concat(treeCls, "-block-node"), _defineProperty({}, "".concat(treeCls, "-list-holder-inner"), _defineProperty(_defineProperty({
79
74
  alignItems: 'stretch'
@@ -125,7 +120,7 @@ export var genBaseStyle = function genBaseStyle(prefixCls, token) {
125
120
  background: token.controlItemBgHover
126
121
  }), "&:not(".concat(treeNodeCls, "-disabled).filter-node ").concat(treeCls, "-title"), {
127
122
  color: token.colorPrimary,
128
- fontWeight: 500
123
+ fontWeight: token.fontWeightStrong
129
124
  }), '&-draggable', _defineProperty(_defineProperty({
130
125
  cursor: 'grab'
131
126
  }, "".concat(treeCls, "-draggable-icon"), {
@@ -137,7 +132,7 @@ export var genBaseStyle = function genBaseStyle(prefixCls, token) {
137
132
  color: colorTextQuaternary
138
133
  }), "&".concat(treeNodeCls, "-disabled ").concat(treeCls, "-draggable-icon"), {
139
134
  visibility: 'hidden'
140
- }))), "".concat(treeCls, "-indent"), {
135
+ }))), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_objectSpread4, "".concat(treeCls, "-indent"), {
141
136
  alignSelf: 'stretch',
142
137
  whiteSpace: 'nowrap',
143
138
  userSelect: 'none',
@@ -229,7 +224,7 @@ export var genBaseStyle = function genBaseStyle(prefixCls, token) {
229
224
  '&:empty': {
230
225
  display: 'none'
231
226
  }
232
- }))), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_objectSpread4, "".concat(treeCls, "-unselectable ").concat(treeCls, "-node-content-wrapper:hover"), {
227
+ }))), "".concat(treeCls, "-unselectable ").concat(treeCls, "-node-content-wrapper:hover"), {
233
228
  backgroundColor: 'transparent'
234
229
  }), "".concat(treeNodeCls, ".drop-container > [draggable]"), {
235
230
  boxShadow: "0 0 0 2px ".concat(token.colorPrimary)
@@ -37,8 +37,9 @@ var SwitcherIconCom = function SwitcherIconCom(props) {
37
37
  var leafIcon = typeof showLeafIcon === 'function' ? showLeafIcon(treeNodeProps) : showLeafIcon;
38
38
  var leafCls = "".concat(prefixCls, "-switcher-line-custom-icon");
39
39
  if (/*#__PURE__*/React.isValidElement(leafIcon)) {
40
+ var _leafIcon$props;
40
41
  return cloneElement(leafIcon, {
41
- className: classNames(leafIcon.props.className || '', leafCls)
42
+ className: classNames((_leafIcon$props = leafIcon.props) === null || _leafIcon$props === void 0 ? void 0 : _leafIcon$props.className, leafCls)
42
43
  });
43
44
  }
44
45
  return leafIcon;
@@ -52,8 +53,9 @@ var SwitcherIconCom = function SwitcherIconCom(props) {
52
53
  var switcherCls = "".concat(prefixCls, "-switcher-icon");
53
54
  var switcher = typeof switcherIcon === 'function' ? switcherIcon(treeNodeProps) : switcherIcon;
54
55
  if (/*#__PURE__*/React.isValidElement(switcher)) {
56
+ var _switcher$props;
55
57
  return cloneElement(switcher, {
56
- className: classNames(switcher.props.className || '', switcherCls)
58
+ className: classNames((_switcher$props = switcher.props) === null || _switcher$props === void 0 ? void 0 : _switcher$props.className, switcherCls)
57
59
  });
58
60
  }
59
61
  if (switcher !== undefined) {
@@ -314,17 +314,15 @@ var CWSelect = /*#__PURE__*/forwardRef(function (props, ref) {
314
314
  }, [allowDrag, maxTagCount, renderTag, moveNode, tagDropdownOverlay, prefixCls, rest.disabled, handlePreventMouseDown, activeKey, allOptions, handleChange, onDeselect, maxTagTextLength, tagLabelRender]);
315
315
 
316
316
  /**
317
- * 计算最终的 value 值
318
317
  * 受控模式:使用传入的 value
319
- * 非受控模式:根据是否显示复选框或允许拖拽来决定使用 activeKey 还是 value
318
+ * 非受控模式:根据是否允许拖拽或者是否限制最大标签显示数量来决定使用 activeKey 还是 value
320
319
  */
321
320
  var finalValue = useMemo(function () {
322
321
  if ("value" in props) {
323
322
  return value;
324
323
  }
325
- return allowDrag ? activeKey : value;
326
- }, [props, value, allowDrag, activeKey]);
327
-
324
+ return allowDrag || maxTagCount ? activeKey : value;
325
+ }, [value, allowDrag, activeKey, maxTagCount]);
328
326
  // 渲染组件
329
327
  return wrapCSSVar(/*#__PURE__*/React.createElement(DndProvider, {
330
328
  backend: HTML5Backend
@@ -1,11 +1,16 @@
1
1
  import _Dropdown from "@chaoswise/ui/lib/Dropdown";
2
- import _Tooltip from "@chaoswise/ui/lib/Tooltip";
3
2
  import _TooltipText from "@chaoswise/ui/lib/TooltipText";
4
3
  import _Menu from "@chaoswise/ui/lib/Menu";
5
4
  import _Tree from "@chaoswise/ui/lib/Tree";
6
5
  var _excluded = ["children", "treeData", "menuData", "extendType", "onClickMenu", "menuStyle", "menuRender", "extraFooter", "tooltipPlacement", "searchValue", "multiple", "selectedKeys", "defaultSelectedKeys", "onSelect", "searchHighlight", "draggable", "searchHighlightStyle", "className", "caseSensitive", "onExpand", "renderItem", "useTooltipText", "fieldNames"],
7
6
  _excluded2 = ["key", "title", "children"],
8
7
  _excluded3 = ["icon", "title", "key"];
8
+ 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; }
9
+ 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; }
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ 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); }
13
+ 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); }
9
14
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
10
15
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
11
16
  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."); }
@@ -23,7 +28,6 @@ import DragSvg from "./assets/Drag";
23
28
  import { createTitle, processTreeData } from "./utils";
24
29
  import useConfigContext from "../useConfigContext";
25
30
  import useStyle from "./index.style";
26
- import { useIntl } from "../locales";
27
31
  var TreeNode = _Tree.TreeNode,
28
32
  DirectoryTree = _Tree.DirectoryTree;
29
33
  var SubMenu = _Menu.SubMenu;
@@ -92,7 +96,6 @@ function CWTree(_ref) {
92
96
  _useState6 = _slicedToArray(_useState5, 2),
93
97
  selfSelectedKeys = _useState6[0],
94
98
  setSelfSelectedKeys = _useState6[1];
95
- var intl = useIntl();
96
99
  var memoizedSearchHighlightStyle = useMemo(function () {
97
100
  return searchHighlightStyle;
98
101
  }, [searchHighlightStyle]);
@@ -181,14 +184,6 @@ function CWTree(_ref) {
181
184
  placement: placement
182
185
  }, title) : title;
183
186
  }, [useTooltipText]);
184
- var renderDragIcon = useMemo(function () {
185
- if (!draggable) return null;
186
- return /*#__PURE__*/React.createElement("span", {
187
- className: "cw-tree-treenode-drag-icon"
188
- }, /*#__PURE__*/React.createElement(_Tooltip, {
189
- title: intl.get("5fe60774-0f08-450f-a9d9-998996485fec").d("拖拽移动")
190
- }, /*#__PURE__*/React.createElement(DragSvg, null)));
191
- }, [draggable, intl]);
192
187
 
193
188
  // 创建标题
194
189
  var createTitleComponent = useCallback(function (icon, title, key, props) {
@@ -208,13 +203,13 @@ function CWTree(_ref) {
208
203
  className: "cw-tree-treenode-content"
209
204
  }, /*#__PURE__*/React.createElement("span", {
210
205
  className: "cw-tree-treenode-title"
211
- }, renderTooltipTitle(title, tooltipPlacement)), renderDragIcon), /*#__PURE__*/React.createElement("span", {
206
+ }, renderTooltipTitle(title, tooltipPlacement))), /*#__PURE__*/React.createElement("span", {
212
207
  className: classnames("cw-tree-treenode-extend", {
213
208
  "cw-tree-treenode-extend-show": isExtendVisible
214
209
  })
215
210
  }, menuRender ? /*#__PURE__*/React.createElement(Fragment, null, menuRender(title, key, props), menuData(title, key, props) && menuDom) : extendType === "menu" ? menuDom : createButton(icon, title, key, props)));
216
211
  return titleDom;
217
- }, [createMenu, menuData, extendType, showExtendKey, menuRender, createButton, renderTooltipTitle, renderDragIcon, tooltipPlacement]);
212
+ }, [createMenu, menuData, extendType, showExtendKey, menuRender, createButton, renderTooltipTitle, tooltipPlacement]);
218
213
 
219
214
  // 搜索高亮逻辑
220
215
  var renderHighlightedTitle = useCallback(function (title) {
@@ -304,12 +299,23 @@ function CWTree(_ref) {
304
299
 
305
300
  // 拖拽配置优化
306
301
  var draggableConfig = useMemo(function () {
307
- return draggable ? {
308
- icon: false,
302
+ if (!draggable) return false;
303
+
304
+ // 默认内部配置
305
+ var defaultDraggableConfig = {
306
+ icon: /*#__PURE__*/React.createElement(DragSvg, null),
309
307
  nodeDraggable: function nodeDraggable() {
310
308
  return true;
311
309
  }
312
- } : false;
310
+ };
311
+
312
+ // 如果draggable是对象,则合并外部配置和默认配置
313
+ if (_typeof(draggable) === 'object') {
314
+ return _objectSpread(_objectSpread({}, defaultDraggableConfig), draggable);
315
+ }
316
+
317
+ // 如果draggable是true,使用默认配置
318
+ return defaultDraggableConfig;
313
319
  }, [draggable]);
314
320
 
315
321
  // 样式类名配置
@@ -319,30 +325,43 @@ function CWTree(_ref) {
319
325
  var treeClassName = useMemo(function () {
320
326
  return classnames("cw-tree", className);
321
327
  }, [className]);
328
+ var hasChildren = useMemo(function () {
329
+ if (!children) return false;
330
+ return true;
331
+ }, [children]);
332
+
333
+ // 根据是否有children来决定渲染配置
334
+ var treeProps = useMemo(function () {
335
+ var baseProps = _objectSpread(_objectSpread(_objectSpread({
336
+ icon: null,
337
+ switcherIcon: /*#__PURE__*/React.createElement(DownOutlined, null),
338
+ selectedKeys: selfSelectedKeys,
339
+ onSelect: selfOnSelect,
340
+ expandAction: false,
341
+ multiple: multiple,
342
+ className: treeClassName,
343
+ draggable: draggableConfig,
344
+ onExpand: handleExpand,
345
+ showIcon: true
346
+ }, expandedConfig), rest), {}, {
347
+ onMouseEnter: handleMouseEnter,
348
+ onMouseLeave: handleMouseLeave
349
+ });
350
+
351
+ // 当使用children时,不需要treeData和titleRender
352
+ // 当使用treeData时,需要添加数据处理和标题渲染
353
+ return hasChildren ? baseProps : _objectSpread(_objectSpread({}, baseProps), {}, {
354
+ treeData: processedTreeData,
355
+ titleRender: titleRender
356
+ });
357
+ }, [hasChildren, selfSelectedKeys, selfOnSelect, multiple, treeClassName, draggableConfig, handleExpand, handleMouseEnter, handleMouseLeave, expandedConfig, rest, processedTreeData, titleRender]);
322
358
  return wrapCSSVar(/*#__PURE__*/React.createElement("div", {
323
359
  className: wrapperClassName
324
360
  }, /*#__PURE__*/React.createElement("div", {
325
361
  className: "cw-tree-inner-wrapper"
326
362
  }, /*#__PURE__*/React.createElement("div", {
327
363
  className: "cw-tree-location-box"
328
- }, /*#__PURE__*/React.createElement(DirectoryTree, _extends({
329
- icon: null,
330
- switcherIcon: /*#__PURE__*/React.createElement(DownOutlined, null),
331
- selectedKeys: selfSelectedKeys,
332
- onSelect: selfOnSelect,
333
- expandAction: false,
334
- multiple: multiple,
335
- className: treeClassName,
336
- draggable: draggableConfig,
337
- onExpand: handleExpand
338
- }, expandedConfig, {
339
- showIcon: true,
340
- treeData: processedTreeData,
341
- titleRender: titleRender
342
- }, rest, {
343
- onMouseEnter: handleMouseEnter,
344
- onMouseLeave: handleMouseLeave
345
- }), children))), extraFooter && /*#__PURE__*/React.createElement("div", {
364
+ }, /*#__PURE__*/React.createElement(DirectoryTree, treeProps, children))), extraFooter && /*#__PURE__*/React.createElement("div", {
346
365
  className: "cw-tree-footer"
347
366
  }, extraFooter)));
348
367
  }
@@ -421,8 +440,12 @@ CWTree.propTypes = {
421
440
  searchHighlightStyle: PropTypes.object,
422
441
  /**
423
442
  * 是否可拖拽 开启后使用新UE规范
443
+ * 可以传入布尔值或对象配置:
444
+ * - true: 使用默认拖拽配置
445
+ * - false: 禁用拖拽
446
+ * - object: 自定义拖拽配置,会与默认配置合并
424
447
  */
425
- draggable: PropTypes.bool,
448
+ draggable: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
426
449
  /**
427
450
  * 拖拽回调
428
451
  */
@@ -23,15 +23,21 @@ var genCustomCWTreeStyle = function genCustomCWTreeStyle(token) {
23
23
  overflowY: "auto",
24
24
  ".cw-tree": _defineProperty({
25
25
  width: "100%",
26
- ".cw-tree-treenode": _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
26
+ ".cw-tree-treenode": _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
27
27
  lineHeight: "32px",
28
28
  padding: "0 16px",
29
29
  whiteSpace: "nowrap",
30
- marginBottom: 0,
31
- "&::before": {
32
- bottom: 0
33
- }
34
- }, "".concat(treePrefix, "-switcher, ").concat(treePrefix, "-iconEle"), {
30
+ marginBottom: 0
31
+ }, "".concat(treePrefix, "-draggable-icon"), {
32
+ position: "absolute",
33
+ left: "8px",
34
+ transform: "translateY(1.2px)",
35
+ visibility: "hidden",
36
+ width: "2px",
37
+ color: token.colorText
38
+ }), "&::before", {
39
+ bottom: 0
40
+ }), "".concat(treePrefix, "-switcher, ").concat(treePrefix, "-iconEle"), {
35
41
  width: "12px",
36
42
  height: "32px",
37
43
  lineHeight: "32px",
@@ -44,7 +50,6 @@ var genCustomCWTreeStyle = function genCustomCWTreeStyle(token) {
44
50
  paddingRight: 0,
45
51
  minHeight: "32px",
46
52
  color: token.colorText,
47
- position: "static",
48
53
  height: "100%"
49
54
  }, "".concat(treePrefix, "-title"), {
50
55
  height: "32px",
@@ -66,12 +71,6 @@ var genCustomCWTreeStyle = function genCustomCWTreeStyle(token) {
66
71
  whiteSpace: "nowrap",
67
72
  width: "100%",
68
73
  display: "inline-block"
69
- },
70
- ".cw-tree-treenode-drag-icon": {
71
- position: "absolute",
72
- left: "8px",
73
- transform: "translateY(1.2px)",
74
- visibility: "hidden"
75
74
  }
76
75
  },
77
76
  ".cw-tree-treenode-extend": {
@@ -114,13 +113,9 @@ var genCustomCWTreeStyle = function genCustomCWTreeStyle(token) {
114
113
  height: "32px",
115
114
  lineHeight: "32px",
116
115
  marginTop: 0
117
- }), "&:hover", _defineProperty({}, "".concat(treeNodePrefix, "-content-wrapper"), _defineProperty({}, "".concat(treePrefix, "-title"), {
118
- ".cw-tree-treenode-content": {
119
- ".cw-tree-treenode-drag-icon": {
120
- visibility: "visible"
121
- }
122
- }
123
- })))
116
+ }), "&:hover", _defineProperty({}, "".concat(treePrefix, "-draggable-icon"), {
117
+ visibility: "visible"
118
+ }))
124
119
  }, "&".concat(treePrefix, "-directory"), _defineProperty({}, "".concat(treePrefix, "-child-tree"), {
125
120
  height: "100% !important"
126
121
  }))
@@ -127,7 +127,7 @@ export var processTreeData = function processTreeData(treeData) {
127
127
  key: "key",
128
128
  children: "children"
129
129
  }, fieldNames);
130
- if (!treeData || !Array.isArray(treeData)) {
130
+ if (!treeData) {
131
131
  return [];
132
132
  }
133
133
  var _processNodes = function processNodes(nodes) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chaoswise/ui",
3
3
  "packageName": "chaoswiseUI",
4
- "version": "3.1.13",
4
+ "version": "3.1.15",
5
5
  "description": "公共UI库",
6
6
  "keywords": [
7
7
  "ui",