tntd 2.8.0-beta.13 → 2.8.0-beta.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.
Files changed (36) hide show
  1. package/es/descriptions/descriptions.js +83 -44
  2. package/es/descriptions/descriptions.js.map +1 -1
  3. package/es/descriptions/descriptions.less +57 -60
  4. package/es/drawer/index.less +5 -11
  5. package/es/handle-icon/index.js +35 -17
  6. package/es/handle-icon/index.js.map +1 -1
  7. package/es/handle-icon/index.less +28 -15
  8. package/es/input/input.js +10 -6
  9. package/es/input/input.js.map +1 -1
  10. package/es/input/style/mixin.less +1 -1
  11. package/es/select/select.js +5 -3
  12. package/es/select/select.js.map +1 -1
  13. package/es/select/style/index.less +4 -4
  14. package/es/tntd-select/index.js +5 -3
  15. package/es/tntd-select/index.js.map +1 -1
  16. package/lib/descriptions/descriptions.d.ts +11 -6
  17. package/lib/descriptions/descriptions.d.ts.map +1 -1
  18. package/lib/descriptions/descriptions.js +84 -45
  19. package/lib/descriptions/descriptions.js.map +1 -1
  20. package/lib/descriptions/descriptions.less +57 -60
  21. package/lib/drawer/index.less +5 -11
  22. package/lib/handle-icon/index.d.ts.map +1 -1
  23. package/lib/handle-icon/index.js +29 -10
  24. package/lib/handle-icon/index.js.map +1 -1
  25. package/lib/handle-icon/index.less +28 -15
  26. package/lib/input/input.js +8 -4
  27. package/lib/input/input.js.map +1 -1
  28. package/lib/input/style/mixin.less +1 -1
  29. package/lib/select/select.d.ts.map +1 -1
  30. package/lib/select/select.js +4 -2
  31. package/lib/select/select.js.map +1 -1
  32. package/lib/select/style/index.less +4 -4
  33. package/lib/tntd-select/index.d.ts.map +1 -1
  34. package/lib/tntd-select/index.js +4 -2
  35. package/lib/tntd-select/index.js.map +1 -1
  36. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
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
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -9,8 +8,8 @@ var _exportNames = {
9
8
  };
10
9
  exports.Descriptions = void 0;
11
10
  var _react = _interopRequireWildcard(require("react"));
12
- require("antd/lib/locale-provider/LocaleReceiver");
13
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _toArray = _interopRequireDefault(require("rc-util/es/Children/toArray"));
14
13
  var _configProvider = require("antd/lib/config-provider");
15
14
  var _descriptions = _interopRequireWildcard(require("antd/lib/descriptions"));
16
15
  Object.keys(_descriptions).forEach(function (key) {
@@ -25,9 +24,15 @@ Object.keys(_descriptions).forEach(function (key) {
25
24
  });
26
25
  });
27
26
  var _ellipsis = _interopRequireDefault(require("../ellipsis"));
27
+ var _utils = require("../utils");
28
+ var _prevLocale = require("../prev-locale");
28
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
30
  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); }
30
31
  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 && {}.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; }
32
+ 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); }
33
+ 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; }
34
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
35
+ 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); }
31
36
  var __rest = void 0 && (void 0).__rest || function (s, e) {
32
37
  var t = {};
33
38
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -38,9 +43,9 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
38
43
  };
39
44
  /*
40
45
  * @Author: 周泽飞 zefei.zhou@tongdun.net
41
- * @Date: 2023-05-05 15:48:09
46
+ * @Date: 2024-06-08 11:59:04
42
47
  * @LastEditors: 周泽飞 zefei.zhou@tongdun.net
43
- * @LastEditTime: 2024-01-18 15:27:45
48
+ * @LastEditTime: 2024-06-08 13:39:25
44
49
  * @FilePath: /tntd/packages/tntd/src/descriptions/descriptions.tsx
45
50
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
46
51
  */
@@ -49,57 +54,91 @@ var Descriptions = exports.Descriptions = (0, _react.forwardRef)(function (_a, r
49
54
  var className = _a.className,
50
55
  _a$tdType = _a.tdType,
51
56
  tdType = _a$tdType === void 0 ? true : _a$tdType,
52
- theme = _a.theme,
57
+ titleWeight = _a.titleWeight,
58
+ titleType = _a.titleType,
53
59
  colon = _a.colon,
54
60
  children = _a.children,
55
- rest = __rest(_a, ["className", "tdType", "theme", "colon", "children"]);
56
- return _react["default"].createElement(_configProvider.ConfigConsumer, null, function () {
57
- var _ref = rest || {},
58
- layout = _ref.layout,
59
- ellipsis = _ref.ellipsis,
60
- bordered = _ref.bordered;
61
+ _a$undoUpper = _a.undoUpper,
62
+ undoUpper = _a$undoUpper === void 0 ? false : _a$undoUpper,
63
+ _a$upperCaseIgnore = _a.upperCaseIgnore,
64
+ upperCaseIgnore = _a$upperCaseIgnore === void 0 ? [] : _a$upperCaseIgnore,
65
+ title = _a.title,
66
+ rest = __rest(_a, ["className", "tdType", "titleWeight", "titleType", "colon", "children", "undoUpper", "upperCaseIgnore", "title"]);
67
+ return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
68
+ var getPrefixCls = _ref.getPrefixCls;
69
+ var prefixCls = getPrefixCls('descriptions');
70
+ var _ref2 = rest || {},
71
+ layout = _ref2.layout,
72
+ ellipsis = _ref2.ellipsis,
73
+ _ref2$ellipsisLine = _ref2.ellipsisLine,
74
+ ellipsisLine = _ref2$ellipsisLine === void 0 ? 1 : _ref2$ellipsisLine,
75
+ _ref2$hideTooltip = _ref2.hideTooltip,
76
+ hideTooltip = _ref2$hideTooltip === void 0 ? false : _ref2$hideTooltip,
77
+ bordered = _ref2.bordered;
61
78
  // 非垂直 且 同盾
62
79
  var tdDescriptions = layout !== 'vertical' && tdType;
63
- var decorateNoBorderChild = function decorateNoBorderChild(element) {
64
- if (_react["default"].isValidElement(element)) {
65
- var type = element.type,
66
- props = element.props;
67
- if (type.name === 'DescriptionsItem') {
68
- var childProps = props || {};
69
- var label = childProps.label,
70
- _children = childProps.children;
71
- return _react["default"].createElement("div", null, _react["default"].createElement(_ellipsis["default"], {
72
- className: "tntd-description-item",
73
- prefix: _react["default"].createElement("div", {
74
- className: "tntd-description-label-title"
75
- }, label),
76
- title: element
77
- }));
78
- }
79
- if (props && props.children) {
80
- var modifiedChildren = _react["default"].Children.map(props.children, function (child) {
81
- return decorateNoBorderChild(child);
82
- });
83
- return _react["default"].cloneElement(element, props, modifiedChildren);
84
- }
80
+ var tntPrefixCls = 'tnt-descriptions';
81
+ var flattenChildren = function flattenChildren(children) {
82
+ if (!children) {
83
+ return [];
85
84
  }
86
- return element;
85
+ return (0, _toArray["default"])(children).reduce(function (flatChildren, child) {
86
+ if (child && child.type === _react["default"].Fragment) {
87
+ return flatChildren.concat(flattenChildren(child.props.children));
88
+ }
89
+ flatChildren.push(child);
90
+ return flatChildren;
91
+ }, []);
87
92
  };
93
+ children = flattenChildren(children);
88
94
  return _react["default"].createElement(_descriptions["default"], Object.assign({
89
- className: (0, _classnames["default"])("theme-".concat(theme || (bordered ? 'line' : 'block')), {
90
- 'tntd-descriptions-no-border': !bordered
91
- }, {
92
- 'tntd-descriptions': tdDescriptions
93
- }, {
94
- 'tntd-descriptions-ellipsis': ellipsis
95
- }, className)
95
+ className: (0, _classnames["default"])("".concat(prefixCls, "-").concat((0, _prevLocale.getLanguage)()), _defineProperty({}, tntPrefixCls, tdDescriptions), "".concat(tntPrefixCls, "-title-theme").concat(titleType ? '-' + titleType : ''), _defineProperty({}, tntPrefixCls + '-title-weight', titleWeight), _defineProperty({}, tntPrefixCls + '-ellipsis', ellipsis), className),
96
+ title: undoUpper ? title : (0, _utils.doUpperTitle)(title, upperCaseIgnore)
96
97
  }, rest, {
97
- colon: tdDescriptions && !bordered ? false : colon
98
- }), tdDescriptions && !bordered ? _react["default"].Children.map(children, function (child) {
98
+ colon: tdDescriptions ? false : colon,
99
+ ref: ref
100
+ }), tdDescriptions && !bordered && !hideTooltip && _react["default"].Children.map(children, function (child) {
101
+ if (_react["default"].isValidElement(child)) {
102
+ var childProps = child.props || {};
103
+ var label = childProps.label,
104
+ labelPrefix = childProps.labelPrefix,
105
+ childContext = childProps.children;
106
+ return _react["default"].createElement("div", null, _react["default"].createElement(_ellipsis["default"], {
107
+ lines: ellipsisLine,
108
+ className: "tnt-descriptions-item",
109
+ prefix: _react["default"].createElement("div", {
110
+ className: "tnt-descriptions-label-title"
111
+ }, _react["default"].createElement(_ellipsis["default"], {
112
+ prefix: labelPrefix ? _react["default"].createElement("span", {
113
+ className: "tnt-descriptions-label-tag"
114
+ }, labelPrefix) : null,
115
+ lines: ellipsisLine,
116
+ title: label
117
+ })),
118
+ title: childContext
119
+ }));
120
+ }
121
+ }), tdDescriptions && bordered && ellipsis && !hideTooltip && _react["default"].Children.map(children, function (child) {
99
122
  if (_react["default"].isValidElement(child)) {
100
- return decorateNoBorderChild(child);
123
+ var childProps = child.props || {};
124
+ var label = childProps.label,
125
+ labelPrefix = childProps.labelPrefix,
126
+ childContext = childProps.children;
127
+ return _react["default"].cloneElement(child, Object.assign(Object.assign({}, child.props), {
128
+ label: _react["default"].createElement(_ellipsis["default"], {
129
+ prefix: labelPrefix ? _react["default"].createElement("span", {
130
+ className: "tnt-descriptions-label-tag"
131
+ }, labelPrefix) : null,
132
+ lines: ellipsisLine,
133
+ title: label
134
+ }),
135
+ children: _react["default"].createElement(_ellipsis["default"], {
136
+ lines: ellipsisLine,
137
+ title: childContext
138
+ })
139
+ }));
101
140
  }
102
- }) : children);
141
+ }), (!tdDescriptions || bordered && !ellipsis || hideTooltip) && children);
103
142
  });
104
143
  });
105
144
  Descriptions.Item = _descriptions["default"].Item;
@@ -1 +1 @@
1
- {"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../../src/descriptions/descriptions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,+CAAyC;AACzC,kDAAmE;AAGnE,4DAAmC;AACnC,6DAAwD;AACxD,wEAAkE;AAElE,2DAAkC;AAElC,uDAAoC;AAoBvB,QAAA,YAAY,GAAG,IAAA,kBAAU,EAGpC,CAAC,EAA6D,EAAE,GAAG,EAAE,EAAE;QAAtE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,OAAW,EAAN,IAAI,cAA3D,qDAA6D,CAAF;IAC5D,OAAO,CACL,8BAAC,gCAAc,QACZ,GAAG,EAAE;QACJ,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACjD,aAAa;QACb,MAAM,cAAc,GAAG,MAAM,KAAK,UAAU,IAAI,MAAM,CAAA;QAEtD,MAAM,qBAAqB,GAAG,CAAC,OAA2B,EAAsB,EAAE;YAChF,IAAI,eAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBACjC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAmC,CAAA;gBAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBACpC,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAQ,CAAA;oBACvC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;oBACtC,OAAO,CACL;wBACE,8BAAC,kBAAQ,IACP,SAAS,EAAC,uBAAuB,EACjC,MAAM,EAAE,uCAAK,SAAS,EAAC,8BAA8B,IAAE,KAAK,CAAO,EACnE,KAAK,EAAE,OAAO,GACd,CACE,CACP,CAAA;iBACF;gBACD,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAC3B,MAAM,gBAAgB,GAAG,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBACpE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAA;oBACrC,CAAC,CAAC,CAAA;oBACF,OAAO,eAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAA;iBAC5D;aACF;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAA;QAED,OAAO,CACL,8BAAC,sBAAgB,kBACf,SAAS,EAAE,IAAA,oBAAU,EACnB,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EACjD;gBACE,6BAA6B,EAAE,CAAC,QAAQ;aACzC,EACD;gBACE,mBAAmB,EAAE,cAAc;aACpC,EACD;gBACE,4BAA4B,EAAE,QAAQ;aACvC,EACD,SAAS,CACV,IACG,IAAI,IACR,KAAK,EAAE,cAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAGjD,cAAc,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrC,IAAI,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;oBAC/B,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAA;iBACpC;YACH,CAAC,CAAC;YACJ,CAAC,CAAC,QAAQ,CACK,CACpB,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAA0B,CAAA;AAE3B,oBAAY,CAAC,IAAI,GAAG,sBAAgB,CAAC,IAAI,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-05-05 15:48:09\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-01-18 15:27:45\n * @FilePath: /tntd/packages/tntd/src/descriptions/descriptions.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport type { DescriptionsProps as AntdDescriptionsProps } from 'antd/lib/descriptions'\nimport type { DescriptionsItemProps as AntdDescriptionsItemProps } from 'antd/lib/descriptions'\nimport classNames from 'classnames'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport { default as AntdDescriptions } from 'antd/lib/descriptions'\n\nimport Ellipsis from '../ellipsis'\n\nexport * from 'antd/lib/descriptions'\n\nexport interface DescriptionsProps extends AntdDescriptionsProps {\n tdType: boolean\n ellipsis: boolean\n theme: string\n}\n\nexport interface DescriptionsItemProps extends AntdDescriptionsItemProps {\n tdType: boolean\n theme: string\n}\n\ninterface DescriptionsComponent\n extends React.ForwardRefExoticComponent<\n DescriptionsProps & React.RefAttributes<AntdDescriptions>\n > {\n Item: typeof AntdDescriptions.Item\n}\n\nexport const Descriptions = forwardRef<\n AntdDescriptions,\n DescriptionsProps & { capitalize?: boolean }\n>(({ className, tdType = true, theme, colon, children, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n const { layout, ellipsis, bordered } = rest || {}\n // 非垂直 且 同盾\n const tdDescriptions = layout !== 'vertical' && tdType\n\n const decorateNoBorderChild = (element: React.ReactElement): React.ReactElement => {\n if (React.isValidElement(element)) {\n const { type, props } = element as React.ReactElement | any\n if (type.name === 'DescriptionsItem') {\n const childProps = (props || {}) as any\n const { label, children } = childProps\n return (\n <div>\n <Ellipsis\n className=\"tntd-description-item\"\n prefix={<div className=\"tntd-description-label-title\">{label}</div>}\n title={element}\n />\n </div>\n )\n }\n if (props && props.children) {\n const modifiedChildren = React.Children.map(props.children, (child) => {\n return decorateNoBorderChild(child)\n })\n return React.cloneElement(element, props, modifiedChildren)\n }\n }\n return element\n }\n\n return (\n <AntdDescriptions\n className={classNames(\n `theme-${theme || (bordered ? 'line' : 'block')}`,\n {\n 'tntd-descriptions-no-border': !bordered,\n },\n {\n 'tntd-descriptions': tdDescriptions,\n },\n {\n 'tntd-descriptions-ellipsis': ellipsis,\n },\n className\n )}\n {...rest}\n colon={tdDescriptions && !bordered ? false : colon}\n >\n {/* 非边框的同盾内置样式 */}\n {tdDescriptions && !bordered\n ? React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return decorateNoBorderChild(child)\n }\n })\n : children}\n </AntdDescriptions>\n )\n }}\n </ConfigConsumer>\n )\n}) as DescriptionsComponent\n\nDescriptions.Item = AntdDescriptions.Item\n"]}
1
+ {"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../../src/descriptions/descriptions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-06-08 11:59:04\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-06-08 13:39:25\n * @FilePath: /tntd/packages/tntd/src/descriptions/descriptions.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport type { DescriptionsProps as AntdDescriptionsProps } from 'antd/lib/descriptions'\nimport type { DescriptionsItemProps as AntdDescriptionsItemProps } from 'antd/lib/descriptions'\nimport classNames from 'classnames'\nimport toArray from 'rc-util/es/Children/toArray'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport { default as AntdDescriptions } from 'antd/lib/descriptions'\n\nimport Ellipsis from '../ellipsis'\nimport { doUpperTitle } from '../utils'\nimport { getLanguage } from '../prev-locale'\n\nexport * from 'antd/lib/descriptions'\n\nexport interface DescriptionsProps extends AntdDescriptionsProps {\n tdType?: boolean\n ellipsis?: boolean\n ellipsisLine?: number\n hideTooltip?: boolean\n undoUpper?: boolean\n upperCaseIgnore?: Array<string>\n titleType?: string\n titleWeight?: boolean\n}\n\nexport interface DescriptionsItemProps extends AntdDescriptionsItemProps {\n labelPrefix?: React.ReactNode\n}\n\ndeclare const DescriptionsItem: React.FC<DescriptionsItemProps>\ninterface DescriptionsComponent\n extends React.ForwardRefExoticComponent<\n DescriptionsProps & React.RefAttributes<AntdDescriptions>\n > {\n Item: typeof DescriptionsItem\n}\n\nexport const Descriptions = forwardRef<\n AntdDescriptions,\n DescriptionsProps & { capitalize?: boolean }\n>(\n (\n {\n className,\n tdType = true,\n titleWeight,\n titleType,\n colon,\n children,\n undoUpper = false,\n upperCaseIgnore = [],\n title,\n ...rest\n },\n ref\n ) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('descriptions')\n const { layout, ellipsis, ellipsisLine = 1, hideTooltip = false, bordered } = rest || {}\n // 非垂直 且 同盾\n const tdDescriptions = layout !== 'vertical' && tdType\n\n const tntPrefixCls = 'tnt-descriptions'\n\n const flattenChildren = (children: React.ReactNode): React.ReactNode[] => {\n if (!children) {\n return []\n }\n return toArray(children).reduce(function (\n flatChildren: React.ReactNode[],\n child: React.ReactNode\n ) {\n if (child && (child as any).type === React.Fragment) {\n return flatChildren.concat(flattenChildren((child as any).props.children))\n }\n\n flatChildren.push(child)\n return flatChildren\n },\n [])\n }\n\n children = flattenChildren(children)\n\n return (\n <AntdDescriptions\n className={classNames(\n `${prefixCls}-${getLanguage()}`,\n {\n [tntPrefixCls]: tdDescriptions,\n },\n `${tntPrefixCls}-title-theme${titleType ? '-' + titleType : ''}`,\n {\n [tntPrefixCls + '-title-weight']: titleWeight,\n },\n {\n [tntPrefixCls + '-ellipsis']: ellipsis,\n },\n className\n )}\n title={undoUpper ? title : doUpperTitle(title, upperCaseIgnore)} // 默认转大写\n {...rest}\n colon={tdDescriptions ? false : colon}\n ref={ref}\n >\n {/*同盾描述框 非边框 开启默认tooltip */}\n {tdDescriptions &&\n !bordered &&\n !hideTooltip &&\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n const { label, labelPrefix, children: childContext } = childProps\n return (\n <div>\n <Ellipsis\n lines={ellipsisLine}\n className=\"tnt-descriptions-item\"\n prefix={\n <div className=\"tnt-descriptions-label-title\">\n <Ellipsis\n prefix={\n labelPrefix ? (\n <span className=\"tnt-descriptions-label-tag\">\n {labelPrefix}\n </span>\n ) : null\n }\n lines={ellipsisLine}\n title={label}\n />\n </div>\n }\n title={childContext}\n />\n </div>\n )\n }\n })}\n\n {/*同盾描述框 有边框 不换行 开启默认tooltip */}\n {tdDescriptions &&\n bordered &&\n ellipsis &&\n !hideTooltip &&\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n const { label, labelPrefix, children: childContext } = childProps\n return React.cloneElement(child, {\n ...child.props,\n label: (\n <Ellipsis\n prefix={\n labelPrefix ? (\n <span className=\"tnt-descriptions-label-tag\">{labelPrefix}</span>\n ) : null\n }\n lines={ellipsisLine}\n title={label}\n />\n ),\n children: <Ellipsis lines={ellipsisLine} title={childContext} />,\n })\n }\n })}\n {/* 非同盾模式下 或者 带边框但换行 或者 不开启默认tooltip 走默认逻辑 */}\n {(!tdDescriptions || (bordered && !ellipsis) || hideTooltip) && children}\n </AntdDescriptions>\n )\n }}\n </ConfigConsumer>\n )\n }\n) as DescriptionsComponent\n\nDescriptions.Item = AntdDescriptions.Item\n"]}
@@ -5,94 +5,90 @@
5
5
  @descriptions-small-padding: 8px 16px;
6
6
  @descriptions-bg: #e1e6ee;
7
7
 
8
- .@{descriptions-prefix-cls} {
9
- // title样式
10
- &.tntd-descriptions {
11
- // 线条模式
12
- &[class*="theme-line"]{
8
+ .tnt-descriptions{
9
+ &.@{descriptions-prefix-cls} {
10
+ // 加粗的头部
11
+ &.tnt-descriptions-title-weight{
12
+ >.@{descriptions-prefix-cls}-title{
13
+ font-weight: 600 !important;
14
+ }
15
+ }
16
+
17
+ // label中有标签前缀
18
+ .tnt-descriptions-label-tag{
19
+ color:@primary-color;
20
+ margin-right: 4px;
21
+ }
22
+
23
+ // title样式
24
+ &[class*="tnt-descriptions-title-theme"]{
13
25
  // 默认色主题
14
- >.ant-descriptions-title{
26
+ >.@{descriptions-prefix-cls}-title{
15
27
  font-size:@font-size-base;
16
28
  position: relative;
17
29
  margin-bottom:12px;
18
30
  padding-left:12px;
31
+ font-weight: 400;
19
32
  &::before{
20
33
  content: '';
21
34
  width: 4px;
22
35
  height: 12px;
23
36
  background-color: @primary-color;
24
- border-radius: 8px;
37
+ border-radius: @border-radius-base;//8px;
25
38
  position: absolute;
26
39
  top:6px;
27
40
  left:0;
28
41
  }
29
42
  }
30
-
31
- // 黑色主题
32
- &.theme-line-black{
33
- .ant-descriptions-title{
43
+ // 默认没有前面的线条展示
44
+ &.title-theme-none{
45
+ >.@{descriptions-prefix-cls}-title{
46
+ padding-left:0;
34
47
  &::before{
35
48
  content: '';
36
- background-color: @text-color;
49
+ display: none;
37
50
  }
38
51
  }
39
52
  }
40
-
41
53
  }
42
54
 
43
- // 区块模式
44
- &.theme-block{
45
- .ant-descriptions-title{
46
- font-size:@font-size-base;
47
- max-width: 100%;
48
- display: inline-block;
49
- padding: 6px 20px 6px 16px;
50
- border-radius: 8px 20px 20px 0px;
51
- background: linear-gradient(0deg, rgba(18, 107, 251, 0.16) 0%, rgba(18, 107, 251, 0.08) 76.56%);
52
- margin-right: 4px;
53
- margin-bottom:8px;
54
- white-space: nowrap;
55
- overflow: hidden;
56
- text-overflow: ellipsis;
57
- font-weight: 600;
58
- }
59
- }
60
- }
61
-
62
- &-bordered {
63
- &.tntd-descriptions {
64
- &.tntd-descriptions-ellipsis{
55
+ // 带边框
56
+ &-bordered {
57
+ &.tnt-descriptions-ellipsis{
65
58
  .@{descriptions-prefix-cls}-item-label,
66
59
  .@{descriptions-prefix-cls}-item-content {
67
- white-space: nowrap;
68
60
  overflow: hidden;
69
61
  text-overflow: ellipsis;
62
+ -webkit-box-orient: vertical;
70
63
  }
71
-
72
64
  .@{descriptions-prefix-cls}-item-label{
73
- width: 180px;
65
+ width: 180px; // 其他语言模式默认180
66
+ background-color: @fill-color-quaternary; //#F8F9FB;
67
+ }
68
+ }
69
+ &.@{descriptions-prefix-cls}-cn{
70
+ .@{descriptions-prefix-cls}-item-label{
71
+ width: 160px; // 中文160
74
72
  }
75
73
  }
76
74
  .@{descriptions-prefix-cls}-view > table {
77
75
  table-layout: fixed;
78
76
  }
77
+ .@{descriptions-prefix-cls}-item-label{
78
+ background-color: fade(@descriptions-bg, 40%); ;
79
+ }
80
+ .@{descriptions-prefix-cls}-item-label,
81
+ .@{descriptions-prefix-cls}-item-content {
82
+ padding: @descriptions-small-padding;
83
+ }
79
84
  }
80
- .@{descriptions-prefix-cls}-item-label{
81
- background-color: fade(@descriptions-bg, 40%); ;
82
- }
83
- .@{descriptions-prefix-cls}-item-label,
84
- .@{descriptions-prefix-cls}-item-content {
85
- padding: 10px 16px;
86
- }
87
- }
88
85
 
89
- &.tntd-descriptions-no-border{
90
- &.tntd-descriptions{
91
- .ant-descriptions-item{
92
- height: 34px;
93
- line-height: 34px;
86
+ // 不带边框
87
+ &:not(.@{descriptions-prefix-cls}-bordered ){
88
+ .@{descriptions-prefix-cls}-item{
89
+ height: 30px;
90
+ line-height: 30px;
94
91
  position: relative;
95
- padding-right: 12px;
96
92
  padding:0;
97
93
  &:not(:first-of-type){
98
94
  padding-left: 12px;
@@ -101,29 +97,30 @@
101
97
  left:0;
102
98
  position: absolute;
103
99
  width:1px;
104
- background-color: #CBD4E2;
100
+ background-color: @descriptions-bg;
105
101
  height:16px;
106
102
  top: 50%;
107
103
  margin-top:-8px;
108
104
  }
109
105
  }
110
- .ant-descriptions-item-no-label{
106
+ .@{descriptions-prefix-cls}-item-no-label{
111
107
  display: none;
112
108
  }
113
- .ant-descriptions-item-content{
109
+ .@{descriptions-prefix-cls}-item-content{
114
110
  display: flex;
115
111
  width: 100%;
116
- &>.tntd-ellipsis{
112
+ &>.tntd-ellipsis,>.tnt-ellipsis{
117
113
  width: 100%;
118
- .tntd-description-label-title{
114
+ .tnt-descriptions-label-title{
119
115
  max-width: 70%;
120
116
  margin-right: 4px;
121
- color:#8B919E;
122
- white-space: nowrap;
117
+ color: tint(@bg-color-spotilight, 50%);//#8B919E;
123
118
  overflow: hidden;
124
119
  text-overflow: ellipsis;
125
- &+.tntd-description-item{
120
+ -webkit-box-orient: vertical;
121
+ &+.tnt-descriptions-item{
126
122
  flex:1;
123
+ padding-right: 8px;
127
124
  }
128
125
  }
129
126
  }
@@ -20,7 +20,7 @@
20
20
 
21
21
  .@{drawer-prefix-cls}-wrapper-body {
22
22
  margin-top: 48px;
23
- max-height: ~'calc(100vh - 50px)';
23
+ max-height: ~'calc(100vh - 48px)';
24
24
  }
25
25
 
26
26
  &-footer {
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  .@{drawer-prefix-cls}-wrapper-body {
37
- max-height: ~'calc(100vh - 98px)' !important;
37
+ max-height: ~'calc(100vh - 96px)' !important;
38
38
  margin-top: 48px !important;
39
39
  margin-bottom: 48px !important;
40
40
  }
@@ -47,11 +47,6 @@
47
47
  }
48
48
 
49
49
  .@{drawer-prefix-cls}-close {
50
- color: fade(@text-color, 50%);
51
- width: 62px;
52
- top: -4px;
53
-
54
-
55
50
  position: absolute;
56
51
  top: -2px;
57
52
  right: 0;
@@ -133,8 +128,7 @@
133
128
  }
134
129
 
135
130
  .@{drawer-prefix-cls}-body {
136
- padding: @padding-lg !important;
137
-
131
+ padding: 24px !important;
138
132
  }
139
133
 
140
134
 
@@ -145,11 +139,11 @@
145
139
  right: 0;
146
140
  bottom: 0;
147
141
  width: 100%;
148
- padding: 8px 24px;
142
+ padding: 10px 24px;
149
143
  background: #fff;
150
144
  text-align: right;
151
145
  .@{ant-prefix}-btn {
152
- margin-left: 8px;
146
+ margin-left: 15px;
153
147
  }
154
148
  }
155
149
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handle-icon/index.js"],"names":[],"mappings":";AASA,2DA+HC;;IAED,+BA4DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handle-icon/index.js"],"names":[],"mappings":";AAWA,2DAiJC;;IAED,+BA4DC"}
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _LocaleReceiver = _interopRequireDefault(require("antd/lib/locale-provider/LocaleReceiver"));
9
+ var _toArray = _interopRequireDefault(require("rc-util/es/Children/toArray"));
9
10
  var _icon = _interopRequireDefault(require("../icon"));
11
+ var _popconfirm = _interopRequireDefault(require("../popconfirm"));
10
12
  var _divider = _interopRequireDefault(require("../divider"));
11
13
  var _dropdown = _interopRequireDefault(require("../dropdown"));
12
14
  var _tooltip = _interopRequireDefault(require("../tooltip"));
@@ -29,12 +31,14 @@ var HandleIcon = function HandleIcon(props) {
29
31
  _a$children = _a.children,
30
32
  children = _a$children === void 0 ? [] : _a$children,
31
33
  _a$num = _a.num,
32
- num = _a$num === void 0 ? 6 : _a$num,
34
+ num = _a$num === void 0 ? 5 : _a$num,
33
35
  _a$divider = _a.divider,
34
36
  divider = _a$divider === void 0 ? false : _a$divider,
35
37
  _a$stopPropagation = _a.stopPropagation,
36
38
  stopPropagation = _a$stopPropagation === void 0 ? true : _a$stopPropagation,
37
- rest = __rest(_a, ["children", "num", "divider", "stopPropagation"]);
39
+ _a$size = _a.size,
40
+ size = _a$size === void 0 ? 'large' : _a$size,
41
+ rest = __rest(_a, ["children", "num", "divider", "stopPropagation", "size"]);
38
42
  var newChildren = [];
39
43
  if (Array.isArray(children)) {
40
44
  newChildren = (children === null || children === void 0 ? void 0 : children.filter(function (item) {
@@ -43,6 +47,20 @@ var HandleIcon = function HandleIcon(props) {
43
47
  } else if (children) {
44
48
  newChildren.push(children);
45
49
  }
50
+ var flattenChildren = function flattenChildren(children) {
51
+ if (!children) {
52
+ return [];
53
+ }
54
+ return (0, _toArray["default"])(children).reduce(function (flatChildren, child) {
55
+ if (child && child.type === _react["default"].Fragment) {
56
+ return flatChildren.concat(flattenChildren(child.props.children));
57
+ }
58
+ flatChildren.push(child);
59
+ return flatChildren;
60
+ }, []);
61
+ };
62
+ // 解决需要Fragment包的场景
63
+ newChildren = flattenChildren(newChildren);
46
64
  var preChildPart = newChildren,
47
65
  lastChildPart = null;
48
66
  // 只有1个时不适配
@@ -64,7 +82,7 @@ var HandleIcon = function HandleIcon(props) {
64
82
  if (_react["default"].isValidElement(element)) {
65
83
  var type = element.type,
66
84
  _props = element.props;
67
- if (type.name === 'Popconfirm') {
85
+ if (type === _popconfirm["default"]) {
68
86
  var placement = {
69
87
  placement: 'left'
70
88
  };
@@ -112,7 +130,7 @@ var HandleIcon = function HandleIcon(props) {
112
130
  }
113
131
  var menu = function menu(childArr) {
114
132
  return _react["default"].createElement(_menu["default"], {
115
- className: "menu-handle-icon-more"
133
+ className: "menu-handle-icon-more tnt-handle-icon-".concat(size)
116
134
  }, childArr === null || childArr === void 0 ? void 0 : childArr.map(function (child, i) {
117
135
  return _react["default"].createElement(_menu["default"].Item, {
118
136
  key: i
@@ -126,7 +144,7 @@ var HandleIcon = function HandleIcon(props) {
126
144
  }
127
145
  }
128
146
  }, rest, {
129
- className: "tnt-handle-icon-wrap ".concat((rest === null || rest === void 0 ? void 0 : rest.className) || '')
147
+ className: "tnt-handle-icon-wrap tnt-handle-icon-".concat(size, " ").concat((rest === null || rest === void 0 ? void 0 : rest.className) || '')
130
148
  }), preChildPart, !!(lastChildPart === null || lastChildPart === void 0 ? void 0 : lastChildPart.length) && _react["default"].createElement(_dropdown["default"], {
131
149
  overlay: menu(lastChildPart || []),
132
150
  arrow: true,
@@ -146,7 +164,8 @@ HandleIcon.Item = function (props) {
146
164
  _props$tooltip = props.tooltip,
147
165
  tooltip = _props$tooltip === void 0 ? true : _props$tooltip,
148
166
  inMore = props.inMore,
149
- disabled = props.disabled;
167
+ disabled = props.disabled,
168
+ rest = __rest(props, ["children", "title", "desc", "tooltip", "inMore", "disabled"]);
150
169
  var replaceIconWithText = function replaceIconWithText(element) {
151
170
  if (_react["default"].isValidElement(element)) {
152
171
  var type = element.type,
@@ -160,12 +179,12 @@ HandleIcon.Item = function (props) {
160
179
  };
161
180
  }
162
181
  // 如果是更多需要替换文字
163
- if (type.name === 'Icon' || type === 'img') {
182
+ if (type === _icon["default"] || type === 'img') {
164
183
  if (inMore) {
165
184
  return _react["default"].createElement("a", Object.assign({}, eleProps, disabledProps), title);
166
185
  }
167
186
  }
168
- if (disabled && type.name === 'Icon' || ['img', 'a'].includes(type)) {
187
+ if (disabled && (type === _icon["default"] || ['img', 'a'].includes(type))) {
169
188
  return _react["default"].cloneElement(element, Object.assign(Object.assign({}, (element === null || element === void 0 ? void 0 : element.props) || {}), disabledProps || {}));
170
189
  }
171
190
  if (eleProps && eleProps.children) {
@@ -186,9 +205,9 @@ HandleIcon.Item = function (props) {
186
205
  newChildren = replaceIconWithText(children);
187
206
  }
188
207
  if ((inMore && desc || !inMore) && tooltip) {
189
- return _react["default"].createElement(_tooltip["default"], {
208
+ return _react["default"].createElement(_tooltip["default"], Object.assign({
190
209
  title: desc || title
191
- }, newChildren);
210
+ }, rest || {}), newChildren);
192
211
  }
193
212
  return newChildren;
194
213
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle-icon/index.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport Icon from '../icon'\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Tooltip from '../tooltip'\nimport Menu from '../menu'\nimport './index.less'\n\nconst HandleIcon = (props) => {\n return (\n <LocaleReceiver componentName=\"HandleIcon\">\n {() => {\n const {\n children = [],\n num = 6,\n divider = false,\n stopPropagation=true,\n ...rest\n } = props || {}\n\n \n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null];\n \n // 只有1个时不适配\n if (newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n \n if (divider && preChildPart) {\n preChildPart = preChildPart?.map((dom, i) => (\n <>\n {dom}\n {!(\n (i === preChildPart?.length - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </>\n ))\n }\n\n const decoratePopconfirm = (element, parentElement) => {\n if (React.isValidElement(element)) {\n const { type, props } = element;\n if (type.name === 'Popconfirm' ) {\n const placement = { placement: 'left' }\n const {disabled} = parentElement?.props||{}\n let disableProps={};\n if(disabled){\n disableProps={\n disabled,\n onConfirm:()=>{}\n };\n }\n return React.cloneElement(element, {\n overlayStyle: { width: 180 },\n ...(props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n ...disableProps||{}\n })\n }\n if (props && props.children) {\n const modifiedChildren = React.Children.map(props.children, (child) => {\n return decoratePopconfirm(child,element);\n });\n return React.cloneElement(element, props, modifiedChildren);\n }\n }\n return element;\n };\n \n\n // 对更多的popConfirm\n if(lastChildPart?.length){\n lastChildPart?.forEach((v, i) => {\n v = decoratePopconfirm(v);\n lastChildPart[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n inMore:true,\n })\n }) \n }\n \n const menu = (childArr)=>(\n <Menu className=\"menu-handle-icon-more\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n className={`tnt-handle-icon-wrap ${rest?.className||''}`}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown \n overlay={menu(lastChildPart || [])} \n arrow \n onClick={(e)=>{\n stopPropagation && e.stopPropagation()\n }}\n >\n <Icon type=\"more\" className='tnt-handle-icon-more'/>\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n\nHandleIcon.Item = (props) => {\n const {children, title, desc, tooltip=true, inMore, disabled} = props\n const replaceIconWithText = (element) => {\n if (React.isValidElement(element)) {\n const { type, props:eleProps } = element;\n let disabledProps = {}\n if(disabled){\n disabledProps = {\n disabled,\n onClick:()=>{},\n className:(eleProps?.className || \"\")+ (disabled?' disabled':\"\")\n }\n }\n // 如果是更多需要替换文字\n if (type.name === 'Icon' || type ==='img') {\n if(inMore){\n return (\n <a \n {...eleProps}\n {...disabledProps}\n \n >{title}</a>\n );\n }\n }\n\n if(disabled && type.name==='Icon' || ['img','a'].includes(type)){\n return React.cloneElement(element, {\n ...element?.props || {} ,\n ...disabledProps||{}\n })\n }\n\n if (eleProps && eleProps.children) {\n const modifiedChildren = React.Children.map(eleProps.children, (child) => {\n return replaceIconWithText(child);\n });\n return React.cloneElement(element, eleProps, modifiedChildren);\n }\n }\n return element;\n };\n\n let newChildren = children;\n if(Array.isArray(newChildren)){\n newChildren= children?.map(child=> replaceIconWithText(child))\n }else{\n newChildren= replaceIconWithText(children)\n }\n\n if(((inMore && desc) || !inMore) && tooltip){\n return (\n <Tooltip title={desc||title}>\n {newChildren}\n </Tooltip>\n )\n }\n\n return newChildren\n \n}\nexport default HandleIcon"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle-icon/index.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport toArray from \"rc-util/es/Children/toArray\";\nimport Icon from '../icon'\nimport PopConfirm from \"../popconfirm\"\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Tooltip from '../tooltip'\nimport Menu from '../menu'\nimport './index.less'\n\nconst HandleIcon = (props) => {\n return (\n <LocaleReceiver componentName=\"HandleIcon\">\n {() => {\n const {\n children = [],\n num = 5,\n divider = false,\n stopPropagation=true,\n size= 'large',\n ...rest\n } = props || {}\n\n \n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n const flattenChildren = (children) => {\n if (!children) {\n return [];\n }\n return toArray(children).reduce(function (flatChildren, child) {\n if (child && child.type === React.Fragment) {\n return flatChildren.concat(flattenChildren(child.props.children));\n }\n \n flatChildren.push(child);\n return flatChildren;\n }, []);\n }\n\n // 解决需要Fragment包的场景\n newChildren = flattenChildren(newChildren);\n\n let [preChildPart, lastChildPart] = [newChildren, null];\n \n // 只有1个时不适配\n if (newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n \n if (divider && preChildPart) {\n preChildPart = preChildPart?.map((dom, i) => (\n <>\n {dom}\n {!(\n (i === preChildPart?.length - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </>\n ))\n }\n\n const decoratePopconfirm = (element, parentElement) => {\n if (React.isValidElement(element)) {\n const { type, props } = element;\n if (type === PopConfirm ) {\n const placement = { placement: 'left' }\n const {disabled} = parentElement?.props||{}\n let disableProps={};\n if(disabled){\n disableProps={\n disabled,\n onConfirm:()=>{}\n };\n }\n return React.cloneElement(element, {\n overlayStyle: { width: 180 },\n ...(props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n ...disableProps||{}\n })\n }\n if (props && props.children) {\n const modifiedChildren = React.Children.map(props.children, (child) => {\n return decoratePopconfirm(child,element);\n });\n return React.cloneElement(element, props, modifiedChildren);\n }\n }\n return element;\n };\n \n\n // 对更多的popConfirm\n if(lastChildPart?.length){\n lastChildPart?.forEach((v, i) => {\n v = decoratePopconfirm(v);\n lastChildPart[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n inMore:true,\n })\n }) \n }\n \n const menu = (childArr)=>(\n <Menu className={`menu-handle-icon-more tnt-handle-icon-${size}`}>\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n className={`tnt-handle-icon-wrap tnt-handle-icon-${size} ${rest?.className||''}`}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown \n overlay={menu(lastChildPart || [])} \n arrow \n onClick={(e)=>{\n stopPropagation && e.stopPropagation()\n }}\n >\n <Icon type=\"more\" className='tnt-handle-icon-more'/>\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n\nHandleIcon.Item = (props) => {\n const {children, title, desc, tooltip=true, inMore, disabled,...rest} = props\n const replaceIconWithText = (element) => {\n if (React.isValidElement(element)) {\n const { type, props:eleProps } = element;\n let disabledProps = {}\n if(disabled){\n disabledProps = {\n disabled,\n onClick:()=>{},\n className:(eleProps?.className || \"\")+ (disabled?' disabled':\"\")\n }\n }\n // 如果是更多需要替换文字\n if (type === Icon || type ==='img') {\n if(inMore){\n return (\n <a \n {...eleProps}\n {...disabledProps}\n \n >{title}</a>\n );\n }\n }\n\n if(disabled && (type===Icon || ['img','a'].includes(type))){\n return React.cloneElement(element, {\n ...element?.props || {} ,\n ...disabledProps||{}\n })\n }\n\n if (eleProps && eleProps.children) {\n const modifiedChildren = React.Children.map(eleProps.children, (child) => {\n return replaceIconWithText(child);\n });\n return React.cloneElement(element, eleProps, modifiedChildren);\n }\n }\n return element;\n };\n\n let newChildren = children;\n if(Array.isArray(newChildren)){\n newChildren= children?.map(child=> replaceIconWithText(child))\n }else{\n newChildren= replaceIconWithText(children)\n }\n\n if(((inMore && desc) || !inMore) && tooltip){\n return (\n <Tooltip title={desc||title} {...(rest||{})}>\n {newChildren}\n </Tooltip>\n )\n }\n\n return newChildren\n \n}\nexport default HandleIcon"]}