tntd 2.8.0-beta.9 → 2.8.1

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 (306) 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-icon/index.js +201 -0
  22. package/es/handle-icon/index.js.map +1 -0
  23. package/es/handle-icon/index.less +53 -0
  24. package/es/icon/style/style.less +1 -1
  25. package/es/index.js +1 -0
  26. package/es/index.js.map +1 -1
  27. package/es/input/input.js +10 -6
  28. package/es/input/input.js.map +1 -1
  29. package/es/input/style/mixin.less +1 -1
  30. package/es/locale/en_US.js +3 -0
  31. package/es/locale/en_US.js.map +1 -1
  32. package/es/locale/zh_CN.js +3 -0
  33. package/es/locale/zh_CN.js.map +1 -1
  34. package/es/mentions/style/index.less +1 -0
  35. package/es/modal/style/confirm.less +6 -10
  36. package/es/modal/style/modal.less +4 -2
  37. package/es/notification/assets/index.js +2 -0
  38. package/es/notification/assets/index.js.map +1 -0
  39. package/es/notification/assets/svg-error-tip.js +145 -0
  40. package/es/notification/assets/svg-error-tip.js.map +1 -0
  41. package/es/notification/assets/svg-success-tip.js +162 -0
  42. package/es/notification/assets/svg-success-tip.js.map +1 -0
  43. package/es/notification/index.js +1 -1
  44. package/es/notification/index.js.map +1 -1
  45. package/es/notification/notification.js +80 -0
  46. package/es/notification/notification.js.map +1 -0
  47. package/es/notification/notification.less +34 -0
  48. package/es/notification/style/index.less +1 -0
  49. package/es/page-container/index.js +1 -1
  50. package/es/page-container/index.js.map +1 -1
  51. package/es/page-loading/index.js +1 -1
  52. package/es/page-loading/index.js.map +1 -1
  53. package/es/select/select.js +5 -3
  54. package/es/select/select.js.map +1 -1
  55. package/es/select/style/index.less +7 -6
  56. package/es/spin/index.js +3 -2
  57. package/es/spin/index.js.map +1 -1
  58. package/es/spin/spin.js +36 -0
  59. package/es/spin/spin.js.map +1 -0
  60. package/es/spin/spin.less +9 -0
  61. package/es/style/themes/default.less +1 -1
  62. package/es/table/expand.less +49 -0
  63. package/es/table/hooks/index.js +2 -1
  64. package/es/table/hooks/index.js.map +1 -1
  65. package/es/table/hooks/use-expand-fixed.js +80 -0
  66. package/es/table/hooks/use-expand-fixed.js.map +1 -0
  67. package/es/table/index.js +1 -0
  68. package/es/table/index.js.map +1 -1
  69. package/es/table/style/index.less +77 -39
  70. package/es/table/style/size.less +1 -0
  71. package/es/table/table.js +43 -8
  72. package/es/table/table.js.map +1 -1
  73. package/es/table/table.less +5 -5
  74. package/es/table/table.stories.js +413 -2
  75. package/es/table/table.stories.js.map +1 -1
  76. package/es/table/utils.js +11 -0
  77. package/es/table/utils.js.map +1 -1
  78. package/es/table-container/index.js +1 -1
  79. package/es/table-container/index.js.map +1 -1
  80. package/es/table-container/index.less +10 -10
  81. package/es/tabs-container/index.js +1 -1
  82. package/es/tabs-container/index.js.map +1 -1
  83. package/es/tag/color.less +53 -0
  84. package/es/tag/index.js +11 -2
  85. package/es/tag/index.js.map +1 -1
  86. package/es/tag/tag.js +171 -0
  87. package/es/tag/tag.js.map +1 -0
  88. package/es/tag/tag.less +228 -0
  89. package/es/title/index.js +4 -3
  90. package/es/title/index.js.map +1 -1
  91. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +5 -11
  92. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  93. package/es/tntd-cascader/AntdCascader/index.less +12 -2
  94. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
  95. package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  96. package/es/tntd-cascader/rc-cascader/OptionList/index.js +1 -0
  97. package/es/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  98. package/es/tntd-form/FormItem/ItemHolder.js +1 -6
  99. package/es/tntd-form/FormItem/ItemHolder.js.map +1 -1
  100. package/es/tntd-form/FormItemLabel.js +2 -0
  101. package/es/tntd-form/FormItemLabel.js.map +1 -1
  102. package/es/tntd-select/index.js +9 -4
  103. package/es/tntd-select/index.js.map +1 -1
  104. package/es/tooltip/index.js +3 -2
  105. package/es/tooltip/index.js.map +1 -1
  106. package/es/tooltip/index.less +29 -0
  107. package/es/tooltip/tooltip.js +33 -0
  108. package/es/tooltip/tooltip.js.map +1 -0
  109. package/lib/array-input/index.d.ts +1 -12
  110. package/lib/array-input/index.d.ts.map +1 -1
  111. package/lib/array-input/index.js +62 -55
  112. package/lib/array-input/index.js.map +1 -1
  113. package/lib/array-input/index.less +4 -1
  114. package/lib/button/button.d.ts.map +1 -1
  115. package/lib/button/button.js +2 -14
  116. package/lib/button/button.js.map +1 -1
  117. package/lib/button/button.less +7 -0
  118. package/lib/button/index.d.ts +1 -0
  119. package/lib/button/index.d.ts.map +1 -1
  120. package/lib/button/index.js +6 -5
  121. package/lib/button/index.js.map +1 -1
  122. package/lib/collapse/collapse.less +3 -3
  123. package/lib/descriptions/descriptions.d.ts +11 -6
  124. package/lib/descriptions/descriptions.d.ts.map +1 -1
  125. package/lib/descriptions/descriptions.js +92 -30
  126. package/lib/descriptions/descriptions.js.map +1 -1
  127. package/lib/descriptions/descriptions.less +63 -62
  128. package/lib/descriptions/style/index.less +1 -0
  129. package/lib/drawer/drawer.d.ts +3 -0
  130. package/lib/drawer/drawer.d.ts.map +1 -1
  131. package/lib/drawer/drawer.js +29 -19
  132. package/lib/drawer/drawer.js.map +1 -1
  133. package/lib/drawer/index.less +11 -12
  134. package/lib/form/form.d.ts +1 -0
  135. package/lib/form/form.d.ts.map +1 -1
  136. package/lib/form/form.js +9 -3
  137. package/lib/form/form.js.map +1 -1
  138. package/lib/form/form.less +42 -0
  139. package/lib/form/style/index.less +6 -6
  140. package/lib/handle-icon/index.d.ts +7 -0
  141. package/lib/handle-icon/index.d.ts.map +1 -0
  142. package/lib/handle-icon/index.js +221 -0
  143. package/lib/handle-icon/index.js.map +1 -0
  144. package/lib/handle-icon/index.less +53 -0
  145. package/lib/icon/style/style.less +1 -1
  146. package/lib/index.d.ts +1 -0
  147. package/lib/index.d.ts.map +1 -1
  148. package/lib/index.js +7 -0
  149. package/lib/index.js.map +1 -1
  150. package/lib/input/input.js +8 -4
  151. package/lib/input/input.js.map +1 -1
  152. package/lib/input/style/mixin.less +1 -1
  153. package/lib/locale/default.d.ts +3 -0
  154. package/lib/locale/default.d.ts.map +1 -1
  155. package/lib/locale/en_US.d.ts +3 -0
  156. package/lib/locale/en_US.d.ts.map +1 -1
  157. package/lib/locale/en_US.js +3 -0
  158. package/lib/locale/en_US.js.map +1 -1
  159. package/lib/locale/zh_CN.d.ts +3 -0
  160. package/lib/locale/zh_CN.d.ts.map +1 -1
  161. package/lib/locale/zh_CN.js +3 -0
  162. package/lib/locale/zh_CN.js.map +1 -1
  163. package/lib/mentions/style/index.less +1 -0
  164. package/lib/modal/style/confirm.less +6 -10
  165. package/lib/modal/style/modal.less +4 -2
  166. package/lib/notification/assets/index.d.ts +3 -0
  167. package/lib/notification/assets/index.d.ts.map +1 -0
  168. package/lib/notification/assets/index.js +20 -0
  169. package/lib/notification/assets/index.js.map +1 -0
  170. package/lib/notification/assets/svg-error-tip.d.ts +4 -0
  171. package/lib/notification/assets/svg-error-tip.d.ts.map +1 -0
  172. package/lib/notification/assets/svg-error-tip.js +154 -0
  173. package/lib/notification/assets/svg-error-tip.js.map +1 -0
  174. package/lib/notification/assets/svg-success-tip.d.ts +4 -0
  175. package/lib/notification/assets/svg-success-tip.d.ts.map +1 -0
  176. package/lib/notification/assets/svg-success-tip.js +171 -0
  177. package/lib/notification/assets/svg-success-tip.js.map +1 -0
  178. package/lib/notification/index.d.ts +1 -1
  179. package/lib/notification/index.d.ts.map +1 -1
  180. package/lib/notification/index.js +7 -8
  181. package/lib/notification/index.js.map +1 -1
  182. package/lib/notification/notification.d.ts +9 -0
  183. package/lib/notification/notification.d.ts.map +1 -0
  184. package/lib/notification/notification.js +105 -0
  185. package/lib/notification/notification.js.map +1 -0
  186. package/lib/notification/notification.less +34 -0
  187. package/lib/notification/style/index.less +1 -0
  188. package/lib/page-container/index.js +1 -1
  189. package/lib/page-container/index.js.map +1 -1
  190. package/lib/page-loading/index.js +1 -1
  191. package/lib/page-loading/index.js.map +1 -1
  192. package/lib/segmented/index.d.ts +1 -1
  193. package/lib/select/select.d.ts.map +1 -1
  194. package/lib/select/select.js +4 -2
  195. package/lib/select/select.js.map +1 -1
  196. package/lib/select/style/index.less +7 -6
  197. package/lib/spin/index.d.ts +3 -2
  198. package/lib/spin/index.d.ts.map +1 -1
  199. package/lib/spin/index.js +4 -6
  200. package/lib/spin/index.js.map +1 -1
  201. package/lib/spin/spin.d.ts +9 -0
  202. package/lib/spin/spin.d.ts.map +1 -0
  203. package/lib/spin/spin.js +44 -0
  204. package/lib/spin/spin.js.map +1 -0
  205. package/lib/spin/spin.less +9 -0
  206. package/lib/style/themes/default.less +1 -1
  207. package/lib/svg-components/illustration-403.d.ts +1 -1
  208. package/lib/svg-components/illustration-404.d.ts +1 -1
  209. package/lib/svg-components/illustration-500.d.ts +1 -1
  210. package/lib/svg-components/illustration-empty.d.ts +1 -1
  211. package/lib/svg-components/illustration-failure.d.ts +1 -1
  212. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  213. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  214. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  215. package/lib/svg-components/illustration-offline.d.ts +1 -1
  216. package/lib/svg-components/illustration-success.d.ts +1 -1
  217. package/lib/table/assets/image-loading-background.d.ts +1 -1
  218. package/lib/table/assets/image-loading.d.ts +1 -1
  219. package/lib/table/expand.less +49 -0
  220. package/lib/table/hooks/index.d.ts +1 -0
  221. package/lib/table/hooks/index.d.ts.map +1 -1
  222. package/lib/table/hooks/index.js +11 -0
  223. package/lib/table/hooks/index.js.map +1 -1
  224. package/lib/table/hooks/use-expand-fixed.d.ts +4 -0
  225. package/lib/table/hooks/use-expand-fixed.d.ts.map +1 -0
  226. package/lib/table/hooks/use-expand-fixed.js +110 -0
  227. package/lib/table/hooks/use-expand-fixed.js.map +1 -0
  228. package/lib/table/index.d.ts +1 -0
  229. package/lib/table/index.d.ts.map +1 -1
  230. package/lib/table/index.js +1 -0
  231. package/lib/table/index.js.map +1 -1
  232. package/lib/table/style/index.less +77 -39
  233. package/lib/table/style/size.less +1 -0
  234. package/lib/table/table.d.ts +3 -1
  235. package/lib/table/table.d.ts.map +1 -1
  236. package/lib/table/table.js +43 -4
  237. package/lib/table/table.js.map +1 -1
  238. package/lib/table/table.less +5 -5
  239. package/lib/table/table.stories.d.ts +106 -29
  240. package/lib/table/table.stories.d.ts.map +1 -1
  241. package/lib/table/table.stories.js +426 -3
  242. package/lib/table/table.stories.js.map +1 -1
  243. package/lib/table/utils.d.ts +1 -0
  244. package/lib/table/utils.d.ts.map +1 -1
  245. package/lib/table/utils.js +13 -0
  246. package/lib/table/utils.js.map +1 -1
  247. package/lib/table-container/index.js +1 -1
  248. package/lib/table-container/index.js.map +1 -1
  249. package/lib/table-container/index.less +10 -10
  250. package/lib/tabs-container/index.js +1 -1
  251. package/lib/tabs-container/index.js.map +1 -1
  252. package/lib/tag/color.less +53 -0
  253. package/lib/tag/index.d.ts +3 -2
  254. package/lib/tag/index.d.ts.map +1 -1
  255. package/lib/tag/index.js +15 -9
  256. package/lib/tag/index.js.map +1 -1
  257. package/lib/tag/tag.d.ts +41 -0
  258. package/lib/tag/tag.d.ts.map +1 -0
  259. package/lib/tag/tag.js +183 -0
  260. package/lib/tag/tag.js.map +1 -0
  261. package/lib/tag/tag.less +228 -0
  262. package/lib/title/index.d.ts +1 -0
  263. package/lib/title/index.d.ts.map +1 -1
  264. package/lib/title/index.js +3 -2
  265. package/lib/title/index.js.map +1 -1
  266. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.d.ts.map +1 -1
  267. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +5 -11
  268. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  269. package/lib/tntd-cascader/AntdCascader/config/utils.d.ts +1 -1
  270. package/lib/tntd-cascader/AntdCascader/index.less +12 -2
  271. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts +1 -1
  272. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
  273. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
  274. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  275. package/lib/tntd-cascader/rc-cascader/OptionList/index.d.ts.map +1 -1
  276. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +1 -0
  277. package/lib/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  278. package/lib/tntd-form/FormItem/ItemHolder.js +1 -6
  279. package/lib/tntd-form/FormItem/ItemHolder.js.map +1 -1
  280. package/lib/tntd-form/FormItemLabel.d.ts.map +1 -1
  281. package/lib/tntd-form/FormItemLabel.js +2 -0
  282. package/lib/tntd-form/FormItemLabel.js.map +1 -1
  283. package/lib/tntd-rc-select/_util/PurePanel.d.ts +1 -1
  284. package/lib/tntd-select/index.d.ts.map +1 -1
  285. package/lib/tntd-select/index.js +8 -3
  286. package/lib/tntd-select/index.js.map +1 -1
  287. package/lib/tooltip/index.d.ts +3 -2
  288. package/lib/tooltip/index.d.ts.map +1 -1
  289. package/lib/tooltip/index.js +3 -2
  290. package/lib/tooltip/index.js.map +1 -1
  291. package/lib/tooltip/index.less +29 -0
  292. package/lib/tooltip/tooltip.d.ts +9 -0
  293. package/lib/tooltip/tooltip.d.ts.map +1 -0
  294. package/lib/tooltip/tooltip.js +53 -0
  295. package/lib/tooltip/tooltip.js.map +1 -0
  296. package/package.json +4 -3
  297. package/themes/default/variables.less +2 -2
  298. package/themes/default/variablesVar.less +2 -2
  299. package/es/array-input/icon.js +0 -25
  300. package/es/array-input/icon.js.map +0 -1
  301. package/es/drawer/drawer.less +0 -20
  302. package/lib/array-input/icon.d.ts +0 -4
  303. package/lib/array-input/icon.d.ts.map +0 -1
  304. package/lib/array-input/icon.js +0 -32
  305. package/lib/array-input/icon.js.map +0 -1
  306. package/lib/drawer/drawer.less +0 -20
@@ -5,94 +5,90 @@
5
5
  @descriptions-small-padding: 8px 16px;
6
6
  @descriptions-bg: #e1e6ee;
7
7
 
8
- .@{descriptions-prefix-cls} {
9
- // title样式
10
- &.tntd-descriptions {
11
- // 线条模式
12
- &[class*="theme-line"]{
8
+ .tnt-descriptions{
9
+ &.@{descriptions-prefix-cls} {
10
+ // 加粗的头部
11
+ &.tnt-descriptions-title-weight{
12
+ >.@{descriptions-prefix-cls}-title{
13
+ font-weight: 600 !important;
14
+ }
15
+ }
16
+
17
+ // label中有标签前缀
18
+ .tnt-descriptions-label-tag{
19
+ color:@primary-color;
20
+ margin-right: 4px;
21
+ }
22
+
23
+ // title样式
24
+ &[class*="tnt-descriptions-title-theme"]{
13
25
  // 默认色主题
14
- >.ant-descriptions-title{
26
+ >.@{descriptions-prefix-cls}-title{
15
27
  font-size:@font-size-base;
16
28
  position: relative;
17
29
  margin-bottom:12px;
18
30
  padding-left:12px;
31
+ font-weight: 400;
19
32
  &::before{
20
33
  content: '';
21
34
  width: 4px;
22
35
  height: 12px;
23
36
  background-color: @primary-color;
24
- border-radius: 8px;
37
+ border-radius: @border-radius-base;//8px;
25
38
  position: absolute;
26
- top:6px;
39
+ top:5px;
27
40
  left:0;
28
41
  }
29
42
  }
30
-
31
- // 黑色主题
32
- &.theme-line-black{
33
- .ant-descriptions-title{
43
+ // 默认没有前面的线条展示
44
+ &.title-theme-none{
45
+ >.@{descriptions-prefix-cls}-title{
46
+ padding-left:0;
34
47
  &::before{
35
48
  content: '';
36
- background-color: @text-color;
49
+ display: none;
37
50
  }
38
51
  }
39
52
  }
40
-
41
53
  }
42
54
 
43
- // 区块模式
44
- &.theme-block{
45
- .ant-descriptions-title{
46
- font-size:@font-size-base;
47
- max-width: 100%;
48
- display: inline-block;
49
- padding: 6px 20px 6px 16px;
50
- border-radius: 8px 20px 20px 0px;
51
- background: linear-gradient(0deg, rgba(18, 107, 251, 0.16) 0%, rgba(18, 107, 251, 0.08) 76.56%);
52
- margin-right: 4px;
53
- margin-bottom:16px;
54
- white-space: nowrap;
55
- overflow: hidden;
56
- text-overflow: ellipsis;
57
- font-weight: 600;
58
- }
59
- }
60
- }
61
-
62
- &-bordered {
63
- &.tntd-descriptions {
64
- &.tntd-descriptions-ellipsis{
55
+ // 带边框
56
+ &-bordered {
57
+ &.tnt-descriptions-ellipsis{
65
58
  .@{descriptions-prefix-cls}-item-label,
66
59
  .@{descriptions-prefix-cls}-item-content {
67
- white-space: nowrap;
68
60
  overflow: hidden;
69
61
  text-overflow: ellipsis;
62
+ -webkit-box-orient: vertical;
70
63
  }
71
-
72
64
  .@{descriptions-prefix-cls}-item-label{
73
- width: 180px;
65
+ width: 180px; // 其他语言模式默认180
66
+ background-color: @fill-color-quaternary; //#F8F9FB;
67
+ }
68
+ }
69
+ &.@{descriptions-prefix-cls}-cn{
70
+ .@{descriptions-prefix-cls}-item-label{
71
+ width: 160px; // 中文160
74
72
  }
75
73
  }
76
74
  .@{descriptions-prefix-cls}-view > table {
77
75
  table-layout: fixed;
78
76
  }
77
+ .@{descriptions-prefix-cls}-item-label{
78
+ background-color: fade(@descriptions-bg, 40%); ;
79
+ }
80
+ .@{descriptions-prefix-cls}-item-label,
81
+ .@{descriptions-prefix-cls}-item-content {
82
+ padding: @descriptions-small-padding;
83
+ }
79
84
  }
80
- .@{descriptions-prefix-cls}-item-label{
81
- background-color: fade(@descriptions-bg, 40%); ;
82
- }
83
- .@{descriptions-prefix-cls}-item-label,
84
- .@{descriptions-prefix-cls}-item-content {
85
- padding: 10px 16px;
86
- }
87
- }
88
85
 
89
- &.tntd-descriptions-no-border{
90
- &.tntd-descriptions{
91
- .ant-descriptions-item{
92
- height: 34px;
93
- line-height: 34px;
86
+ // 不带边框
87
+ &:not(.@{descriptions-prefix-cls}-bordered ){
88
+ .@{descriptions-prefix-cls}-item{
89
+ height: 30px;
90
+ line-height: 30px;
94
91
  position: relative;
95
- padding-right: 12px;
96
92
  padding:0;
97
93
  &:not(:first-of-type){
98
94
  padding-left: 12px;
@@ -101,29 +97,34 @@
101
97
  left:0;
102
98
  position: absolute;
103
99
  width:1px;
104
- background-color: #CBD4E2;
100
+ background-color: @descriptions-bg;
105
101
  height:16px;
106
102
  top: 50%;
107
103
  margin-top:-8px;
108
104
  }
109
105
  }
110
- .ant-descriptions-item-no-label{
106
+ .@{descriptions-prefix-cls}-item-no-label{
111
107
  display: none;
112
108
  }
113
- .ant-descriptions-item-content{
109
+ .@{descriptions-prefix-cls}-item-content{
114
110
  display: flex;
115
111
  width: 100%;
116
- &>.tntd-ellipsis{
112
+ height:100%;
113
+ align-items: center;
114
+ &>.tntd-ellipsis,>.tnt-ellipsis{
117
115
  width: 100%;
118
- .tntd-description-label-title{
116
+ height: 100%;
117
+ align-items: center;
118
+ .tnt-descriptions-label-title{
119
119
  max-width: 70%;
120
- margin-right: 4px;
121
- color:#8B919E;
122
- white-space: nowrap;
120
+ margin-right: 8px;
121
+ color: tint(@bg-color-spotilight, 50%);//#8B919E;
123
122
  overflow: hidden;
124
123
  text-overflow: ellipsis;
125
- &+.tntd-description-item{
124
+ -webkit-box-orient: vertical;
125
+ &+.tnt-descriptions-item{
126
126
  flex:1;
127
+ padding-right: 8px;
127
128
  }
128
129
  }
129
130
  }
@@ -23,6 +23,7 @@
23
23
  table {
24
24
  width: 100%;
25
25
  table-layout: fixed;
26
+ border-collapse: collapse !important; // 在Table下 下边框不展示问题
26
27
  }
27
28
  }
28
29
 
@@ -10,13 +10,12 @@ import { ConfigConsumer } from 'antd/es/config-provider';
10
10
  import { default as AntdDrawer } from 'antd/es/drawer';
11
11
  import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
12
12
  import classNames from 'classnames';
13
- import React, { useEffect } from 'react';
13
+ import { doUpperTitle } from '../utils';
14
+ import React, { useCallback, useEffect } from 'react';
14
15
  import { Button } from '../button';
15
16
  import Icon from '../icon';
16
17
  const DefaultFooter = ({
17
18
  locale,
18
- onClose,
19
- onSubmit,
20
19
  onCancel,
21
20
  onOk,
22
21
  okText,
@@ -28,13 +27,10 @@ const DefaultFooter = ({
28
27
  cancelType
29
28
  }) => {
30
29
  return React.createElement(React.Fragment, null, React.createElement(Button, Object.assign({
31
- onClick: onCancel || onClose,
32
- style: {
33
- marginRight: 8
34
- },
30
+ onClick: onCancel,
35
31
  type: cancelType || 'default'
36
32
  }, cancelButtonProps), cancelText || (locale === null || locale === void 0 ? void 0 : locale.cancelText)), React.createElement(Button, Object.assign({
37
- onClick: onOk || onSubmit,
33
+ onClick: onOk,
38
34
  type: okType || 'primary',
39
35
  loading: confirmLoading
40
36
  }, okButtonProps), okText || (locale === null || locale === void 0 ? void 0 : locale.okText)));
@@ -48,6 +44,7 @@ export const Drawer = _a => {
48
44
  onClose,
49
45
  onSubmit,
50
46
  onCancel,
47
+ afterClose,
51
48
  onOk,
52
49
  okText = '',
53
50
  cancelText = '',
@@ -57,11 +54,24 @@ export const Drawer = _a => {
57
54
  confirmLoading = false,
58
55
  okButtonProps = {},
59
56
  cancelButtonProps = {},
60
- clickOnBlankToClose = false
57
+ clickOnBlankToClose = false,
58
+ upperCaseIgnore,
59
+ unUpperConverted,
60
+ title
61
61
  } = _a,
62
- rest = __rest(_a, ["closable", "className", "footer", "showFooter", "onClose", "onSubmit", "onCancel", "onOk", "okText", "cancelText", "locale", "okType", "cancelType", "confirmLoading", "okButtonProps", "cancelButtonProps", "clickOnBlankToClose"]);
62
+ rest = __rest(_a, ["closable", "className", "footer", "showFooter", "onClose", "onSubmit", "onCancel", "afterClose", "onOk", "okText", "cancelText", "locale", "okType", "cancelType", "confirmLoading", "okButtonProps", "cancelButtonProps", "clickOnBlankToClose", "upperCaseIgnore", "unUpperConverted", "title"]);
63
63
  const drawerDom = React.useRef(null);
64
- const _onCancel = onCancel || onClose;
64
+ const _onCancel = useCallback(() => {
65
+ if (onCancel) {
66
+ onCancel();
67
+ } else if (onClose) {
68
+ onClose();
69
+ }
70
+ if (afterClose) {
71
+ afterClose();
72
+ }
73
+ }, [onCancel, onClose, afterClose]);
74
+ const _onOk = onOk || onSubmit;
65
75
  useEffect(() => {
66
76
  if (clickOnBlankToClose) {
67
77
  const handleOutsideClick = event => {
@@ -101,15 +111,17 @@ export const Drawer = _a => {
101
111
  [`${prefixCls}-footer`]: showFooter || footer
102
112
  }),
103
113
  closable: false,
104
- onClose: onClose,
114
+ onClose: _onCancel,
105
115
  width: 480
106
- }, rest), React.createElement(React.Fragment, null, closable !== false && React.createElement(Icon, {
116
+ }, rest, {
117
+ title: !unUpperConverted ? doUpperTitle(title, upperCaseIgnore) : title
118
+ }), React.createElement(React.Fragment, null, closable !== false && React.createElement(Icon, {
107
119
  type: "close",
108
120
  className: `${prefixCls}-close`,
109
- onClick: onClose
110
- }), rest.children, React.createElement("div", {
121
+ onClick: _onCancel
122
+ }), rest.children, (showFooter || footer) && React.createElement("div", {
111
123
  className: `${prefixCls}-footer-style`
112
- }, !footer ? showFooter && React.createElement(DefaultFooter, {
124
+ }, footer || React.createElement(DefaultFooter, {
113
125
  confirmLoading: confirmLoading,
114
126
  okButtonProps: okButtonProps,
115
127
  cancelButtonProps: cancelButtonProps,
@@ -118,11 +130,9 @@ export const Drawer = _a => {
118
130
  okText: okText,
119
131
  cancelType: cancelType,
120
132
  cancelText: cancelText,
121
- onClose: onClose,
122
- onSubmit: onSubmit,
123
- onOk: onOk,
124
- onCancel: onCancel
125
- }) : footer))));
133
+ onOk: _onOk,
134
+ onCancel: _onCancel
135
+ })))));
126
136
  });
127
137
  });
128
138
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/drawer/drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport type { DrawerProps as AntdDrawerProps } from 'antd/es/drawer'\nimport { default as AntdDrawer } from 'antd/es/drawer'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport classNames from 'classnames'\nimport type { BaseButtonProps } from 'antd/es/button/button'\nimport type { ButtonType } from '../button/button'\n\nimport React, { FC, useEffect, useRef } from 'react'\nimport { Button } from '../button'\nimport Icon from '../icon'\nconst DefaultFooter = ({\n locale,\n onClose,\n onSubmit,\n onCancel,\n onOk,\n okText,\n okType,\n cancelText,\n confirmLoading,\n okButtonProps,\n cancelButtonProps,\n cancelType,\n}: {\n locale?: {\n okText?: string\n cancelText?: string\n }\n onClose?: () => void\n onSubmit?: () => void\n onCancel?: () => void\n onOk?: () => void\n okText: string\n cancelText: string\n okType?: ButtonType\n cancelType: ButtonType\n confirmLoading?: boolean\n okButtonProps?: BaseButtonProps\n cancelButtonProps?: BaseButtonProps\n}) => {\n return (\n <>\n <Button\n onClick={onCancel || onClose}\n style={{ marginRight: 8 }}\n type={cancelType || 'default'}\n {...cancelButtonProps}\n >\n {cancelText || locale?.cancelText}\n </Button>\n <Button\n onClick={onOk || onSubmit}\n type={okType || 'primary'}\n loading={confirmLoading}\n {...okButtonProps}\n >\n {okText || locale?.okText}\n </Button>\n </>\n )\n}\n\ninterface CustomDrawerProps extends AntdDrawerProps {\n footer?: React.ReactNode\n showFooter?: boolean\n onClose?: () => void\n onSubmit?: () => void\n onCancel?: () => void\n onOk?: () => void\n okText?: string\n cancelText?: string\n locale?: {\n okText?: string\n cancelText?: string\n }\n okType?: ButtonType\n cancelType?: ButtonType\n confirmLoading?: boolean\n okButtonProps?: BaseButtonProps\n cancelButtonProps?: BaseButtonProps\n clickOnBlankToClose: boolean\n}\n\nexport const Drawer: FC<CustomDrawerProps> = ({\n closable = true,\n className,\n footer,\n showFooter,\n onClose,\n onSubmit,\n onCancel,\n onOk,\n okText = '',\n cancelText = '',\n locale,\n okType = 'primary',\n cancelType = 'default',\n confirmLoading = false,\n okButtonProps = {},\n cancelButtonProps = {},\n clickOnBlankToClose = false,\n ...rest\n}) => {\n const drawerDom = React.useRef<EventTarget | null>(null)\n const _onCancel = onCancel || onClose\n\n useEffect(() => {\n if (clickOnBlankToClose) {\n const handleOutsideClick = (event: Event) => {\n const drawer = drawerDom.current as Node\n const targetElement = event.target as Node\n\n let isInDrawer = false\n if (drawer && targetElement) {\n isInDrawer = drawer.contains(targetElement as Node) || targetElement === drawer\n }\n drawerDom.current = null\n if (rest.visible && !isInDrawer && _onCancel) {\n _onCancel()\n }\n }\n document.removeEventListener('click', handleOutsideClick)\n document.addEventListener('click', handleOutsideClick)\n return () => {\n document.removeEventListener('click', handleOutsideClick)\n }\n }\n }, [rest.visible, clickOnBlankToClose, _onCancel])\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('drawer')\n return (\n <LocaleReceiver componentName=\"Drawer\" defaultLocale={locale}>\n {(locale) => {\n return (\n <div\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n drawerDom.current = event.target\n }}\n >\n <AntdDrawer\n className={classNames(prefixCls, 'tnt-drawer', 'tntd-drawer', className, {\n [`${prefixCls}-contain-closable`]: closable !== false,\n [`${prefixCls}-footer`]: showFooter || footer,\n })}\n closable={false}\n onClose={onClose}\n width={480}\n {...rest}\n >\n <>\n {closable !== false && (\n <Icon type=\"close\" className={`${prefixCls}-close`} onClick={onClose} />\n )}\n {rest.children}\n <div className={`${prefixCls}-footer-style`}>\n {!footer\n ? showFooter && (\n <DefaultFooter\n confirmLoading={confirmLoading}\n okButtonProps={okButtonProps}\n cancelButtonProps={cancelButtonProps}\n okType={okType}\n locale={locale}\n okText={okText}\n cancelType={cancelType}\n cancelText={cancelText}\n onClose={onClose}\n onSubmit={onSubmit}\n onOk={onOk}\n onCancel={onCancel}\n />\n )\n : footer}\n </div>\n </>\n </AntdDrawer>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n }}\n </ConfigConsumer>\n )\n}\n"]}
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/drawer/drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport type { DrawerProps as AntdDrawerProps } from 'antd/es/drawer'\nimport { default as AntdDrawer } from 'antd/es/drawer'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport classNames from 'classnames'\nimport type { BaseButtonProps } from 'antd/es/button/button'\nimport type { ButtonType } from '../button/button'\nimport { doUpperTitle } from '../utils'\nimport React, { FC, useCallback, useEffect, useRef } from 'react'\nimport { Button } from '../button'\nimport Icon from '../icon'\nconst DefaultFooter = ({\n locale,\n onCancel,\n onOk,\n okText,\n okType,\n cancelText,\n confirmLoading,\n okButtonProps,\n cancelButtonProps,\n cancelType,\n}: {\n locale?: {\n okText?: string\n cancelText?: string\n }\n onCancel?: () => void\n onOk?: () => void\n okText: string\n cancelText: string\n okType?: ButtonType\n cancelType: ButtonType\n confirmLoading?: boolean\n okButtonProps?: BaseButtonProps\n cancelButtonProps?: BaseButtonProps\n}) => {\n return (\n <>\n <Button onClick={onCancel} type={cancelType || 'default'} {...cancelButtonProps}>\n {cancelText || locale?.cancelText}\n </Button>\n <Button onClick={onOk} type={okType || 'primary'} loading={confirmLoading} {...okButtonProps}>\n {okText || locale?.okText}\n </Button>\n </>\n )\n}\n\ninterface CustomDrawerProps extends AntdDrawerProps {\n footer?: React.ReactNode\n showFooter?: boolean\n onClose?: () => void\n onSubmit?: () => void\n onCancel?: () => void\n afterClose?: () => void\n onOk?: () => void\n okText?: string\n cancelText?: string\n locale?: {\n okText?: string\n cancelText?: string\n }\n okType?: ButtonType\n cancelType?: ButtonType\n confirmLoading?: boolean\n okButtonProps?: BaseButtonProps\n cancelButtonProps?: BaseButtonProps\n clickOnBlankToClose: boolean\n upperCaseIgnore?: []\n unUpperConverted: boolean\n}\n\nexport const Drawer: FC<CustomDrawerProps> = ({\n closable = true,\n className,\n footer,\n showFooter,\n onClose,\n onSubmit,\n onCancel,\n afterClose,\n onOk,\n okText = '',\n cancelText = '',\n locale,\n okType = 'primary',\n cancelType = 'default',\n confirmLoading = false,\n okButtonProps = {},\n cancelButtonProps = {},\n clickOnBlankToClose = false,\n upperCaseIgnore,\n unUpperConverted,\n title,\n ...rest\n}) => {\n const drawerDom = React.useRef<EventTarget | null>(null)\n const _onCancel = useCallback(() => {\n if (onCancel) {\n onCancel()\n } else if (onClose) {\n onClose()\n }\n if (afterClose) {\n afterClose()\n }\n }, [onCancel, onClose, afterClose])\n const _onOk = onOk || onSubmit\n\n useEffect(() => {\n if (clickOnBlankToClose) {\n const handleOutsideClick = (event: Event) => {\n const drawer = drawerDom.current as Node\n const targetElement = event.target as Node\n\n let isInDrawer = false\n if (drawer && targetElement) {\n isInDrawer = drawer.contains(targetElement as Node) || targetElement === drawer\n }\n drawerDom.current = null\n if (rest.visible && !isInDrawer && _onCancel) {\n _onCancel()\n }\n }\n document.removeEventListener('click', handleOutsideClick)\n document.addEventListener('click', handleOutsideClick)\n return () => {\n document.removeEventListener('click', handleOutsideClick)\n }\n }\n }, [rest.visible, clickOnBlankToClose, _onCancel])\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('drawer')\n return (\n <LocaleReceiver componentName=\"Drawer\" defaultLocale={locale}>\n {(locale) => {\n return (\n <div\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n drawerDom.current = event.target\n }}\n >\n <AntdDrawer\n className={classNames(prefixCls, 'tnt-drawer', 'tntd-drawer', className, {\n [`${prefixCls}-contain-closable`]: closable !== false,\n [`${prefixCls}-footer`]: showFooter || footer,\n })}\n closable={false}\n onClose={_onCancel}\n width={480}\n {...rest}\n title={!unUpperConverted ? doUpperTitle(title, upperCaseIgnore) : title}\n >\n <>\n {closable !== false && (\n <Icon type=\"close\" className={`${prefixCls}-close`} onClick={_onCancel} />\n )}\n {rest.children}\n {(showFooter || footer) && (\n <div className={`${prefixCls}-footer-style`}>\n {footer || (\n <DefaultFooter\n confirmLoading={confirmLoading}\n okButtonProps={okButtonProps}\n cancelButtonProps={cancelButtonProps}\n okType={okType}\n locale={locale}\n okText={okText}\n cancelType={cancelType}\n cancelText={cancelText}\n onOk={_onOk}\n onCancel={_onCancel}\n />\n )}\n </div>\n )}\n </>\n </AntdDrawer>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n }}\n </ConfigConsumer>\n )\n}\n"]}
@@ -20,12 +20,12 @@
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 {
27
27
  .@{drawer-prefix-cls}-header {
28
- border-bottom: none;
28
+ // border-bottom: none;
29
29
  position: absolute;
30
30
  right: 0;
31
31
  top: 0;
@@ -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;
@@ -124,20 +119,19 @@
124
119
 
125
120
  .@{drawer-prefix-cls}-header {
126
121
  padding: 13px 24px;
127
- border-bottom: none;
128
122
  position: absolute;
129
123
  right: 0;
130
124
  top: 0;
131
125
  width: 100%;
132
126
  background: #fff;
127
+ border-bottom: 1px solid #E9EDF3;
128
+
133
129
  }
134
130
 
135
131
  .@{drawer-prefix-cls}-body {
136
- padding: @padding-lg !important;
137
-
132
+ padding: 24px !important;
138
133
  }
139
134
 
140
-
141
135
  .@{drawer-prefix-cls}-wrapper-body {
142
136
 
143
137
  .@{drawer-prefix-cls}-footer-style {
@@ -148,6 +142,11 @@
148
142
  padding: 8px 24px;
149
143
  background: #fff;
150
144
  text-align: right;
145
+ border-top: 1px solid #E9EDF3;
146
+
147
+ .@{ant-prefix}-btn {
148
+ margin-left: 15px;
149
+ }
151
150
  }
152
151
 
153
152
  }
package/es/form/form.js CHANGED
@@ -10,6 +10,8 @@ import React, { forwardRef } from 'react';
10
10
  import { ConfigConsumer } from 'antd/es/config-provider';
11
11
  import { default as AntdForm } from 'antd/es/form';
12
12
  import { doUpperTitle } from '../utils';
13
+ import './form.less';
14
+ import classNames from 'classnames';
13
15
  export * from 'antd/es/form';
14
16
  export const Form = forwardRef((_a, ref) => {
15
17
  var rest = __rest(_a, []);
@@ -17,6 +19,7 @@ export const Form = forwardRef((_a, ref) => {
17
19
  getPrefixCls
18
20
  }) => {
19
21
  return React.createElement(AntdForm, Object.assign({}, rest, {
22
+ className: classNames(rest.className, 'tnt-form'),
20
23
  ref: ref
21
24
  }));
22
25
  });
@@ -37,7 +40,7 @@ Form.Item = forwardRef((_a, ref) => {
37
40
  });
38
41
  const Create = options => WrappedComponent => {
39
42
  const validateSubmitMap = {};
40
- const CustomFormWrapper = props => {
43
+ const CustomFormWrapper = (props, ref) => {
41
44
  const getFieldDecorator = props.form.getFieldDecorator;
42
45
  props.form.getFieldDecorator = (name, options) => {
43
46
  let opt = options || {};
@@ -49,7 +52,9 @@ const Create = options => WrappedComponent => {
49
52
  }
50
53
  return getFieldDecorator(name, opt);
51
54
  };
52
- return React.createElement(WrappedComponent, Object.assign({}, props));
55
+ return React.createElement(WrappedComponent, Object.assign({}, props, {
56
+ ref: ref
57
+ }));
53
58
  };
54
59
  return AntdForm.create(Object.assign(Object.assign({}, options), {
55
60
  onValuesChange: (props, changedValues, allValues) => {
@@ -69,7 +74,7 @@ const Create = options => WrappedComponent => {
69
74
  options.onValuesChange(props, changedValues, allValues);
70
75
  }
71
76
  }
72
- }))(CustomFormWrapper);
77
+ }))(forwardRef(CustomFormWrapper));
73
78
  };
74
79
  Form.createFormField = AntdForm.createFormField;
75
80
  Form.create = Create;
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {\n FormItemProps as AntdFormItemProps,\n FormProps as AntdFormProps,\n FormComponentProps,\n FormCreateOption,\n} from 'antd/es/form'\nimport React, { forwardRef } from 'react'\n\nimport { ConfigConsumer } from 'antd/es/config-provider'\n\nimport { default as AntdForm } from 'antd/es/form'\nimport type AntdFormItem from 'antd/es/form/FormItem'\n\nimport { doUpperTitle } from '../utils'\n\nexport * from 'antd/es/form'\n\ninterface FormItemComponent\n extends React.ForwardRefExoticComponent<AntdFormItemProps & React.RefAttributes<AntdFormItem>> {}\ninterface FormComponent\n extends React.ForwardRefExoticComponent<AntdFormProps & React.RefAttributes<AntdForm>> {\n Item: FormItemComponent\n create: typeof AntdForm.create\n createFormField: typeof AntdForm.createFormField\n}\n\nexport const Form = forwardRef<AntdForm, AntdFormProps>(({ ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm {...rest} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as FormComponent\n\nForm.Item = forwardRef<AntdFormItem, AntdFormItemProps>(({ label, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm.Item {...rest} label={doUpperTitle(label)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n})\n\n// 定义 create 函数的类型\ntype CreateFunction = <TOwnProps extends FormComponentProps<any>>(\n options?: FormCreateOption<TOwnProps>\n) => any\n\nconst Create: CreateFunction = (options: any) => (WrappedComponent: any) => {\n const validateSubmitMap: any = {}\n const CustomFormWrapper = (props: any) => {\n const getFieldDecorator = props.form.getFieldDecorator\n props.form.getFieldDecorator = (name: any, options: any) => {\n let opt = options || {}\n if (opt.validateSubmit) {\n opt = {\n ...options,\n validateTrigger: 'noEvent',\n }\n validateSubmitMap[name] = true\n }\n return getFieldDecorator(name, opt)\n }\n return <WrappedComponent {...props} />\n }\n\n return AntdForm.create({\n ...options,\n onValuesChange: (props: any, changedValues: any, allValues: any) => {\n const keys = Object.keys(changedValues)\n if (keys.length === 1) {\n keys.forEach((name: any) => {\n if (validateSubmitMap[name]) {\n props.form.setFields({\n [name]: { errors: undefined },\n })\n }\n })\n }\n if (options && options.onValuesChange) {\n options.onValuesChange(props, changedValues, allValues)\n }\n },\n })(CustomFormWrapper)\n}\n\nForm.createFormField = AntdForm.createFormField\nForm.create = Create\n"]}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {\n FormItemProps as AntdFormItemProps,\n FormProps as AntdFormProps,\n FormComponentProps,\n FormCreateOption,\n} from 'antd/es/form'\nimport React, { forwardRef } from 'react'\n\nimport { ConfigConsumer } from 'antd/es/config-provider'\n\nimport { default as AntdForm } from 'antd/es/form'\nimport type AntdFormItem from 'antd/es/form/FormItem'\n\nimport { doUpperTitle } from '../utils'\nimport './form.less'\nimport classNames from 'classnames'\nexport * from 'antd/es/form'\n\ninterface FormItemComponent\n extends React.ForwardRefExoticComponent<AntdFormItemProps & React.RefAttributes<AntdFormItem>> {}\ninterface FormComponent\n extends React.ForwardRefExoticComponent<AntdFormProps & React.RefAttributes<AntdForm>> {\n Item: FormItemComponent\n create: typeof AntdForm.create\n createFormField: typeof AntdForm.createFormField\n}\n\nexport const Form = forwardRef<AntdForm, AntdFormProps>(({ ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm {...rest} className={classNames(rest.className, 'tnt-form')} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as FormComponent\n\nForm.Item = forwardRef<AntdFormItem, AntdFormItemProps>(({ label, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm.Item {...rest} label={doUpperTitle(label)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n})\n\n// 定义 create 函数的类型\ntype CreateFunction = <TOwnProps extends FormComponentProps<any>>(\n options?: FormCreateOption<TOwnProps>\n) => any\n\nconst Create: CreateFunction = (options: any) => (WrappedComponent: any) => {\n const validateSubmitMap: any = {}\n const CustomFormWrapper = (props: any, ref: any) => {\n const getFieldDecorator = props.form.getFieldDecorator\n props.form.getFieldDecorator = (name: any, options: any) => {\n let opt = options || {}\n if (opt.validateSubmit) {\n opt = {\n ...options,\n validateTrigger: 'noEvent',\n }\n validateSubmitMap[name] = true\n }\n return getFieldDecorator(name, opt)\n }\n return <WrappedComponent {...props} ref={ref} />\n }\n\n return AntdForm.create({\n ...options,\n onValuesChange: (props: any, changedValues: any, allValues: any) => {\n const keys = Object.keys(changedValues)\n if (keys.length === 1) {\n keys.forEach((name: any) => {\n if (validateSubmitMap[name]) {\n props.form.setFields({\n [name]: { errors: undefined },\n })\n }\n })\n }\n if (options && options.onValuesChange) {\n options.onValuesChange(props, changedValues, allValues)\n }\n },\n })(forwardRef(CustomFormWrapper))\n}\n\nForm.createFormField = AntdForm.createFormField\nForm.create = Create\n"]}
@@ -0,0 +1,42 @@
1
+ @form-prefix-cls: ~'@{ant-prefix}-form';
2
+
3
+ .tnt-form {
4
+ .@{form-prefix-cls}-item {
5
+ // min-height: @input-height-base;
6
+
7
+ .@{form-prefix-cls}-item-required::before {
8
+ top: 2px;
9
+ position: relative;
10
+ }
11
+
12
+ &-with-help {
13
+ margin-bottom: @form-item-margin-bottom;
14
+ }
15
+
16
+ &-control {
17
+ line-height: 1;
18
+ min-height: @input-height-base;
19
+ }
20
+
21
+ &-label {
22
+ line-height: @input-height-base;
23
+ }
24
+
25
+ &-children {
26
+ line-height: calc(@input-height-base - 2px);
27
+ }
28
+ }
29
+
30
+ .@{form-prefix-cls}-explain,
31
+ .@{form-prefix-cls}-extra {
32
+ margin-top: 4px;
33
+ }
34
+
35
+ &.@{form-prefix-cls}-vertical{
36
+ .@{form-prefix-cls}-item {
37
+ &-label {
38
+ line-height: @line-height-base;
39
+ }
40
+ }
41
+ }
42
+ }
@@ -83,9 +83,9 @@
83
83
  position: relative;
84
84
  }
85
85
 
86
- &-with-help {
87
- margin-bottom: max(0, @form-item-margin-bottom - @form-explain-height - @form-help-margin-top);
88
- }
86
+ // &-with-help {
87
+ // margin-bottom: max(0, @form-item-margin-bottom - @form-explain-height - @form-help-margin-top);
88
+ // }
89
89
 
90
90
  &-label {
91
91
  display: inline-block;
@@ -310,9 +310,9 @@ form {
310
310
  }
311
311
 
312
312
  .@{form-prefix-cls}-vertical {
313
- .@{form-prefix-cls}-item {
314
- padding-bottom: 8px;
315
- }
313
+ // .@{form-prefix-cls}-item {
314
+ // padding-bottom: 8px;
315
+ // }
316
316
  .@{form-prefix-cls}-item-control {
317
317
  line-height: @line-height-base;
318
318
  }