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.
- package/es/descriptions/descriptions.js +83 -44
- package/es/descriptions/descriptions.js.map +1 -1
- package/es/descriptions/descriptions.less +57 -60
- package/es/drawer/index.less +5 -11
- package/es/handle-icon/index.js +35 -17
- package/es/handle-icon/index.js.map +1 -1
- package/es/handle-icon/index.less +28 -15
- package/es/input/input.js +10 -6
- package/es/input/input.js.map +1 -1
- package/es/input/style/mixin.less +1 -1
- package/es/select/select.js +5 -3
- package/es/select/select.js.map +1 -1
- package/es/select/style/index.less +4 -4
- package/es/tntd-select/index.js +5 -3
- package/es/tntd-select/index.js.map +1 -1
- package/lib/descriptions/descriptions.d.ts +11 -6
- package/lib/descriptions/descriptions.d.ts.map +1 -1
- package/lib/descriptions/descriptions.js +84 -45
- package/lib/descriptions/descriptions.js.map +1 -1
- package/lib/descriptions/descriptions.less +57 -60
- package/lib/drawer/index.less +5 -11
- package/lib/handle-icon/index.d.ts.map +1 -1
- package/lib/handle-icon/index.js +29 -10
- package/lib/handle-icon/index.js.map +1 -1
- package/lib/handle-icon/index.less +28 -15
- package/lib/input/input.js +8 -4
- package/lib/input/input.js.map +1 -1
- package/lib/input/style/mixin.less +1 -1
- package/lib/select/select.d.ts.map +1 -1
- package/lib/select/select.js +4 -2
- package/lib/select/select.js.map +1 -1
- package/lib/select/style/index.less +4 -4
- package/lib/tntd-select/index.d.ts.map +1 -1
- package/lib/tntd-select/index.js +4 -2
- package/lib/tntd-select/index.js.map +1 -1
- 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:
|
|
46
|
+
* @Date: 2024-06-08 11:59:04
|
|
42
47
|
* @LastEditors: 周泽飞 zefei.zhou@tongdun.net
|
|
43
|
-
* @LastEditTime: 2024-
|
|
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
|
-
|
|
57
|
+
titleWeight = _a.titleWeight,
|
|
58
|
+
titleType = _a.titleType,
|
|
53
59
|
colon = _a.colon,
|
|
54
60
|
children = _a.children,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
|
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"])("
|
|
90
|
-
|
|
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
|
|
98
|
-
|
|
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
|
-
|
|
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
|
-
})
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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
|
-
|
|
33
|
-
|
|
43
|
+
// 默认没有前面的线条展示
|
|
44
|
+
&.title-theme-none{
|
|
45
|
+
>.@{descriptions-prefix-cls}-title{
|
|
46
|
+
padding-left:0;
|
|
34
47
|
&::before{
|
|
35
48
|
content: '';
|
|
36
|
-
|
|
49
|
+
display: none;
|
|
37
50
|
}
|
|
38
51
|
}
|
|
39
52
|
}
|
|
40
|
-
|
|
41
53
|
}
|
|
42
54
|
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
height:
|
|
93
|
-
line-height:
|
|
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:
|
|
100
|
+
background-color: @descriptions-bg;
|
|
105
101
|
height:16px;
|
|
106
102
|
top: 50%;
|
|
107
103
|
margin-top:-8px;
|
|
108
104
|
}
|
|
109
105
|
}
|
|
110
|
-
|
|
106
|
+
.@{descriptions-prefix-cls}-item-no-label{
|
|
111
107
|
display: none;
|
|
112
108
|
}
|
|
113
|
-
|
|
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
|
-
.
|
|
114
|
+
.tnt-descriptions-label-title{
|
|
119
115
|
max-width: 70%;
|
|
120
116
|
margin-right: 4px;
|
|
121
|
-
color
|
|
122
|
-
white-space: nowrap;
|
|
117
|
+
color: tint(@bg-color-spotilight, 50%);//#8B919E;
|
|
123
118
|
overflow: hidden;
|
|
124
119
|
text-overflow: ellipsis;
|
|
125
|
-
|
|
120
|
+
-webkit-box-orient: vertical;
|
|
121
|
+
&+.tnt-descriptions-item{
|
|
126
122
|
flex:1;
|
|
123
|
+
padding-right: 8px;
|
|
127
124
|
}
|
|
128
125
|
}
|
|
129
126
|
}
|
package/lib/drawer/index.less
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
.@{drawer-prefix-cls}-wrapper-body {
|
|
22
22
|
margin-top: 48px;
|
|
23
|
-
max-height: ~'calc(100vh -
|
|
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 -
|
|
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:
|
|
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:
|
|
142
|
+
padding: 10px 24px;
|
|
149
143
|
background: #fff;
|
|
150
144
|
text-align: right;
|
|
151
145
|
.@{ant-prefix}-btn {
|
|
152
|
-
margin-left:
|
|
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":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handle-icon/index.js"],"names":[],"mappings":";AAWA,2DAiJC;;IAED,+BA4DC"}
|
package/lib/handle-icon/index.js
CHANGED
|
@@ -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 ?
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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"]}
|