tntd 2.8.0-beta.9 → 2.8.2

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 (308) hide show
  1. package/es/array-input/index.js +57 -42
  2. package/es/array-input/index.js.map +1 -1
  3. package/es/array-input/index.less +4 -1
  4. package/es/button/button.js +3 -7
  5. package/es/button/button.js.map +1 -1
  6. package/es/button/button.less +7 -0
  7. package/es/button/index.js +1 -0
  8. package/es/button/index.js.map +1 -1
  9. package/es/collapse/collapse.less +3 -3
  10. package/es/descriptions/descriptions.js +85 -24
  11. package/es/descriptions/descriptions.js.map +1 -1
  12. package/es/descriptions/descriptions.less +63 -62
  13. package/es/descriptions/style/index.less +1 -0
  14. package/es/drawer/drawer.js +31 -21
  15. package/es/drawer/drawer.js.map +1 -1
  16. package/es/drawer/index.less +11 -12
  17. package/es/form/form.js +8 -3
  18. package/es/form/form.js.map +1 -1
  19. package/es/form/form.less +42 -0
  20. package/es/form/style/index.less +6 -6
  21. package/es/handle/index.js +2 -1
  22. package/es/handle/index.js.map +1 -1
  23. package/es/handle-icon/index.js +202 -0
  24. package/es/handle-icon/index.js.map +1 -0
  25. package/es/handle-icon/index.less +53 -0
  26. package/es/icon/style/style.less +1 -1
  27. package/es/index.js +1 -0
  28. package/es/index.js.map +1 -1
  29. package/es/input/input.js +10 -6
  30. package/es/input/input.js.map +1 -1
  31. package/es/input/style/mixin.less +1 -1
  32. package/es/locale/en_US.js +3 -0
  33. package/es/locale/en_US.js.map +1 -1
  34. package/es/locale/zh_CN.js +3 -0
  35. package/es/locale/zh_CN.js.map +1 -1
  36. package/es/mentions/style/index.less +1 -0
  37. package/es/modal/style/confirm.less +6 -10
  38. package/es/modal/style/modal.less +4 -2
  39. package/es/notification/assets/index.js +2 -0
  40. package/es/notification/assets/index.js.map +1 -0
  41. package/es/notification/assets/svg-error-tip.js +145 -0
  42. package/es/notification/assets/svg-error-tip.js.map +1 -0
  43. package/es/notification/assets/svg-success-tip.js +162 -0
  44. package/es/notification/assets/svg-success-tip.js.map +1 -0
  45. package/es/notification/index.js +1 -1
  46. package/es/notification/index.js.map +1 -1
  47. package/es/notification/notification.js +80 -0
  48. package/es/notification/notification.js.map +1 -0
  49. package/es/notification/notification.less +34 -0
  50. package/es/notification/style/index.less +1 -0
  51. package/es/page-container/index.js +1 -1
  52. package/es/page-container/index.js.map +1 -1
  53. package/es/page-loading/index.js +1 -1
  54. package/es/page-loading/index.js.map +1 -1
  55. package/es/select/select.js +5 -3
  56. package/es/select/select.js.map +1 -1
  57. package/es/select/style/index.less +7 -6
  58. package/es/spin/index.js.map +1 -1
  59. package/es/spin/spin.js +36 -0
  60. package/es/spin/spin.js.map +1 -0
  61. package/es/spin/spin.less +9 -0
  62. package/es/style/themes/default.less +1 -1
  63. package/es/table/expand.less +49 -0
  64. package/es/table/hooks/index.js +2 -1
  65. package/es/table/hooks/index.js.map +1 -1
  66. package/es/table/hooks/use-expand-fixed.js +80 -0
  67. package/es/table/hooks/use-expand-fixed.js.map +1 -0
  68. package/es/table/index.js +1 -0
  69. package/es/table/index.js.map +1 -1
  70. package/es/table/style/index.less +77 -39
  71. package/es/table/style/size.less +1 -0
  72. package/es/table/table.js +43 -8
  73. package/es/table/table.js.map +1 -1
  74. package/es/table/table.less +5 -5
  75. package/es/table/table.stories.js +413 -2
  76. package/es/table/table.stories.js.map +1 -1
  77. package/es/table/utils.js +11 -0
  78. package/es/table/utils.js.map +1 -1
  79. package/es/table-container/index.js +1 -1
  80. package/es/table-container/index.js.map +1 -1
  81. package/es/table-container/index.less +10 -10
  82. package/es/tabs-container/index.js +1 -1
  83. package/es/tabs-container/index.js.map +1 -1
  84. package/es/tag/color.less +53 -0
  85. package/es/tag/index.js +11 -2
  86. package/es/tag/index.js.map +1 -1
  87. package/es/tag/tag.js +171 -0
  88. package/es/tag/tag.js.map +1 -0
  89. package/es/tag/tag.less +228 -0
  90. package/es/title/index.js +4 -3
  91. package/es/title/index.js.map +1 -1
  92. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +5 -11
  93. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  94. package/es/tntd-cascader/AntdCascader/index.less +12 -2
  95. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
  96. package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  97. package/es/tntd-cascader/rc-cascader/OptionList/index.js +1 -0
  98. package/es/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  99. package/es/tntd-form/FormItem/ItemHolder.js +1 -6
  100. package/es/tntd-form/FormItem/ItemHolder.js.map +1 -1
  101. package/es/tntd-form/FormItemLabel.js +2 -0
  102. package/es/tntd-form/FormItemLabel.js.map +1 -1
  103. package/es/tntd-select/index.js +9 -4
  104. package/es/tntd-select/index.js.map +1 -1
  105. package/es/tooltip/index.js +3 -2
  106. package/es/tooltip/index.js.map +1 -1
  107. package/es/tooltip/index.less +29 -0
  108. package/es/tooltip/tooltip.js +33 -0
  109. package/es/tooltip/tooltip.js.map +1 -0
  110. package/lib/array-input/index.d.ts +1 -12
  111. package/lib/array-input/index.d.ts.map +1 -1
  112. package/lib/array-input/index.js +62 -55
  113. package/lib/array-input/index.js.map +1 -1
  114. package/lib/array-input/index.less +4 -1
  115. package/lib/button/button.d.ts.map +1 -1
  116. package/lib/button/button.js +2 -14
  117. package/lib/button/button.js.map +1 -1
  118. package/lib/button/button.less +7 -0
  119. package/lib/button/index.d.ts +1 -0
  120. package/lib/button/index.d.ts.map +1 -1
  121. package/lib/button/index.js +6 -5
  122. package/lib/button/index.js.map +1 -1
  123. package/lib/collapse/collapse.less +3 -3
  124. package/lib/descriptions/descriptions.d.ts +11 -6
  125. package/lib/descriptions/descriptions.d.ts.map +1 -1
  126. package/lib/descriptions/descriptions.js +92 -30
  127. package/lib/descriptions/descriptions.js.map +1 -1
  128. package/lib/descriptions/descriptions.less +63 -62
  129. package/lib/descriptions/style/index.less +1 -0
  130. package/lib/drawer/drawer.d.ts +3 -0
  131. package/lib/drawer/drawer.d.ts.map +1 -1
  132. package/lib/drawer/drawer.js +29 -19
  133. package/lib/drawer/drawer.js.map +1 -1
  134. package/lib/drawer/index.less +11 -12
  135. package/lib/form/form.d.ts +1 -0
  136. package/lib/form/form.d.ts.map +1 -1
  137. package/lib/form/form.js +9 -3
  138. package/lib/form/form.js.map +1 -1
  139. package/lib/form/form.less +42 -0
  140. package/lib/form/style/index.less +6 -6
  141. package/lib/handle/index.d.ts.map +1 -1
  142. package/lib/handle/index.js +2 -1
  143. package/lib/handle/index.js.map +1 -1
  144. package/lib/handle-icon/index.d.ts +7 -0
  145. package/lib/handle-icon/index.d.ts.map +1 -0
  146. package/lib/handle-icon/index.js +222 -0
  147. package/lib/handle-icon/index.js.map +1 -0
  148. package/lib/handle-icon/index.less +53 -0
  149. package/lib/icon/style/style.less +1 -1
  150. package/lib/index.d.ts +1 -0
  151. package/lib/index.d.ts.map +1 -1
  152. package/lib/index.js +7 -0
  153. package/lib/index.js.map +1 -1
  154. package/lib/input/input.js +8 -4
  155. package/lib/input/input.js.map +1 -1
  156. package/lib/input/style/mixin.less +1 -1
  157. package/lib/locale/default.d.ts +3 -0
  158. package/lib/locale/default.d.ts.map +1 -1
  159. package/lib/locale/en_US.d.ts +3 -0
  160. package/lib/locale/en_US.d.ts.map +1 -1
  161. package/lib/locale/en_US.js +3 -0
  162. package/lib/locale/en_US.js.map +1 -1
  163. package/lib/locale/zh_CN.d.ts +3 -0
  164. package/lib/locale/zh_CN.d.ts.map +1 -1
  165. package/lib/locale/zh_CN.js +3 -0
  166. package/lib/locale/zh_CN.js.map +1 -1
  167. package/lib/mentions/style/index.less +1 -0
  168. package/lib/modal/style/confirm.less +6 -10
  169. package/lib/modal/style/modal.less +4 -2
  170. package/lib/notification/assets/index.d.ts +3 -0
  171. package/lib/notification/assets/index.d.ts.map +1 -0
  172. package/lib/notification/assets/index.js +20 -0
  173. package/lib/notification/assets/index.js.map +1 -0
  174. package/lib/notification/assets/svg-error-tip.d.ts +4 -0
  175. package/lib/notification/assets/svg-error-tip.d.ts.map +1 -0
  176. package/lib/notification/assets/svg-error-tip.js +154 -0
  177. package/lib/notification/assets/svg-error-tip.js.map +1 -0
  178. package/lib/notification/assets/svg-success-tip.d.ts +4 -0
  179. package/lib/notification/assets/svg-success-tip.d.ts.map +1 -0
  180. package/lib/notification/assets/svg-success-tip.js +171 -0
  181. package/lib/notification/assets/svg-success-tip.js.map +1 -0
  182. package/lib/notification/index.d.ts +1 -1
  183. package/lib/notification/index.d.ts.map +1 -1
  184. package/lib/notification/index.js +7 -8
  185. package/lib/notification/index.js.map +1 -1
  186. package/lib/notification/notification.d.ts +9 -0
  187. package/lib/notification/notification.d.ts.map +1 -0
  188. package/lib/notification/notification.js +105 -0
  189. package/lib/notification/notification.js.map +1 -0
  190. package/lib/notification/notification.less +34 -0
  191. package/lib/notification/style/index.less +1 -0
  192. package/lib/page-container/index.js +1 -1
  193. package/lib/page-container/index.js.map +1 -1
  194. package/lib/page-loading/index.js +1 -1
  195. package/lib/page-loading/index.js.map +1 -1
  196. package/lib/segmented/index.d.ts +1 -1
  197. package/lib/select/select.d.ts.map +1 -1
  198. package/lib/select/select.js +4 -2
  199. package/lib/select/select.js.map +1 -1
  200. package/lib/select/style/index.less +7 -6
  201. package/lib/spin/index.d.ts.map +1 -1
  202. package/lib/spin/index.js.map +1 -1
  203. package/lib/spin/spin.d.ts +9 -0
  204. package/lib/spin/spin.d.ts.map +1 -0
  205. package/lib/spin/spin.js +44 -0
  206. package/lib/spin/spin.js.map +1 -0
  207. package/lib/spin/spin.less +9 -0
  208. package/lib/style/themes/default.less +1 -1
  209. package/lib/svg-components/illustration-403.d.ts +1 -1
  210. package/lib/svg-components/illustration-404.d.ts +1 -1
  211. package/lib/svg-components/illustration-500.d.ts +1 -1
  212. package/lib/svg-components/illustration-empty.d.ts +1 -1
  213. package/lib/svg-components/illustration-failure.d.ts +1 -1
  214. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  215. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  216. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  217. package/lib/svg-components/illustration-offline.d.ts +1 -1
  218. package/lib/svg-components/illustration-success.d.ts +1 -1
  219. package/lib/table/assets/image-loading-background.d.ts +1 -1
  220. package/lib/table/assets/image-loading.d.ts +1 -1
  221. package/lib/table/expand.less +49 -0
  222. package/lib/table/hooks/index.d.ts +1 -0
  223. package/lib/table/hooks/index.d.ts.map +1 -1
  224. package/lib/table/hooks/index.js +11 -0
  225. package/lib/table/hooks/index.js.map +1 -1
  226. package/lib/table/hooks/use-expand-fixed.d.ts +4 -0
  227. package/lib/table/hooks/use-expand-fixed.d.ts.map +1 -0
  228. package/lib/table/hooks/use-expand-fixed.js +110 -0
  229. package/lib/table/hooks/use-expand-fixed.js.map +1 -0
  230. package/lib/table/index.d.ts +1 -0
  231. package/lib/table/index.d.ts.map +1 -1
  232. package/lib/table/index.js +1 -0
  233. package/lib/table/index.js.map +1 -1
  234. package/lib/table/style/index.less +77 -39
  235. package/lib/table/style/size.less +1 -0
  236. package/lib/table/table.d.ts +3 -1
  237. package/lib/table/table.d.ts.map +1 -1
  238. package/lib/table/table.js +43 -4
  239. package/lib/table/table.js.map +1 -1
  240. package/lib/table/table.less +5 -5
  241. package/lib/table/table.stories.d.ts +106 -29
  242. package/lib/table/table.stories.d.ts.map +1 -1
  243. package/lib/table/table.stories.js +426 -3
  244. package/lib/table/table.stories.js.map +1 -1
  245. package/lib/table/utils.d.ts +1 -0
  246. package/lib/table/utils.d.ts.map +1 -1
  247. package/lib/table/utils.js +13 -0
  248. package/lib/table/utils.js.map +1 -1
  249. package/lib/table-container/index.js +1 -1
  250. package/lib/table-container/index.js.map +1 -1
  251. package/lib/table-container/index.less +10 -10
  252. package/lib/tabs-container/index.js +1 -1
  253. package/lib/tabs-container/index.js.map +1 -1
  254. package/lib/tag/color.less +53 -0
  255. package/lib/tag/index.d.ts +3 -2
  256. package/lib/tag/index.d.ts.map +1 -1
  257. package/lib/tag/index.js +15 -9
  258. package/lib/tag/index.js.map +1 -1
  259. package/lib/tag/tag.d.ts +41 -0
  260. package/lib/tag/tag.d.ts.map +1 -0
  261. package/lib/tag/tag.js +183 -0
  262. package/lib/tag/tag.js.map +1 -0
  263. package/lib/tag/tag.less +228 -0
  264. package/lib/title/index.d.ts +1 -0
  265. package/lib/title/index.d.ts.map +1 -1
  266. package/lib/title/index.js +3 -2
  267. package/lib/title/index.js.map +1 -1
  268. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.d.ts.map +1 -1
  269. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +5 -11
  270. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  271. package/lib/tntd-cascader/AntdCascader/config/utils.d.ts +1 -1
  272. package/lib/tntd-cascader/AntdCascader/index.less +12 -2
  273. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts +1 -1
  274. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
  275. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
  276. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  277. package/lib/tntd-cascader/rc-cascader/OptionList/index.d.ts.map +1 -1
  278. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +1 -0
  279. package/lib/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  280. package/lib/tntd-form/FormItem/ItemHolder.js +1 -6
  281. package/lib/tntd-form/FormItem/ItemHolder.js.map +1 -1
  282. package/lib/tntd-form/FormItemLabel.d.ts.map +1 -1
  283. package/lib/tntd-form/FormItemLabel.js +2 -0
  284. package/lib/tntd-form/FormItemLabel.js.map +1 -1
  285. package/lib/tntd-rc-select/_util/PurePanel.d.ts +1 -1
  286. package/lib/tntd-select/index.d.ts.map +1 -1
  287. package/lib/tntd-select/index.js +8 -3
  288. package/lib/tntd-select/index.js.map +1 -1
  289. package/lib/tooltip/index.d.ts +3 -2
  290. package/lib/tooltip/index.d.ts.map +1 -1
  291. package/lib/tooltip/index.js +3 -2
  292. package/lib/tooltip/index.js.map +1 -1
  293. package/lib/tooltip/index.less +29 -0
  294. package/lib/tooltip/tooltip.d.ts +9 -0
  295. package/lib/tooltip/tooltip.d.ts.map +1 -0
  296. package/lib/tooltip/tooltip.js +53 -0
  297. package/lib/tooltip/tooltip.js.map +1 -0
  298. package/package.json +4 -3
  299. package/themes/default/variables.less +2 -2
  300. package/themes/default/variablesVar.less +2 -2
  301. package/es/array-input/icon.js +0 -25
  302. package/es/array-input/icon.js.map +0 -1
  303. package/es/drawer/drawer.less +0 -20
  304. package/lib/array-input/icon.d.ts +0 -4
  305. package/lib/array-input/icon.d.ts.map +0 -1
  306. package/lib/array-input/icon.js +0 -32
  307. package/lib/array-input/icon.js.map +0 -1
  308. package/lib/drawer/drawer.less +0 -20
@@ -13,17 +13,19 @@ var __rest = this && this.__rest || function (s, e) {
13
13
  return t;
14
14
  };
15
15
  import React, { isValidElement, useCallback, useEffect, useState } from 'react';
16
- import { deleteIcon, plusIcon } from './icon';
16
+ import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
17
17
  import Col from '../col';
18
18
  import Row from '../row';
19
19
  import Table from '../table';
20
20
  import Tooltip from '../tooltip';
21
+ import Icon from '../icon';
22
+ import Button from '../button';
21
23
  import './index.less';
22
24
  const {
23
25
  Column
24
26
  } = Table;
25
27
  const getWidth = span => 1000 / span;
26
- export default function ArrayInput({
28
+ function ArrayInput({
27
29
  children,
28
30
  defaultValue,
29
31
  value,
@@ -33,11 +35,17 @@ export default function ArrayInput({
33
35
  require = false,
34
36
  deleteTip = '',
35
37
  plusTip = '',
36
- addText = '添加'
38
+ addText,
39
+ locale,
40
+ xProps = {},
41
+ renderAction
37
42
  }) {
38
43
  if (!_isFunction(children)) {
39
44
  throw new Error('ArrayInput的children必须是函数');
40
45
  }
46
+ if (addText === undefined) {
47
+ addText = locale === null || locale === void 0 ? void 0 : locale.add;
48
+ }
41
49
  const [_value, setValue] = useState(value || defaultValue);
42
50
  useEffect(() => {
43
51
  setValue(value);
@@ -79,6 +87,7 @@ export default function ArrayInput({
79
87
  if (!_isArray(fields)) {
80
88
  fields = _get(fields, 'props.children', []);
81
89
  }
90
+ const actionSpan = 24 - _sum(fields.map(f => _get(f, 'props.span', 4))) % 24;
82
91
  return React.createElement(Row, {
83
92
  gutter: gutter,
84
93
  key: index,
@@ -109,29 +118,26 @@ export default function ArrayInput({
109
118
  }
110
119
  }, other)));
111
120
  }), React.createElement(Col, {
112
- span: 24 - _sum(fields.map(f => _get(f, 'props.span', 4))) % 24
121
+ span: actionSpan
113
122
  }, React.createElement("span", {
114
123
  className: "tntd-array-input-action"
115
- }, plusTip ? React.createElement(Tooltip, {
116
- title: plusTip,
117
- placement: "left"
118
- }, React.createElement("span", {
119
- className: "mr10",
120
- onClick: () => onAdd(index)
121
- }, plusIcon)) : React.createElement("span", {
122
- className: "mr10",
123
- onClick: () => onAdd(index)
124
- }, plusIcon), deleteTip ? React.createElement(Tooltip, {
125
- title: deleteTip,
126
- placement: "right"
124
+ }, renderAction ? renderAction(item, index, onDelete, onAdd) : React.createElement(React.Fragment, null, deleteTip ? React.createElement(Tooltip, {
125
+ title: deleteTip
127
126
  }, React.createElement("span", {
128
127
  onClick: () => onDelete(index)
129
- }, deleteIcon)) : React.createElement("span", {
128
+ }, React.createElement(Icon, {
129
+ type: "delete"
130
+ }))) : React.createElement("span", {
130
131
  onClick: () => onDelete(index)
131
- }, deleteIcon))));
132
- }), inValue.length === 0 && React.createElement("a", {
132
+ }, React.createElement(Icon, {
133
+ type: "delete"
134
+ }))))));
135
+ }), React.createElement(Button, {
136
+ type: "link",
133
137
  onClick: () => onAdd()
134
- }, addText));
138
+ }, React.createElement(Icon, {
139
+ type: "plus"
140
+ }), addText));
135
141
  } else {
136
142
  let fields = children({}, 0);
137
143
  if (!_isArray(fields)) {
@@ -149,15 +155,11 @@ export default function ArrayInput({
149
155
  });
150
156
  return React.createElement("div", {
151
157
  className: "tntd-array-input"
152
- }, React.createElement(Table, {
158
+ }, React.createElement(Table, Object.assign({
153
159
  dataSource: dataSource,
154
160
  pagination: false,
155
- locale: {
156
- emptyText: React.createElement("a", {
157
- onClick: () => onAdd()
158
- }, addText)
159
- }
160
- }, fields.map(field => {
161
+ bordered: true
162
+ }, xProps), fields.map(field => {
161
163
  const {
162
164
  name,
163
165
  span,
@@ -191,26 +193,39 @@ export default function ArrayInput({
191
193
  title: "\u64CD\u4F5C",
192
194
  width: getWidth(24 - _sumBy(fields, 'props.span') % 24),
193
195
  render: (text, row, index) => {
196
+ if (renderAction) {
197
+ return renderAction(row, index, onDelete, onAdd);
198
+ }
194
199
  return React.createElement("span", {
195
200
  className: "tntd-array-input-action"
196
- }, plusTip ? React.createElement(Tooltip, {
197
- title: plusTip,
198
- placement: "left"
199
- }, React.createElement("span", {
200
- className: "mr10",
201
- onClick: () => onAdd(index)
202
- }, plusIcon)) : React.createElement("span", {
203
- className: "mr10",
204
- onClick: () => onAdd(index)
205
- }, plusIcon), deleteTip ? React.createElement(Tooltip, {
206
- title: deleteTip,
207
- placement: "right"
201
+ }, deleteTip ? React.createElement(Tooltip, {
202
+ title: deleteTip
208
203
  }, React.createElement("span", {
209
204
  onClick: () => onDelete(index)
210
- }, deleteIcon)) : React.createElement("span", {
205
+ }, React.createElement(Icon, {
206
+ type: "delete"
207
+ }))) : React.createElement("span", {
211
208
  onClick: () => onDelete(index)
212
- }, deleteIcon));
209
+ }, React.createElement(Icon, {
210
+ type: "delete"
211
+ })));
213
212
  }
214
- })));
213
+ })), React.createElement(Button, {
214
+ type: "dashed",
215
+ block: true,
216
+ className: "mt10",
217
+ onClick: () => onAdd()
218
+ }, React.createElement(Icon, {
219
+ type: "plus"
220
+ }), addText));
215
221
  }
222
+ }
223
+ export default function WarpArrayInput(props) {
224
+ return React.createElement(LocaleReceiver, {
225
+ componentName: "ArrayInput"
226
+ }, locale => {
227
+ return React.createElement(ArrayInput, Object.assign({}, props, {
228
+ locale: locale
229
+ }));
230
+ });
216
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useEffect, useState } from 'react'\nimport { deleteIcon, plusIcon } from './icon'\n\nimport Col from '../col'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\n\nimport './index.less'\n\nconst { Column } = Table\nconst getWidth = (span) => 1000 / span\n\nexport default function ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText = '添加',\n}) {\n if (!isFunction(children)) {\n throw new Error('ArrayInput的children必须是函数')\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const _onChange = useCallback((value) => {\n if (onChange) {\n onChange(value)\n } else {\n setValue(value)\n }\n }, [])\n\n let inValue = _value || []\n if (require && inValue.length === 0) {\n inValue = [{}]\n }\n\n const changeValue = (index, name, value) => {\n inValue[index] = {\n ...inValue[index],\n [name]: value,\n }\n _onChange([...inValue])\n }\n\n const onAdd = (index) => {\n if (index === undefined) {\n _onChange([...inValue, {}])\n } else {\n inValue.splice(index + 1, 0, {})\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n if (mode === 'list') {\n return (\n <div className=\"tntd-array-input\">\n {inValue.map((item, index) => {\n let fields = children(item, index)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n return (\n <Row gutter={gutter} key={index} className=\"tntd-array-input-item\">\n {fields.map((field, i) => {\n if (!isValidElement(field)) {\n return field ? (\n <Col span={4} key={i}>\n {field}\n </Col>\n ) : (\n ''\n )\n }\n const { name, span = 4, onChange: fieldChange, ...other } = field?.props\n return (\n <Col span={span} key={i}>\n {React.cloneElement(field, {\n value: item[name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n ...other,\n })}\n </Col>\n )\n })}\n <Col span={24 - (sum(fields.map((f) => get(f, 'props.span', 4))) % 24)}>\n <span className=\"tntd-array-input-action\">\n {plusTip ? (\n <Tooltip title={plusTip} placement=\"left\">\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n </Tooltip>\n ) : (\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n )}\n {deleteTip ? (\n <Tooltip title={deleteTip} placement=\"right\">\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n )}\n </span>\n </Col>\n </Row>\n )\n })}\n {inValue.length === 0 && <a onClick={() => onAdd()}>{addText}</a>}\n </div>\n )\n } else {\n let fields = children({}, 0)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const dataSource = inValue.map((value, index) => {\n const fields = children(value, index)\n const back = {}\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n return (\n <div className=\"tntd-array-input\">\n <Table\n dataSource={dataSource}\n pagination={false}\n locale={{\n emptyText: <a onClick={() => onAdd()}>{addText}</a>,\n }}\n >\n {fields.map((field) => {\n const { name, span, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={getWidth(span || 24 / (fields.length + 1))}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { onChange: fieldChange } = field.props\n return React.cloneElement(field, {\n value: inValue[index][name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n })\n }}\n ></Column>\n )\n })}\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title=\"操作\"\n width={getWidth(24 - (sumBy(fields, 'props.span') % 24))}\n render={(text, row, index) => {\n return (\n <span className=\"tntd-array-input-action\">\n {plusTip ? (\n <Tooltip title={plusTip} placement=\"left\">\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n </Tooltip>\n ) : (\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n )}\n {deleteTip ? (\n <Tooltip title={deleteTip} placement=\"right\">\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n )}\n </span>\n )\n }}\n ></Column>\n </Table>\n </div>\n )\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useEffect, useState } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Col from '../col'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport Icon from '../icon'\nimport Button from '../button'\n\nimport './index.less'\n\nconst { Column } = Table\nconst getWidth = (span) => 1000 / span\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n renderAction,\n}) {\n if (!isFunction(children)) {\n throw new Error('ArrayInput的children必须是函数')\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const _onChange = useCallback((value) => {\n if (onChange) {\n onChange(value)\n } else {\n setValue(value)\n }\n }, [])\n\n let inValue = _value || []\n if (require && inValue.length === 0) {\n inValue = [{}]\n }\n\n const changeValue = (index, name, value) => {\n inValue[index] = {\n ...inValue[index],\n [name]: value,\n }\n _onChange([...inValue])\n }\n\n const onAdd = (index) => {\n if (index === undefined) {\n _onChange([...inValue, {}])\n } else {\n inValue.splice(index + 1, 0, {})\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n if (mode === 'list') {\n return (\n <div className=\"tntd-array-input\">\n {inValue.map((item, index) => {\n let fields = children(item, index)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const actionSpan = 24 - (sum(fields.map((f) => get(f, 'props.span', 4))) % 24)\n return (\n <Row gutter={gutter} key={index} className=\"tntd-array-input-item\">\n {fields.map((field, i) => {\n if (!isValidElement(field)) {\n return field ? (\n <Col span={4} key={i}>\n {field}\n </Col>\n ) : (\n ''\n )\n }\n const { name, span = 4, onChange: fieldChange, ...other } = field?.props\n return (\n <Col span={span} key={i}>\n {React.cloneElement(field, {\n value: item[name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n ...other,\n })}\n </Col>\n )\n })}\n <Col span={actionSpan}>\n <span className=\"tntd-array-input-action\">\n {renderAction ? (\n renderAction(item, index, onDelete, onAdd)\n ) : (\n <>\n {deleteTip ? (\n <Tooltip title={deleteTip}>\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n )}\n </>\n )}\n </span>\n </Col>\n </Row>\n )\n })}\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n </div>\n )\n } else {\n let fields = children({}, 0)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const dataSource = inValue.map((value, index) => {\n const fields = children(value, index)\n const back = {}\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n return (\n <div className=\"tntd-array-input\">\n <Table dataSource={dataSource} pagination={false} bordered {...xProps}>\n {fields.map((field) => {\n const { name, span, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={getWidth(span || 24 / (fields.length + 1))}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { onChange: fieldChange } = field.props\n return React.cloneElement(field, {\n value: inValue[index][name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n })\n }}\n ></Column>\n )\n })}\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title=\"操作\"\n width={getWidth(24 - (sumBy(fields, 'props.span') % 24))}\n render={(text, row, index) => {\n if (renderAction) {\n return renderAction(row, index, onDelete, onAdd)\n }\n return (\n <span className=\"tntd-array-input-action\">\n {deleteTip ? (\n <Tooltip title={deleteTip}>\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n )}\n </span>\n )\n }}\n ></Column>\n </Table>\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n </div>\n )\n }\n}\n\nexport default function WarpArrayInput(props) {\n return (\n <LocaleReceiver componentName=\"ArrayInput\">\n {(locale) => {\n return <ArrayInput {...props} locale={locale} />\n }}\n </LocaleReceiver>\n )\n}\n"]}
@@ -11,8 +11,11 @@
11
11
  .mr10 {
12
12
  margin-right: 10px;
13
13
  }
14
+ .mt10 {
15
+ margin-top: 10px;
16
+ }
14
17
  &-action {
15
- line-height: 28px;
18
+ line-height: @btn-height-base;
16
19
  > span {
17
20
  cursor: pointer;
18
21
  }
@@ -17,7 +17,7 @@ var __rest = this && this.__rest || function (s, e) {
17
17
  import React, { forwardRef } from 'react';
18
18
  import { ConfigConsumer } from 'antd/es/config-provider';
19
19
  import { default as AntdButton } from 'antd/es/button';
20
- import { titleCaseUpper } from '../utils/lang';
20
+ import { doUpperTitle } from '../utils/lang';
21
21
  export * from 'antd/es/button';
22
22
  export {} from 'antd/es/button';
23
23
  export const Button = forwardRef((_a, ref) => {
@@ -28,12 +28,8 @@ export const Button = forwardRef((_a, ref) => {
28
28
  } = _a,
29
29
  rest = __rest(_a, ["children", "unUpperConverted", "upperCaseIgnore"]);
30
30
  let newChildren = children;
31
- if (!unUpperConverted && newChildren) {
32
- if (typeof newChildren === 'string') {
33
- newChildren = titleCaseUpper(newChildren, upperCaseIgnore);
34
- } else if (Array.isArray(newChildren)) {
35
- newChildren = [...newChildren].map(subChild => titleCaseUpper(subChild, upperCaseIgnore));
36
- }
31
+ if (!unUpperConverted) {
32
+ newChildren = doUpperTitle(newChildren, upperCaseIgnore);
37
33
  }
38
34
  return React.createElement(ConfigConsumer, null, ({
39
35
  getPrefixCls
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAyD,MAAM,gBAAgB,CAAA;AAYtF,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CAAC,EAAwD,EAAE,GAAG,EAAE,EAAE;QAAjE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,OAAW,EAAN,IAAI,cAAtD,mDAAwD,CAAF;IACrD,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,gBAAgB,IAAI,WAAW,EAAE;QACpC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;SAC3D;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACrC,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;SAC5F;KACF;IACD,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,oBAAC,UAAU,oBAAK,IAAI,IAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAClE,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACiB,CAAA;AAEpB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.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 { ButtonProps as AntdButtonProps } from 'antd/es/button'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdButton } from 'antd/es/button'\nimport { titleCaseUpper } from '../utils/lang'\nexport * from 'antd/es/button'\nexport { ButtonShape, ButtonSize, ButtonType, ButtonGroupProps } from 'antd/es/button'\n\nexport interface ButtonProps extends AntdButtonProps {\n upperCaseIgnore?: []\n unUpperConverted?: boolean\n}\n\ninterface ButtonComponent\n extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<AntdButton>> {\n Group: typeof AntdButton.Group\n}\n\nexport const Button = forwardRef<AntdButton, ButtonProps>(\n ({ children, unUpperConverted, upperCaseIgnore, ...rest }, ref) => {\n let newChildren = children\n if (!unUpperConverted && newChildren) {\n if (typeof newChildren === 'string') {\n newChildren = titleCaseUpper(newChildren, upperCaseIgnore)\n } else if (Array.isArray(newChildren)) {\n newChildren = [...newChildren].map((subChild) => titleCaseUpper(subChild, upperCaseIgnore))\n }\n }\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdButton {...rest} children={newChildren} ref={ref} />\n }}\n </ConfigConsumer>\n )\n }\n) as ButtonComponent\n\nButton.Group = AntdButton.Group\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAyD,MAAM,gBAAgB,CAAA;AAYtF,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CAAC,EAAwD,EAAE,GAAG,EAAE,EAAE;QAAjE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,OAAW,EAAN,IAAI,cAAtD,mDAAwD,CAAF;IACrD,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,gBAAgB,EAAE;QACrB,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;KACzD;IACD,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,oBAAC,UAAU,oBAAK,IAAI,IAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAClE,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACiB,CAAA;AAEpB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.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 { ButtonProps as AntdButtonProps } from 'antd/es/button'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdButton } from 'antd/es/button'\nimport { doUpperTitle } from '../utils/lang'\nexport * from 'antd/es/button'\nexport { ButtonShape, ButtonSize, ButtonType, ButtonGroupProps } from 'antd/es/button'\n\nexport interface ButtonProps extends AntdButtonProps {\n upperCaseIgnore?: []\n unUpperConverted?: boolean\n}\n\ninterface ButtonComponent\n extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<AntdButton>> {\n Group: typeof AntdButton.Group\n}\n\nexport const Button = forwardRef<AntdButton, ButtonProps>(\n ({ children, unUpperConverted, upperCaseIgnore, ...rest }, ref) => {\n let newChildren = children\n if (!unUpperConverted) {\n newChildren = doUpperTitle(newChildren, upperCaseIgnore)\n }\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdButton {...rest} children={newChildren} ref={ref} />\n }}\n </ConfigConsumer>\n )\n }\n) as ButtonComponent\n\nButton.Group = AntdButton.Group\n"]}
@@ -0,0 +1,7 @@
1
+ @btn-prefix-cls: ~'@{ant-prefix}-btn';
2
+
3
+ .@{btn-prefix-cls} {
4
+ &-link {
5
+ padding: 0;
6
+ }
7
+ }
@@ -1,4 +1,5 @@
1
1
  import './style';
2
+ import './button.less';
2
3
  import { Button } from './button';
3
4
  export * from './button';
4
5
  export default Button;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,cAAc,UAAU,CAAA;AAExB,eAAe,MAAM,CAAA","sourcesContent":["import './style'\nimport { Button } from './button'\n\nexport * from './button'\n\nexport default Button\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,cAAc,UAAU,CAAA;AAExB,eAAe,MAAM,CAAA","sourcesContent":["import './style'\nimport './button.less'\nimport { Button } from './button'\n\nexport * from './button'\n\nexport default Button\n"]}
@@ -1,12 +1,12 @@
1
1
  @collapse-prefix-cls: ~'@{ant-prefix}-collapse';
2
2
 
3
3
  .@{collapse-prefix-cls} {
4
- border: @border-width-base @border-style-base @border-color-split;
4
+ border-color: @border-color-split;
5
5
  & > &-item {
6
- border-bottom: @border-width-base @border-style-base @border-color-split;
6
+ border-bottom-color: @border-color-split;
7
7
  }
8
8
 
9
9
  &-content {
10
- border-top: @border-width-base @border-style-base @border-color-split;
10
+ border-top-color: @border-color-split;
11
11
  }
12
12
  }
@@ -8,62 +8,123 @@ var __rest = this && this.__rest || function (s, e) {
8
8
  };
9
9
  /*
10
10
  * @Author: 周泽飞 zefei.zhou@tongdun.net
11
- * @Date: 2023-05-05 15:48:09
11
+ * @Date: 2024-06-08 11:59:04
12
12
  * @LastEditors: 周泽飞 zefei.zhou@tongdun.net
13
- * @LastEditTime: 2024-01-18 15:27:45
13
+ * @LastEditTime: 2024-07-22 15:03:26
14
14
  * @FilePath: /tntd/packages/tntd/src/descriptions/descriptions.tsx
15
15
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
16
16
  */
17
17
  import React, { forwardRef } from 'react';
18
- import 'antd/es/locale-provider/LocaleReceiver';
19
18
  import classNames from 'classnames';
19
+ import toArray from 'rc-util/es/Children/toArray';
20
20
  import { ConfigConsumer } from 'antd/es/config-provider';
21
21
  import { default as AntdDescriptions } from 'antd/es/descriptions';
22
22
  import Ellipsis from '../ellipsis';
23
+ import { doUpperTitle } from '../utils';
24
+ import { getLanguage } from '../prev-locale';
23
25
  export * from 'antd/es/descriptions';
24
26
  export const Descriptions = forwardRef((_a, ref) => {
25
27
  var {
26
28
  className,
27
- tdType,
28
- theme,
29
+ tdType = true,
30
+ titleWeight = true,
31
+ titleType,
29
32
  colon,
30
- children
33
+ children,
34
+ undoUpper = false,
35
+ upperCaseIgnore = [],
36
+ title
31
37
  } = _a,
32
- rest = __rest(_a, ["className", "tdType", "theme", "colon", "children"]);
33
- return React.createElement(ConfigConsumer, null, () => {
38
+ rest = __rest(_a, ["className", "tdType", "titleWeight", "titleType", "colon", "children", "undoUpper", "upperCaseIgnore", "title"]);
39
+ return React.createElement(ConfigConsumer, null, ({
40
+ getPrefixCls
41
+ }) => {
42
+ const prefixCls = getPrefixCls('descriptions');
34
43
  const {
35
44
  layout,
36
45
  ellipsis,
46
+ ellipsisLine = 1,
47
+ hideTooltip = false,
37
48
  bordered
38
49
  } = rest || {};
39
50
  // 非垂直 且 同盾
40
51
  const tdDescriptions = layout !== 'vertical' && tdType;
52
+ const tntPrefixCls = 'tnt-descriptions';
53
+ const flattenChildren = children => {
54
+ if (!children) {
55
+ return [];
56
+ }
57
+ return toArray(children).reduce(function (flatChildren, child) {
58
+ if (child && child.type === React.Fragment) {
59
+ return flatChildren.concat(flattenChildren(child.props.children));
60
+ }
61
+ flatChildren.push(child);
62
+ return flatChildren;
63
+ }, []);
64
+ };
65
+ children = flattenChildren(children);
41
66
  return React.createElement(AntdDescriptions, Object.assign({
42
- className: classNames(`theme-${theme || (bordered ? 'line' : 'block')}`, {
43
- 'tntd-descriptions-no-border': !bordered
44
- }, {
45
- 'tntd-descriptions': tdDescriptions
67
+ className: classNames(`${prefixCls}-${getLanguage()}`, {
68
+ [tntPrefixCls]: tdDescriptions
69
+ }, `${tntPrefixCls}-title-theme${titleType ? '-' + titleType : ''}`, {
70
+ [tntPrefixCls + '-title-weight']: titleWeight
46
71
  }, {
47
- 'tntd-descriptions-ellipsis': ellipsis
48
- }, className)
72
+ [tntPrefixCls + '-ellipsis']: ellipsis
73
+ }, className),
74
+ title: undoUpper ? title : doUpperTitle(title, upperCaseIgnore)
49
75
  }, rest, {
50
- colon: tdDescriptions && !bordered ? false : colon
51
- }), tdDescriptions && !bordered ? React.Children.map(children, child => {
76
+ colon: tdDescriptions ? false : colon,
77
+ ref: ref
78
+ }), tdDescriptions && !bordered && !hideTooltip && React.Children.map(children, child => {
79
+ if (React.isValidElement(child)) {
80
+ const childProps = child.props || {};
81
+ const {
82
+ label,
83
+ labelPrefix,
84
+ children: childContext
85
+ } = childProps;
86
+ return React.cloneElement(child, Object.assign(Object.assign({}, child.props), {
87
+ label: null,
88
+ children: React.createElement(Ellipsis, {
89
+ lines: ellipsisLine,
90
+ className: "tnt-descriptions-item",
91
+ prefix: React.createElement("div", {
92
+ className: "tnt-descriptions-label-title"
93
+ }, React.createElement(Ellipsis, {
94
+ prefix: labelPrefix ? React.createElement("span", {
95
+ className: "tnt-descriptions-label-tag"
96
+ }, labelPrefix) : null,
97
+ lines: ellipsisLine,
98
+ title: label
99
+ })),
100
+ title: childContext
101
+ })
102
+ }));
103
+ }
104
+ }), tdDescriptions && bordered && ellipsis && !hideTooltip && React.Children.map(children, child => {
52
105
  if (React.isValidElement(child)) {
53
106
  const childProps = child.props || {};
54
107
  const {
55
108
  label,
56
- children
109
+ labelPrefix,
110
+ children: childContext,
111
+ ellipsis = true
57
112
  } = childProps;
58
- return React.createElement("div", null, React.createElement(Ellipsis, {
59
- className: "tntd-description-item",
60
- prefix: React.createElement("div", {
61
- className: "tntd-description-label-title"
62
- }, label),
63
- title: child
113
+ return React.cloneElement(child, Object.assign(Object.assign({}, child.props), {
114
+ label: React.createElement(Ellipsis, {
115
+ prefix: labelPrefix ? React.createElement("span", {
116
+ className: "tnt-descriptions-label-tag"
117
+ }, labelPrefix) : null,
118
+ lines: ellipsisLine,
119
+ title: label
120
+ }),
121
+ children: ellipsis ? React.createElement(Ellipsis, {
122
+ lines: ellipsisLine,
123
+ title: childContext
124
+ }) : childContext
64
125
  }));
65
126
  }
66
- }) : children);
127
+ }), (!tdDescriptions || bordered && !ellipsis || hideTooltip) && children);
67
128
  });
68
129
  });
69
130
  Descriptions.Item = AntdDescriptions.Item;
@@ -1 +1 @@
1
- {"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../../src/descriptions/descriptions.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAA2B,wCAAwC,CAAA;AAGnE,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAO,QAAQ,MAAM,aAAa,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAoBpC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAGpC,CAAC,EAAsD,EAAE,GAAG,EAAE,EAAE;QAA/D,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,OAAW,EAAN,IAAI,cAApD,qDAAsD,CAAF;IACrD,OAAO,CACL,oBAAC,cAAc,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;QACtD,OAAO,CACL,oBAAC,gBAAgB,kBACf,SAAS,EAAE,UAAU,CACnB,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,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;oBAC/B,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAQ,CAAA;oBAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;oBACtC,OAAO,CACL;wBACE,oBAAC,QAAQ,IACP,SAAS,EAAC,uBAAuB,EACjC,MAAM,EAAE,6BAAK,SAAS,EAAC,8BAA8B,IAAE,KAAK,CAAO,EACnE,KAAK,EAAE,KAAK,GACZ,CACE,CACP,CAAA;iBACF;YACH,CAAC,CAAC;YACJ,CAAC,CAAC,QAAQ,CACK,CACpB,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAA0B,CAAA;AAE3B,YAAY,CAAC,IAAI,GAAG,gBAAgB,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/es/locale-provider/LocaleReceiver'\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'\n\nexport * from 'antd/es/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, theme, colon, children, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n const { layout, ellipsis, bordered } = rest || {}\n // 非垂直 且 同盾\n const tdDescriptions = layout !== 'vertical' && tdType\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 const childProps = (child.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={child}\n />\n </div>\n )\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-07-22 15:03:26\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 = true,\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 React.cloneElement(child, {\n ...child.props,\n label: null,\n children: (\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 ),\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 {\n label,\n labelPrefix,\n children: childContext,\n ellipsis = true,\n } = 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 ? (\n <Ellipsis lines={ellipsisLine} title={childContext} />\n ) : (\n childContext\n ),\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"]}