tntd 3.0.0-beta.13 → 3.0.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 (52) hide show
  1. package/es/descriptions/descriptions.js +50 -71
  2. package/es/descriptions/descriptions.js.map +1 -1
  3. package/es/drawer/index.less +4 -11
  4. package/es/handle-icon/index.js +35 -17
  5. package/es/handle-icon/index.js.map +1 -1
  6. package/es/handle-icon/index.less +28 -15
  7. package/es/input/input.js +10 -6
  8. package/es/input/input.js.map +1 -1
  9. package/es/input/style/mixin.less +1 -1
  10. package/es/modal/style/confirm.less +0 -4
  11. package/es/query-form/Field/Composition/utils.js +7 -1
  12. package/es/query-form/Field/Composition/utils.js.map +1 -1
  13. package/es/select/select.js +5 -3
  14. package/es/select/select.js.map +1 -1
  15. package/es/select/select.less +0 -3
  16. package/es/select/style/index.less +4 -4
  17. package/es/tntd-select/index.js +6 -4
  18. package/es/tntd-select/index.js.map +1 -1
  19. package/es/tooltip/index.js +1 -0
  20. package/es/tooltip/index.js.map +1 -1
  21. package/es/tooltip/index.less +1 -2
  22. package/lib/descriptions/descriptions.d.ts.map +1 -1
  23. package/lib/descriptions/descriptions.js +46 -64
  24. package/lib/descriptions/descriptions.js.map +1 -1
  25. package/lib/drawer/index.less +4 -11
  26. package/lib/handle-icon/index.d.ts.map +1 -1
  27. package/lib/handle-icon/index.js +29 -10
  28. package/lib/handle-icon/index.js.map +1 -1
  29. package/lib/handle-icon/index.less +28 -15
  30. package/lib/input/input.js +8 -4
  31. package/lib/input/input.js.map +1 -1
  32. package/lib/input/style/mixin.less +1 -1
  33. package/lib/modal/style/confirm.less +0 -4
  34. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -1
  35. package/lib/query-form/Field/Composition/utils.js +7 -1
  36. package/lib/query-form/Field/Composition/utils.js.map +1 -1
  37. package/lib/select/select.d.ts.map +1 -1
  38. package/lib/select/select.js +4 -2
  39. package/lib/select/select.js.map +1 -1
  40. package/lib/select/select.less +0 -3
  41. package/lib/select/style/index.less +4 -4
  42. package/lib/tntd-select/index.d.ts.map +1 -1
  43. package/lib/tntd-select/index.js +5 -3
  44. package/lib/tntd-select/index.js.map +1 -1
  45. package/lib/tooltip/index.d.ts +1 -0
  46. package/lib/tooltip/index.d.ts.map +1 -1
  47. package/lib/tooltip/index.js +1 -0
  48. package/lib/tooltip/index.js.map +1 -1
  49. package/lib/tooltip/index.less +1 -2
  50. package/package.json +1 -1
  51. package/themes/default/variables.less +1 -1
  52. package/themes/default/variablesVar.less +1 -1
@@ -16,6 +16,7 @@ var __rest = this && this.__rest || function (s, e) {
16
16
  */
17
17
  import React, { forwardRef } from 'react';
18
18
  import classNames from 'classnames';
19
+ import toArray from 'rc-util/es/Children/toArray';
19
20
  import { ConfigConsumer } from 'antd/es/config-provider';
20
21
  import { default as AntdDescriptions } from 'antd/es/descriptions';
21
22
  import Ellipsis from '../ellipsis';
@@ -49,78 +50,19 @@ export const Descriptions = forwardRef((_a, ref) => {
49
50
  // 非垂直 且 同盾
50
51
  const tdDescriptions = layout !== 'vertical' && tdType;
51
52
  const tntPrefixCls = 'tnt-descriptions';
52
- const decorateNoBorderChild = element => {
53
- if (React.isValidElement(element)) {
54
- const {
55
- type,
56
- props
57
- } = element;
58
- if ((type === null || type === void 0 ? void 0 : type.name) === 'DescriptionsItem') {
59
- const {
60
- label,
61
- labelPrefix,
62
- children: childContext
63
- } = props || {};
64
- return React.createElement("div", null, React.createElement(Ellipsis, {
65
- lines: ellipsisLine,
66
- className: "tnt-descriptions-item",
67
- prefix: React.createElement("div", {
68
- className: "tnt-descriptions-label-title"
69
- }, React.createElement(Ellipsis, {
70
- prefix: labelPrefix ? React.createElement("span", {
71
- className: "tnt-descriptions-label-tag"
72
- }, labelPrefix) : null,
73
- lines: ellipsisLine,
74
- title: label
75
- })),
76
- title: childContext
77
- }));
78
- }
79
- if (props && props.children) {
80
- const modifiedChildren = React.Children.map(props.children, child => {
81
- return decorateNoBorderChild(child);
82
- });
83
- return React.cloneElement(element, props, modifiedChildren);
84
- }
53
+ const flattenChildren = children => {
54
+ if (!children) {
55
+ return [];
85
56
  }
86
- return element;
87
- };
88
- const decorateBorderChild = element => {
89
- if (React.isValidElement(element)) {
90
- const {
91
- type,
92
- props
93
- } = element;
94
- if (type.name === 'DescriptionsItem') {
95
- const childProps = props || {};
96
- const {
97
- label,
98
- labelPrefix,
99
- children: childContext
100
- } = childProps;
101
- return React.cloneElement(element, Object.assign(Object.assign({}, props), {
102
- label: React.createElement(Ellipsis, {
103
- prefix: labelPrefix ? React.createElement("span", {
104
- className: "tnt-descriptions-label-tag"
105
- }, labelPrefix) : null,
106
- lines: ellipsisLine,
107
- title: label
108
- }),
109
- children: React.createElement(Ellipsis, {
110
- lines: ellipsisLine,
111
- title: childContext
112
- })
113
- }));
114
- }
115
- if (props && props.children) {
116
- const modifiedChildren = React.Children.map(props.children, child => {
117
- return decorateBorderChild(child);
118
- });
119
- return React.cloneElement(element, props, modifiedChildren);
57
+ return toArray(children).reduce(function (flatChildren, child) {
58
+ if (child && child.type === React.Fragment) {
59
+ return flatChildren.concat(flattenChildren(child.props.children));
120
60
  }
121
- }
122
- return element;
61
+ flatChildren.push(child);
62
+ return flatChildren;
63
+ }, []);
123
64
  };
65
+ children = flattenChildren(children);
124
66
  return React.createElement(AntdDescriptions, Object.assign({
125
67
  className: classNames(`${prefixCls}-${getLanguage()}`, {
126
68
  [tntPrefixCls]: tdDescriptions
@@ -135,11 +77,48 @@ export const Descriptions = forwardRef((_a, ref) => {
135
77
  ref: ref
136
78
  }), tdDescriptions && !bordered && !hideTooltip && React.Children.map(children, child => {
137
79
  if (React.isValidElement(child)) {
138
- return decorateNoBorderChild(child);
80
+ const childProps = child.props || {};
81
+ const {
82
+ label,
83
+ labelPrefix,
84
+ children: childContext
85
+ } = childProps;
86
+ return React.createElement("div", null, React.createElement(Ellipsis, {
87
+ lines: ellipsisLine,
88
+ className: "tnt-descriptions-item",
89
+ prefix: React.createElement("div", {
90
+ className: "tnt-descriptions-label-title"
91
+ }, React.createElement(Ellipsis, {
92
+ prefix: labelPrefix ? React.createElement("span", {
93
+ className: "tnt-descriptions-label-tag"
94
+ }, labelPrefix) : null,
95
+ lines: ellipsisLine,
96
+ title: label
97
+ })),
98
+ title: childContext
99
+ }));
139
100
  }
140
101
  }), tdDescriptions && bordered && ellipsis && !hideTooltip && React.Children.map(children, child => {
141
102
  if (React.isValidElement(child)) {
142
- return decorateBorderChild(child);
103
+ const childProps = child.props || {};
104
+ const {
105
+ label,
106
+ labelPrefix,
107
+ children: childContext
108
+ } = childProps;
109
+ return React.cloneElement(child, Object.assign(Object.assign({}, child.props), {
110
+ label: React.createElement(Ellipsis, {
111
+ prefix: labelPrefix ? React.createElement("span", {
112
+ className: "tnt-descriptions-label-tag"
113
+ }, labelPrefix) : null,
114
+ lines: ellipsisLine,
115
+ title: label
116
+ }),
117
+ children: React.createElement(Ellipsis, {
118
+ lines: ellipsisLine,
119
+ title: childContext
120
+ })
121
+ }));
143
122
  }
144
123
  }), (!tdDescriptions || bordered && !ellipsis || hideTooltip) && children);
145
124
  });
@@ -1 +1 @@
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/es/descriptions'\nimport type { DescriptionsItemProps as AntdDescriptionsItemProps } from 'antd/es/descriptions'\nimport classNames from 'classnames'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdDescriptions } from 'antd/es/descriptions'\n\nimport Ellipsis from '../ellipsis'\nimport { doUpperTitle } from '../utils'\nimport { getLanguage } from '../prev-locale'\n\nexport * from 'antd/es/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 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 { label, labelPrefix, children: childContext } = props || {}\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\">{labelPrefix}</span>\n ) : null\n }\n lines={ellipsisLine}\n title={label}\n />\n </div>\n }\n title={childContext}\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 const decorateBorderChild = (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, labelPrefix, children: childContext } = childProps\n return React.cloneElement(element, {\n ...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 if (props && props.children) {\n const modifiedChildren = React.Children.map(props.children, (child) => {\n return decorateBorderChild(child)\n })\n return React.cloneElement(element, props, modifiedChildren)\n }\n }\n return element\n }\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 return decorateNoBorderChild(child)\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 return decorateBorderChild(child)\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"]}
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/es/descriptions'\nimport type { DescriptionsItemProps as AntdDescriptionsItemProps } from 'antd/es/descriptions'\nimport classNames from 'classnames'\nimport toArray from 'rc-util/es/Children/toArray'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdDescriptions } from 'antd/es/descriptions'\n\nimport Ellipsis from '../ellipsis'\nimport { doUpperTitle } from '../utils'\nimport { getLanguage } from '../prev-locale'\n\nexport * from 'antd/es/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"]}
@@ -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,11 +128,9 @@
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
-
141
134
  .@{drawer-prefix-cls}-wrapper-body {
142
135
 
143
136
  .@{drawer-prefix-cls}-footer-style {
@@ -149,7 +142,7 @@
149
142
  background: #fff;
150
143
  text-align: right;
151
144
  .@{ant-prefix}-btn {
152
- margin-left: 8px;
145
+ margin-left: 15px;
153
146
  }
154
147
  }
155
148
 
@@ -8,7 +8,9 @@ var __rest = this && this.__rest || function (s, e) {
8
8
  };
9
9
  import React from 'react';
10
10
  import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
11
+ import toArray from "rc-util/es/Children/toArray";
11
12
  import Icon from '../icon';
13
+ import PopConfirm from "../popconfirm";
12
14
  import Divider from '../divider';
13
15
  import Dropdown from '../dropdown';
14
16
  import Tooltip from '../tooltip';
@@ -21,17 +23,32 @@ const HandleIcon = props => {
21
23
  const _a = props || {},
22
24
  {
23
25
  children = [],
24
- num = 6,
26
+ num = 5,
25
27
  divider = false,
26
- stopPropagation = true
28
+ stopPropagation = true,
29
+ size = 'large'
27
30
  } = _a,
28
- rest = __rest(_a, ["children", "num", "divider", "stopPropagation"]);
31
+ rest = __rest(_a, ["children", "num", "divider", "stopPropagation", "size"]);
29
32
  let newChildren = [];
30
33
  if (Array.isArray(children)) {
31
34
  newChildren = (children === null || children === void 0 ? void 0 : children.filter(item => !!item)) || [];
32
35
  } else if (children) {
33
36
  newChildren.push(children);
34
37
  }
38
+ const flattenChildren = children => {
39
+ if (!children) {
40
+ return [];
41
+ }
42
+ return toArray(children).reduce(function (flatChildren, child) {
43
+ if (child && child.type === React.Fragment) {
44
+ return flatChildren.concat(flattenChildren(child.props.children));
45
+ }
46
+ flatChildren.push(child);
47
+ return flatChildren;
48
+ }, []);
49
+ };
50
+ // 解决需要Fragment包的场景
51
+ newChildren = flattenChildren(newChildren);
35
52
  let [preChildPart, lastChildPart] = [newChildren, null];
36
53
  // 只有1个时不适配
37
54
  if (newChildren.length - num === 1) {
@@ -52,7 +69,7 @@ const HandleIcon = props => {
52
69
  type,
53
70
  props
54
71
  } = element;
55
- if (type.name === 'Popconfirm') {
72
+ if (type === PopConfirm) {
56
73
  const placement = {
57
74
  placement: 'left'
58
75
  };
@@ -96,7 +113,7 @@ const HandleIcon = props => {
96
113
  });
97
114
  }
98
115
  const menu = childArr => React.createElement(Menu, {
99
- className: "menu-handle-icon-more"
116
+ className: `menu-handle-icon-more tnt-handle-icon-${size}`
100
117
  }, childArr === null || childArr === void 0 ? void 0 : childArr.map((child, i) => React.createElement(Menu.Item, {
101
118
  key: i
102
119
  }, child)));
@@ -107,7 +124,7 @@ const HandleIcon = props => {
107
124
  }
108
125
  }
109
126
  }, rest, {
110
- className: `tnt-handle-icon-wrap ${(rest === null || rest === void 0 ? void 0 : rest.className) || ''}`
127
+ className: `tnt-handle-icon-wrap tnt-handle-icon-${size} ${(rest === null || rest === void 0 ? void 0 : rest.className) || ''}`
111
128
  }), preChildPart, !!(lastChildPart === null || lastChildPart === void 0 ? void 0 : lastChildPart.length) && React.createElement(Dropdown, {
112
129
  overlay: menu(lastChildPart || []),
113
130
  arrow: true,
@@ -122,13 +139,14 @@ const HandleIcon = props => {
122
139
  };
123
140
  HandleIcon.Item = props => {
124
141
  const {
125
- children,
126
- title,
127
- desc,
128
- tooltip = true,
129
- inMore,
130
- disabled
131
- } = props;
142
+ children,
143
+ title,
144
+ desc,
145
+ tooltip = true,
146
+ inMore,
147
+ disabled
148
+ } = props,
149
+ rest = __rest(props, ["children", "title", "desc", "tooltip", "inMore", "disabled"]);
132
150
  const replaceIconWithText = element => {
133
151
  if (React.isValidElement(element)) {
134
152
  const {
@@ -144,12 +162,12 @@ HandleIcon.Item = props => {
144
162
  };
145
163
  }
146
164
  // 如果是更多需要替换文字
147
- if (type.name === 'Icon' || type === 'img') {
165
+ if (type === Icon || type === 'img') {
148
166
  if (inMore) {
149
167
  return React.createElement("a", Object.assign({}, eleProps, disabledProps), title);
150
168
  }
151
169
  }
152
- if (disabled && type.name === 'Icon' || ['img', 'a'].includes(type)) {
170
+ if (disabled && (type === Icon || ['img', 'a'].includes(type))) {
153
171
  return React.cloneElement(element, Object.assign(Object.assign({}, (element === null || element === void 0 ? void 0 : element.props) || {}), disabledProps || {}));
154
172
  }
155
173
  if (eleProps && eleProps.children) {
@@ -168,9 +186,9 @@ HandleIcon.Item = props => {
168
186
  newChildren = replaceIconWithText(children);
169
187
  }
170
188
  if ((inMore && desc || !inMore) && tooltip) {
171
- return React.createElement(Tooltip, {
189
+ return React.createElement(Tooltip, Object.assign({
172
190
  title: desc || title
173
- }, newChildren);
191
+ }, rest || {}), newChildren);
174
192
  }
175
193
  return newChildren;
176
194
  };
@@ -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/es/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/es/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"]}
@@ -1,35 +1,48 @@
1
+ @small-size: 16px;
2
+ @middle-size: 18px;
3
+ @large-size: 20px;
1
4
  .tnt-handle-icon-wrap{
2
5
  >*:not(:last-child){
3
6
  margin-right: 8px;
4
7
  }
5
- >*.tntd-anticon{
6
- font-size: 20px;
7
-
8
- }
9
- >*{
10
- &.icon-disabled,&.disabled{
11
- cursor: not-allowed;
12
- pointer-events: auto;
13
- color: @disabled-color;
14
- }
15
- }
16
- }
17
- .tnt-handle-icon-more{
18
- font-size: 20px;
19
8
  }
20
9
 
21
10
  .menu-handle-icon-more{
22
11
  min-width: 100px;
23
12
  max-width: 300px;
13
+ }
14
+
15
+ [class*=tnt-handle-icon]{
24
16
  a{
25
17
  display: block;
26
18
  overflow: hidden;
27
19
  white-space: nowrap;
28
20
  text-overflow: ellipsis;
21
+ color:@text-color;
29
22
  }
30
23
  .icon-disabled,.disabled{
31
24
  cursor: not-allowed;
32
25
  pointer-events: auto;
33
26
  color: @disabled-color;
34
27
  }
35
- }
28
+
29
+ }
30
+ .tnt-handle-icon-small{
31
+ .tntd-anticon{
32
+ font-size: @small-size;
33
+ }
34
+ font-size: @small-size;
35
+ }
36
+ .tnt-handle-icon-middle{
37
+ .tntd-anticon{
38
+ font-size: @middle-size;
39
+ }
40
+ font-size: @middle-size;
41
+ }
42
+ .tnt-handle-icon-large{
43
+ .tntd-anticon{
44
+ font-size: @large-size;
45
+ }
46
+ font-size: @large-size;
47
+ }
48
+
package/es/input/input.js CHANGED
@@ -35,12 +35,14 @@ const Search = forwardRef((_a, ref) => {
35
35
  var {
36
36
  className,
37
37
  borderStyle,
38
- readonly
38
+ readonly,
39
+ placeholder,
40
+ capitalize
39
41
  } = _a,
40
- props = __rest(_a, ["className", "borderStyle", "readonly"]);
42
+ props = __rest(_a, ["className", "borderStyle", "readonly", "placeholder", "capitalize"]);
41
43
  return readonly ? React.createElement(PreviewText.Input, Object.assign({}, props)) : React.createElement(ConfigConsumer, null, () => {
42
44
  return React.createElement(AntdInput.Search, Object.assign({}, props, {
43
- placeholder: capitalizeFirstLetter(props === null || props === void 0 ? void 0 : props.placeholder, props === null || props === void 0 ? void 0 : props.capitalize),
45
+ placeholder: capitalizeFirstLetter(placeholder, capitalize),
44
46
  className: classNames(className, tntPrefixCls, {
45
47
  [`${tntPrefixCls}-outline`]: borderStyle === 'outline',
46
48
  [`${tntPrefixCls}-fill`]: borderStyle === 'fill'
@@ -90,12 +92,14 @@ const Password = forwardRef((_a, ref) => {
90
92
  export const InternalInput = forwardRef((_a, ref) => {
91
93
  var {
92
94
  className,
93
- borderStyle
95
+ borderStyle,
96
+ placeholder,
97
+ capitalize
94
98
  } = _a,
95
- props = __rest(_a, ["className", "borderStyle"]);
99
+ props = __rest(_a, ["className", "borderStyle", "placeholder", "capitalize"]);
96
100
  return React.createElement(ConfigConsumer, null, () => {
97
101
  return React.createElement(AntdInput, Object.assign({}, props, {
98
- placeholder: capitalizeFirstLetter(props === null || props === void 0 ? void 0 : props.placeholder, props === null || props === void 0 ? void 0 : props.capitalize),
102
+ placeholder: capitalizeFirstLetter(placeholder, capitalize),
99
103
  ref: ref,
100
104
  className: classNames(className, tntPrefixCls, {
101
105
  [`${tntPrefixCls}-outline`]: borderStyle === 'outline',
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/input/input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport type {\n GroupProps as AntdGroupProps,\n InputProps as AntdInputProps,\n TextAreaProps as AntdTextAreaProps,\n PasswordProps as AntdPasswordProps,\n SearchProps as AntdSearchProps,\n} from 'antd/es/input'\nimport type { default as AntdPassword } from 'antd/es/input/Password'\nimport type { default as AntdTextArea } from 'antd/es/input/TextArea'\nimport type { default as AntdGroup } from 'antd/es/input/Group'\nimport type { default as AntdSearch } from 'antd/es/input/Search'\nimport { default as AntdInput } from 'antd/es/input'\nimport classNames from 'classnames'\nimport { connectReadonlyComponent } from '../connect'\nimport { capitalizeFirstLetter } from '../utils'\nimport React, { forwardRef } from 'react'\nimport PreviewText from '../preview-text'\n\nexport interface InputProps extends AntdInputProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nexport interface GroupProps extends AntdGroupProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n}\n\nexport interface TextAreaProps extends AntdTextAreaProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nexport interface PasswordProps extends AntdPasswordProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nexport interface SearchProps extends AntdSearchProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nconst tntPrefixCls = 'tnt-input'\n\nconst Group = forwardRef<typeof AntdGroup, GroupProps>(\n ({ className, borderStyle, ...props }, ref) => (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.Group\n {...props}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n // @ts-ignore\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\nconst Search = forwardRef<AntdSearch, SearchProps & { capitalize?: boolean }>(\n ({ className, borderStyle, readonly, ...props }, ref) =>\n readonly ? (\n <PreviewText.Input {...props} />\n ) : (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.Search\n {...props}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\nconst TextArea = forwardRef<AntdTextArea, TextAreaProps & { capitalize?: boolean }>(\n ({ className, borderStyle, readonly, ...props }, ref) =>\n readonly ? (\n // @ts-ignore\n <PreviewText.Input {...props} />\n ) : (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.TextArea\n {...props}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\nconst Password = forwardRef<AntdPassword, PasswordProps & { capitalize?: boolean }>(\n ({ className, borderStyle, readonly, ...props }, ref) =>\n readonly ? (\n <PreviewText.Input {...props} />\n ) : (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.Password\n {...props}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n ref={ref}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\ninterface InputComponent\n extends React.ForwardRefExoticComponent<InputProps & React.RefAttributes<AntdInput>> {\n Group: typeof Group\n TextArea: typeof TextArea\n Password: typeof Password\n Search: typeof Search\n}\n\nexport const InternalInput = forwardRef<AntdInput, InputProps & { capitalize?: boolean }>(\n ({ className, borderStyle, ...props }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput\n {...props}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n ref={ref}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as InputComponent\n\nexport const Input = connectReadonlyComponent(InternalInput, PreviewText.Input) as InputComponent\n\nInput.displayName = 'Input'\n\nInput.Group = Group\nInput.TextArea = TextArea\nInput.Password = Password\nInput.Search = Search\n"]}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/input/input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport type {\n GroupProps as AntdGroupProps,\n InputProps as AntdInputProps,\n TextAreaProps as AntdTextAreaProps,\n PasswordProps as AntdPasswordProps,\n SearchProps as AntdSearchProps,\n} from 'antd/es/input'\nimport type { default as AntdPassword } from 'antd/es/input/Password'\nimport type { default as AntdTextArea } from 'antd/es/input/TextArea'\nimport type { default as AntdGroup } from 'antd/es/input/Group'\nimport type { default as AntdSearch } from 'antd/es/input/Search'\nimport { default as AntdInput } from 'antd/es/input'\nimport classNames from 'classnames'\nimport { connectReadonlyComponent } from '../connect'\nimport { capitalizeFirstLetter } from '../utils'\nimport React, { forwardRef } from 'react'\nimport PreviewText from '../preview-text'\n\nexport interface InputProps extends AntdInputProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nexport interface GroupProps extends AntdGroupProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n}\n\nexport interface TextAreaProps extends AntdTextAreaProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nexport interface PasswordProps extends AntdPasswordProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nexport interface SearchProps extends AntdSearchProps {\n // 线框风格\n borderStyle?: 'outline' | 'fill'\n readonly?: boolean\n}\n\nconst tntPrefixCls = 'tnt-input'\n\nconst Group = forwardRef<typeof AntdGroup, GroupProps>(\n ({ className, borderStyle, ...props }, ref) => (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.Group\n {...props}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n // @ts-ignore\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\nconst Search = forwardRef<AntdSearch, SearchProps & { capitalize?: boolean }>(\n ({ className, borderStyle, readonly, placeholder, capitalize, ...props }, ref) =>\n readonly ? (\n <PreviewText.Input {...props} />\n ) : (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.Search\n {...props}\n placeholder={capitalizeFirstLetter(placeholder, capitalize)}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\nconst TextArea = forwardRef<AntdTextArea, TextAreaProps & { capitalize?: boolean }>(\n ({ className, borderStyle, readonly, ...props }, ref) =>\n readonly ? (\n // @ts-ignore\n <PreviewText.Input {...props} />\n ) : (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.TextArea\n {...props}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\nconst Password = forwardRef<AntdPassword, PasswordProps & { capitalize?: boolean }>(\n ({ className, borderStyle, readonly, ...props }, ref) =>\n readonly ? (\n <PreviewText.Input {...props} />\n ) : (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput.Password\n {...props}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n ref={ref}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n)\n\ninterface InputComponent\n extends React.ForwardRefExoticComponent<InputProps & React.RefAttributes<AntdInput>> {\n Group: typeof Group\n TextArea: typeof TextArea\n Password: typeof Password\n Search: typeof Search\n}\n\nexport const InternalInput = forwardRef<AntdInput, InputProps & { capitalize?: boolean }>(\n ({ className, borderStyle, placeholder, capitalize, ...props }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdInput\n {...props}\n placeholder={capitalizeFirstLetter(placeholder, capitalize)}\n ref={ref}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-outline`]: borderStyle === 'outline',\n [`${tntPrefixCls}-fill`]: borderStyle === 'fill',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as InputComponent\n\nexport const Input = connectReadonlyComponent(InternalInput, PreviewText.Input) as InputComponent\n\nInput.displayName = 'Input'\n\nInput.Group = Group\nInput.TextArea = TextArea\nInput.Password = Password\nInput.Search = Search\n"]}
@@ -428,7 +428,7 @@
428
428
 
429
429
  .clear-icon() {
430
430
  color: @disabled-color;
431
- font-size: @font-size-sm;
431
+ font-size: 16px;
432
432
  // https://github.com/ant-design/ant-design/pull/18151
433
433
  // https://codesandbox.io/s/wizardly-sun-u10br
434
434
  cursor: pointer;
@@ -71,10 +71,6 @@
71
71
  margin-bottom: 0;
72
72
  margin-left: 8px;
73
73
  }
74
-
75
- button {
76
- border-radius: @border-radius-lg;
77
- }
78
74
  }
79
75
 
80
76
  &-error &-body > .@{iconfont-css-prefix} {
@@ -2,6 +2,7 @@ import _flatten from "lodash/flatten";
2
2
  import _isString from "lodash/isString";
3
3
  import _isArray from "lodash/isArray";
4
4
  import React from 'react';
5
+ import moment from 'moment';
5
6
  export function highlightSubstring(str, substring) {
6
7
  const highlighted = `<span class="tnt-highlight">${substring}</span>`;
7
8
  return str.replace(new RegExp(substring, 'g'), highlighted);
@@ -74,7 +75,8 @@ export function parseObjectToArray(value, data) {
74
75
  } = dataItem || {};
75
76
  const _propsTitle = propsTitle || title || name;
76
77
  const {
77
- options
78
+ options,
79
+ format
78
80
  } = fieldProps || {};
79
81
  const fieldNames = ((_a = dataItem === null || dataItem === void 0 ? void 0 : dataItem.props) === null || _a === void 0 ? void 0 : _a.fieldNames) || {
80
82
  label: 'label',
@@ -109,6 +111,10 @@ export function parseObjectToArray(value, data) {
109
111
  options,
110
112
  fieldNames
111
113
  });
114
+ } else if (type === 'dateRange' && format) {
115
+ labelValue = [moment(labelValue[0]).format(format), moment(labelValue[1]).format(format)].join('~');
116
+ } else if (type === 'date' && format) {
117
+ labelValue = moment(labelValue).format(format);
112
118
  }
113
119
  return {
114
120
  key,