tntd 3.0.0-beta.8 → 3.0.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 (324) 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 +17 -12
  7. package/es/collapse/collapse.less +3 -3
  8. package/es/date-picker/index.less +6 -6
  9. package/es/date-picker/style/Calendar.less +1 -1
  10. package/es/date-picker/style/RangePicker.less +3 -3
  11. package/es/descriptions/descriptions.js +36 -18
  12. package/es/descriptions/descriptions.js.map +1 -1
  13. package/es/descriptions/descriptions.less +6 -2
  14. package/es/descriptions/style/index.less +1 -0
  15. package/es/drawer/drawer.js +43 -25
  16. package/es/drawer/drawer.js.map +1 -1
  17. package/es/drawer/index.less +13 -14
  18. package/es/drawer/style/drawer.less +2 -4
  19. package/es/form/form.js +5 -3
  20. package/es/form/form.js.map +1 -1
  21. package/es/form/form.less +12 -6
  22. package/es/form/style/index.less +6 -6
  23. package/es/handle/index.js +3 -3
  24. package/es/handle/index.js.map +1 -1
  25. package/es/handle-icon/index.js +201 -0
  26. package/es/handle-icon/index.js.map +1 -0
  27. package/es/handle-icon/index.less +53 -0
  28. package/es/icon/style/style.less +1 -1
  29. package/es/index.js +1 -0
  30. package/es/index.js.map +1 -1
  31. package/es/input/input.js +10 -6
  32. package/es/input/input.js.map +1 -1
  33. package/es/input/style/mixin.less +1 -2
  34. package/es/locale/en_US.js +3 -0
  35. package/es/locale/en_US.js.map +1 -1
  36. package/es/locale/zh_CN.js +3 -0
  37. package/es/locale/zh_CN.js.map +1 -1
  38. package/es/mentions/style/index.less +1 -0
  39. package/es/modal/style/confirm.less +6 -10
  40. package/es/modal/style/modal.less +1 -1
  41. package/es/page-container/index.js +1 -1
  42. package/es/page-container/index.js.map +1 -1
  43. package/es/page-container/index.less +1 -0
  44. package/es/page-loading/index.js +1 -1
  45. package/es/page-loading/index.js.map +1 -1
  46. package/es/query-form/Field/SelectInput.js +4 -22
  47. package/es/query-form/Field/SelectInput.js.map +1 -1
  48. package/es/query-form/Field/fieldsMap.js +2 -2
  49. package/es/query-form/Field/fieldsMap.js.map +1 -1
  50. package/es/query-form/Field/index.js +0 -1
  51. package/es/query-form/Field/index.js.map +1 -1
  52. package/es/query-form/index.js +127 -117
  53. package/es/query-form/index.js.map +1 -1
  54. package/es/query-form/index.less +9 -12
  55. package/es/{query-form → query-form-backup}/Field/Composition/index.less +1 -1
  56. package/es/query-form-backup/index.less +90 -0
  57. package/es/query-list-scene/QueryForm.js +1 -3
  58. package/es/query-list-scene/QueryForm.js.map +1 -1
  59. package/es/select/select.js +5 -3
  60. package/es/select/select.js.map +1 -1
  61. package/es/select/select.less +1 -3
  62. package/es/select/style/index.less +7 -6
  63. package/es/spin/index.js +3 -2
  64. package/es/spin/index.js.map +1 -1
  65. package/es/spin/spin.js +36 -0
  66. package/es/spin/spin.js.map +1 -0
  67. package/es/spin/spin.less +9 -0
  68. package/es/style/themes/default.less +1 -1
  69. package/es/table/expand.less +49 -0
  70. package/es/table/hooks/index.js +2 -1
  71. package/es/table/hooks/index.js.map +1 -1
  72. package/es/table/hooks/use-expand-fixed.js +80 -0
  73. package/es/table/hooks/use-expand-fixed.js.map +1 -0
  74. package/es/table/index.js +1 -0
  75. package/es/table/index.js.map +1 -1
  76. package/es/table/style/index.less +58 -88
  77. package/es/table/table.js +48 -14
  78. package/es/table/table.js.map +1 -1
  79. package/es/table/table.less +13 -22
  80. package/es/table/table.stories.js +413 -2
  81. package/es/table/table.stories.js.map +1 -1
  82. package/es/table/utils.js +11 -0
  83. package/es/table/utils.js.map +1 -1
  84. package/es/table-container/index.js +1 -1
  85. package/es/table-container/index.js.map +1 -1
  86. package/es/table-container/index.less +14 -14
  87. package/es/tabs/tabs.js +9 -1
  88. package/es/tabs/tabs.js.map +1 -1
  89. package/es/tabs/tabs.less +52 -62
  90. package/es/tabs-container/index.js +1 -1
  91. package/es/tabs-container/index.js.map +1 -1
  92. package/es/tag/color.less +28 -18
  93. package/es/tag/index.js +1 -1
  94. package/es/tag/index.js.map +1 -1
  95. package/es/tag/tag.less +41 -5
  96. package/es/title/index.js +4 -3
  97. package/es/title/index.js.map +1 -1
  98. package/es/tntd-action/Action.js +58 -12
  99. package/es/tntd-action/Action.js.map +1 -1
  100. package/es/tntd-action/index.less +5 -3
  101. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +5 -11
  102. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  103. package/es/tntd-cascader/AntdCascader/index.less +14 -2
  104. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
  105. package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  106. package/es/tntd-cascader/rc-cascader/OptionList/index.js +1 -0
  107. package/es/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  108. package/es/tntd-form/FormItem/ItemHolder.js +1 -6
  109. package/es/tntd-form/FormItem/ItemHolder.js.map +1 -1
  110. package/es/tntd-form/FormItemLabel.js +2 -0
  111. package/es/tntd-form/FormItemLabel.js.map +1 -1
  112. package/es/tntd-select/index.js +13 -9
  113. package/es/tntd-select/index.js.map +1 -1
  114. package/es/tntd-select/index.less +7 -0
  115. package/es/tooltip/index.js +1 -0
  116. package/es/tooltip/index.js.map +1 -1
  117. package/es/tooltip/index.less +1 -2
  118. package/lib/array-input/index.d.ts +1 -12
  119. package/lib/array-input/index.d.ts.map +1 -1
  120. package/lib/array-input/index.js +62 -55
  121. package/lib/array-input/index.js.map +1 -1
  122. package/lib/array-input/index.less +4 -1
  123. package/lib/button/button.d.ts.map +1 -1
  124. package/lib/button/button.js +3 -15
  125. package/lib/button/button.js.map +1 -1
  126. package/lib/button/button.less +17 -12
  127. package/lib/collapse/collapse.less +3 -3
  128. package/lib/date-picker/index.less +6 -6
  129. package/lib/date-picker/style/Calendar.less +1 -1
  130. package/lib/date-picker/style/RangePicker.less +3 -3
  131. package/lib/descriptions/descriptions.d.ts.map +1 -1
  132. package/lib/descriptions/descriptions.js +40 -20
  133. package/lib/descriptions/descriptions.js.map +1 -1
  134. package/lib/descriptions/descriptions.less +6 -2
  135. package/lib/descriptions/style/index.less +1 -0
  136. package/lib/drawer/drawer.d.ts +6 -0
  137. package/lib/drawer/drawer.d.ts.map +1 -1
  138. package/lib/drawer/drawer.js +42 -23
  139. package/lib/drawer/drawer.js.map +1 -1
  140. package/lib/drawer/index.less +13 -14
  141. package/lib/drawer/style/drawer.less +2 -4
  142. package/lib/form/form.js +5 -3
  143. package/lib/form/form.js.map +1 -1
  144. package/lib/form/form.less +12 -6
  145. package/lib/form/style/index.less +6 -6
  146. package/lib/handle/index.js +3 -4
  147. package/lib/handle/index.js.map +1 -1
  148. package/lib/handle-icon/index.d.ts +7 -0
  149. package/lib/handle-icon/index.d.ts.map +1 -0
  150. package/lib/handle-icon/index.js +221 -0
  151. package/lib/handle-icon/index.js.map +1 -0
  152. package/lib/handle-icon/index.less +53 -0
  153. package/lib/icon/style/style.less +1 -1
  154. package/lib/index.d.ts +1 -0
  155. package/lib/index.d.ts.map +1 -1
  156. package/lib/index.js +7 -0
  157. package/lib/index.js.map +1 -1
  158. package/lib/input/input.js +8 -4
  159. package/lib/input/input.js.map +1 -1
  160. package/lib/input/style/mixin.less +1 -2
  161. package/lib/locale/default.d.ts +3 -0
  162. package/lib/locale/default.d.ts.map +1 -1
  163. package/lib/locale/en_US.d.ts +3 -0
  164. package/lib/locale/en_US.d.ts.map +1 -1
  165. package/lib/locale/en_US.js +3 -0
  166. package/lib/locale/en_US.js.map +1 -1
  167. package/lib/locale/zh_CN.d.ts +3 -0
  168. package/lib/locale/zh_CN.d.ts.map +1 -1
  169. package/lib/locale/zh_CN.js +3 -0
  170. package/lib/locale/zh_CN.js.map +1 -1
  171. package/lib/mentions/style/index.less +1 -0
  172. package/lib/modal/style/confirm.less +6 -10
  173. package/lib/modal/style/modal.less +1 -1
  174. package/lib/page-container/index.js +1 -1
  175. package/lib/page-container/index.js.map +1 -1
  176. package/lib/page-container/index.less +1 -0
  177. package/lib/page-loading/index.js +1 -1
  178. package/lib/page-loading/index.js.map +1 -1
  179. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  180. package/lib/query-form/Field/SelectInput.js +3 -15
  181. package/lib/query-form/Field/SelectInput.js.map +1 -1
  182. package/lib/query-form/Field/fieldsMap.d.ts +3 -6
  183. package/lib/query-form/Field/fieldsMap.js +2 -2
  184. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  185. package/lib/query-form/Field/index.d.ts.map +1 -1
  186. package/lib/query-form/Field/index.js +0 -1
  187. package/lib/query-form/Field/index.js.map +1 -1
  188. package/lib/query-form/index.d.ts +7 -4
  189. package/lib/query-form/index.d.ts.map +1 -1
  190. package/lib/query-form/index.js +149 -143
  191. package/lib/query-form/index.js.map +1 -1
  192. package/lib/query-form/index.less +9 -12
  193. package/lib/{query-form → query-form-backup}/Field/Composition/index.less +1 -1
  194. package/lib/query-form-backup/index.less +90 -0
  195. package/lib/query-list-scene/QueryForm.js +2 -3
  196. package/lib/query-list-scene/QueryForm.js.map +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/select.less +1 -3
  201. package/lib/select/style/index.less +7 -6
  202. package/lib/spin/index.d.ts +3 -2
  203. package/lib/spin/index.d.ts.map +1 -1
  204. package/lib/spin/index.js +4 -6
  205. package/lib/spin/index.js.map +1 -1
  206. package/lib/spin/spin.d.ts +9 -0
  207. package/lib/spin/spin.d.ts.map +1 -0
  208. package/lib/spin/spin.js +44 -0
  209. package/lib/spin/spin.js.map +1 -0
  210. package/lib/spin/spin.less +9 -0
  211. package/lib/style/themes/default.less +1 -1
  212. package/lib/table/expand.less +49 -0
  213. package/lib/table/hooks/index.d.ts +1 -0
  214. package/lib/table/hooks/index.d.ts.map +1 -1
  215. package/lib/table/hooks/index.js +11 -0
  216. package/lib/table/hooks/index.js.map +1 -1
  217. package/lib/table/hooks/use-expand-fixed.d.ts +4 -0
  218. package/lib/table/hooks/use-expand-fixed.d.ts.map +1 -0
  219. package/lib/table/hooks/use-expand-fixed.js +110 -0
  220. package/lib/table/hooks/use-expand-fixed.js.map +1 -0
  221. package/lib/table/index.d.ts +1 -0
  222. package/lib/table/index.d.ts.map +1 -1
  223. package/lib/table/index.js +1 -0
  224. package/lib/table/index.js.map +1 -1
  225. package/lib/table/style/index.less +58 -88
  226. package/lib/table/table.d.ts +3 -1
  227. package/lib/table/table.d.ts.map +1 -1
  228. package/lib/table/table.js +49 -11
  229. package/lib/table/table.js.map +1 -1
  230. package/lib/table/table.less +13 -22
  231. package/lib/table/table.stories.d.ts +106 -29
  232. package/lib/table/table.stories.d.ts.map +1 -1
  233. package/lib/table/table.stories.js +426 -3
  234. package/lib/table/table.stories.js.map +1 -1
  235. package/lib/table/utils.d.ts +1 -0
  236. package/lib/table/utils.d.ts.map +1 -1
  237. package/lib/table/utils.js +13 -0
  238. package/lib/table/utils.js.map +1 -1
  239. package/lib/table-container/index.d.ts.map +1 -1
  240. package/lib/table-container/index.js +1 -1
  241. package/lib/table-container/index.js.map +1 -1
  242. package/lib/table-container/index.less +14 -14
  243. package/lib/tabs/tabs.d.ts.map +1 -1
  244. package/lib/tabs/tabs.js +8 -0
  245. package/lib/tabs/tabs.js.map +1 -1
  246. package/lib/tabs/tabs.less +52 -62
  247. package/lib/tabs-container/index.js +1 -1
  248. package/lib/tabs-container/index.js.map +1 -1
  249. package/lib/tag/color.less +28 -18
  250. package/lib/tag/index.js +1 -1
  251. package/lib/tag/index.js.map +1 -1
  252. package/lib/tag/tag.less +41 -5
  253. package/lib/title/index.d.ts +1 -0
  254. package/lib/title/index.d.ts.map +1 -1
  255. package/lib/title/index.js +3 -2
  256. package/lib/title/index.js.map +1 -1
  257. package/lib/tntd-action/Action.d.ts +1 -1
  258. package/lib/tntd-action/Action.js +63 -13
  259. package/lib/tntd-action/Action.js.map +1 -1
  260. package/lib/tntd-action/index.less +5 -3
  261. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.d.ts.map +1 -1
  262. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +5 -11
  263. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  264. package/lib/tntd-cascader/AntdCascader/index.less +14 -2
  265. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts +1 -1
  266. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
  267. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
  268. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  269. package/lib/tntd-cascader/rc-cascader/OptionList/index.d.ts.map +1 -1
  270. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +1 -0
  271. package/lib/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  272. package/lib/tntd-form/FormItem/ItemHolder.js +1 -6
  273. package/lib/tntd-form/FormItem/ItemHolder.js.map +1 -1
  274. package/lib/tntd-form/FormItemLabel.d.ts.map +1 -1
  275. package/lib/tntd-form/FormItemLabel.js +2 -0
  276. package/lib/tntd-form/FormItemLabel.js.map +1 -1
  277. package/lib/tntd-select/index.d.ts.map +1 -1
  278. package/lib/tntd-select/index.js +12 -8
  279. package/lib/tntd-select/index.js.map +1 -1
  280. package/lib/tntd-select/index.less +7 -0
  281. package/lib/tooltip/index.d.ts +1 -0
  282. package/lib/tooltip/index.d.ts.map +1 -1
  283. package/lib/tooltip/index.js +1 -0
  284. package/lib/tooltip/index.js.map +1 -1
  285. package/lib/tooltip/index.less +1 -2
  286. package/package.json +4 -3
  287. package/themes/default/variables.less +2 -2
  288. package/themes/default/variablesVar.less +2 -2
  289. package/es/array-input/1.png +0 -1
  290. package/es/array-input/111.gif +0 -0
  291. package/es/array-input/icon.js +0 -25
  292. package/es/array-input/icon.js.map +0 -1
  293. package/es/query-form/Field/Composition/FieldPopover.js +0 -308
  294. package/es/query-form/Field/Composition/FieldPopover.js.map +0 -1
  295. package/es/query-form/Field/Composition/Select.js +0 -104
  296. package/es/query-form/Field/Composition/Select.js.map +0 -1
  297. package/es/query-form/Field/Composition/index.js +0 -299
  298. package/es/query-form/Field/Composition/index.js.map +0 -1
  299. package/es/query-form/Field/Composition/utils.js +0 -19
  300. package/es/query-form/Field/Composition/utils.js.map +0 -1
  301. package/lib/array-input/1.png +0 -1
  302. package/lib/array-input/111.gif +0 -0
  303. package/lib/array-input/icon.d.ts +0 -4
  304. package/lib/array-input/icon.d.ts.map +0 -1
  305. package/lib/array-input/icon.js +0 -32
  306. package/lib/array-input/icon.js.map +0 -1
  307. package/lib/query-form/Field/Composition/FieldPopover.d.ts +0 -19
  308. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +0 -1
  309. package/lib/query-form/Field/Composition/FieldPopover.js +0 -347
  310. package/lib/query-form/Field/Composition/FieldPopover.js.map +0 -1
  311. package/lib/query-form/Field/Composition/Select.d.ts +0 -4
  312. package/lib/query-form/Field/Composition/Select.d.ts.map +0 -1
  313. package/lib/query-form/Field/Composition/Select.js +0 -128
  314. package/lib/query-form/Field/Composition/Select.js.map +0 -1
  315. package/lib/query-form/Field/Composition/index.d.ts +0 -14
  316. package/lib/query-form/Field/Composition/index.d.ts.map +0 -1
  317. package/lib/query-form/Field/Composition/index.js +0 -349
  318. package/lib/query-form/Field/Composition/index.js.map +0 -1
  319. package/lib/query-form/Field/Composition/utils.d.ts +0 -6
  320. package/lib/query-form/Field/Composition/utils.d.ts.map +0 -1
  321. package/lib/query-form/Field/Composition/utils.js +0 -27
  322. package/lib/query-form/Field/Composition/utils.js.map +0 -1
  323. /package/es/{query-form → query-form-backup}/Field/Composition/FieldPopover.less +0 -0
  324. /package/lib/{query-form → query-form-backup}/Field/Composition/FieldPopover.less +0 -0
@@ -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,
@@ -24,17 +23,15 @@ const DefaultFooter = ({
24
23
  cancelText,
25
24
  confirmLoading,
26
25
  okButtonProps,
27
- cancelButtonProps
26
+ cancelButtonProps,
27
+ cancelType
28
28
  }) => {
29
29
  return React.createElement(React.Fragment, null, React.createElement(Button, Object.assign({
30
- onClick: onCancel || onClose,
31
- style: {
32
- marginRight: 8
33
- },
34
- type: 'tertiary'
30
+ onClick: onCancel,
31
+ type: cancelType || 'default'
35
32
  }, cancelButtonProps), cancelText || (locale === null || locale === void 0 ? void 0 : locale.cancelText)), React.createElement(Button, Object.assign({
36
- onClick: onOk || onSubmit,
37
- type: okType,
33
+ onClick: onOk,
34
+ type: okType || 'primary',
38
35
  loading: confirmLoading
39
36
  }, okButtonProps), okText || (locale === null || locale === void 0 ? void 0 : locale.okText)));
40
37
  };
@@ -45,18 +42,36 @@ export const Drawer = _a => {
45
42
  footer,
46
43
  showFooter,
47
44
  onClose,
45
+ afterClose,
48
46
  onSubmit,
47
+ onCancel,
48
+ onOk,
49
49
  okText = '',
50
50
  cancelText = '',
51
51
  locale,
52
52
  okType = 'primary',
53
+ cancelType = 'default',
53
54
  confirmLoading = false,
54
55
  okButtonProps = {},
55
56
  cancelButtonProps = {},
56
- clickOnBlankToClose = false
57
+ clickOnBlankToClose = false,
58
+ upperCaseIgnore,
59
+ unUpperConverted,
60
+ title
57
61
  } = _a,
58
- rest = __rest(_a, ["closable", "className", "footer", "showFooter", "onClose", "onSubmit", "okText", "cancelText", "locale", "okType", "confirmLoading", "okButtonProps", "cancelButtonProps", "clickOnBlankToClose"]);
62
+ rest = __rest(_a, ["closable", "className", "footer", "showFooter", "onClose", "afterClose", "onSubmit", "onCancel", "onOk", "okText", "cancelText", "locale", "okType", "cancelType", "confirmLoading", "okButtonProps", "cancelButtonProps", "clickOnBlankToClose", "upperCaseIgnore", "unUpperConverted", "title"]);
59
63
  const drawerDom = React.useRef(null);
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;
60
75
  useEffect(() => {
61
76
  if (clickOnBlankToClose) {
62
77
  const handleOutsideClick = event => {
@@ -67,8 +82,8 @@ export const Drawer = _a => {
67
82
  isInDrawer = drawer.contains(targetElement) || targetElement === drawer;
68
83
  }
69
84
  drawerDom.current = null;
70
- if (rest.visible && !isInDrawer && onClose) {
71
- onClose();
85
+ if (rest.visible && !isInDrawer && _onCancel) {
86
+ _onCancel();
72
87
  }
73
88
  };
74
89
  document.removeEventListener('click', handleOutsideClick);
@@ -77,7 +92,7 @@ export const Drawer = _a => {
77
92
  document.removeEventListener('click', handleOutsideClick);
78
93
  };
79
94
  }
80
- }, [rest.visible, clickOnBlankToClose, onClose]);
95
+ }, [rest.visible, clickOnBlankToClose, _onCancel]);
81
96
  return React.createElement(ConfigConsumer, null, ({
82
97
  getPrefixCls
83
98
  }) => {
@@ -93,28 +108,31 @@ export const Drawer = _a => {
93
108
  }, React.createElement(AntdDrawer, Object.assign({
94
109
  className: classNames(prefixCls, 'tnt-drawer', className, {
95
110
  [`${prefixCls}-contain-closable`]: closable !== false,
96
- [`${prefixCls}-footer`]: showFooter
111
+ [`${prefixCls}-footer`]: showFooter || footer
97
112
  }),
98
113
  closable: false,
99
- onClose: onClose,
114
+ onClose: _onCancel,
100
115
  width: 480
101
- }, 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, {
102
119
  type: "close",
103
120
  className: `${prefixCls}-close`,
104
- onClick: onClose
105
- }), rest.children, showFooter && React.createElement("div", {
121
+ onClick: _onCancel
122
+ }), rest.children, (showFooter || footer) && React.createElement("div", {
106
123
  className: `${prefixCls}-footer-style`
107
- }, showFooter && !footer ? React.createElement(DefaultFooter, {
124
+ }, footer || React.createElement(DefaultFooter, {
108
125
  confirmLoading: confirmLoading,
109
126
  okButtonProps: okButtonProps,
110
127
  cancelButtonProps: cancelButtonProps,
111
128
  okType: okType,
112
129
  locale: locale,
113
130
  okText: okText,
131
+ cancelType: cancelType,
114
132
  cancelText: cancelText,
115
- onClose: onClose,
116
- onSubmit: onSubmit
117
- }) : footer))));
133
+ onOk: _onOk,
134
+ onCancel: _onCancel
135
+ })))));
118
136
  });
119
137
  });
120
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 { TntButtonType } 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}: {\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?: TntButtonType\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={'tertiary'}\n {...cancelButtonProps}\n >\n {cancelText || locale?.cancelText}\n </Button>\n <Button onClick={onOk || onSubmit} type={okType} 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 okText?: string\n cancelText?: string\n locale?: {\n okText?: string\n cancelText?: string\n }\n okType?: TntButtonType\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 okText = '',\n cancelText = '',\n locale,\n okType = 'primary',\n confirmLoading = false,\n okButtonProps = {},\n cancelButtonProps = {},\n clickOnBlankToClose = false,\n ...rest\n}) => {\n const drawerDom = React.useRef<EventTarget | null>(null)\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 && onClose) {\n onClose()\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, onClose])\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', className, {\n [`${prefixCls}-contain-closable`]: closable !== false,\n [`${prefixCls}-footer`]: showFooter,\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 {showFooter && (\n <div className={`${prefixCls}-footer-style`}>\n {showFooter && !footer ? (\n <DefaultFooter\n confirmLoading={confirmLoading}\n okButtonProps={okButtonProps}\n cancelButtonProps={cancelButtonProps}\n okType={okType}\n locale={locale}\n okText={okText}\n cancelText={cancelText}\n onClose={onClose}\n onSubmit={onSubmit}\n />\n ) : (\n footer\n )}\n </div>\n )}\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 { TntButtonType } 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?: TntButtonType\n cancelType: TntButtonType\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?: TntButtonType\n cancelType?: TntButtonType\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 afterClose,\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 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', 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
  }
@@ -42,16 +42,11 @@
42
42
  }
43
43
 
44
44
  .@{drawer-prefix-cls}-title {
45
- font-size: 14px;
46
- font-weight: 600;
45
+ font-size: 16px !important;
46
+ font-weight: 500 !important;
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
  }
@@ -168,7 +168,7 @@
168
168
  padding: 0;
169
169
  color: @text-color-secondary;
170
170
  font-weight: 700;
171
- font-size: 20px;
171
+ font-size: @font-size-lg;
172
172
  font-style: normal;
173
173
  line-height: 56px;
174
174
  text-align: center;
@@ -180,9 +180,7 @@
180
180
  cursor: pointer;
181
181
  transition: color @animation-duration-slow;
182
182
  text-rendering: auto;
183
- .tntd-anticon {
184
- font-size: 20px;
185
- }
183
+
186
184
  &:focus,
187
185
  &:hover {
188
186
  color: @icon-color-hover;
package/es/form/form.js CHANGED
@@ -40,7 +40,7 @@ Form.Item = forwardRef((_a, ref) => {
40
40
  });
41
41
  const Create = options => WrappedComponent => {
42
42
  const validateSubmitMap = {};
43
- const CustomFormWrapper = props => {
43
+ const CustomFormWrapper = (props, ref) => {
44
44
  const getFieldDecorator = props.form.getFieldDecorator;
45
45
  props.form.getFieldDecorator = (name, options) => {
46
46
  let opt = options || {};
@@ -52,7 +52,9 @@ const Create = options => WrappedComponent => {
52
52
  }
53
53
  return getFieldDecorator(name, opt);
54
54
  };
55
- return React.createElement(WrappedComponent, Object.assign({}, props));
55
+ return React.createElement(WrappedComponent, Object.assign({}, props, {
56
+ ref: ref
57
+ }));
56
58
  };
57
59
  return AntdForm.create(Object.assign(Object.assign({}, options), {
58
60
  onValuesChange: (props, changedValues, allValues) => {
@@ -72,7 +74,7 @@ const Create = options => WrappedComponent => {
72
74
  options.onValuesChange(props, changedValues, allValues);
73
75
  }
74
76
  }
75
- }))(CustomFormWrapper);
77
+ }))(forwardRef(CustomFormWrapper));
76
78
  };
77
79
  Form.createFormField = AntdForm.createFormField;
78
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'\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) => {\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":";;;;;;;;;;;AAMA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,aAAa,CAAA;AACpB,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,cAAc,cAAc,CAAA;AAW5B,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAA0B,CAAC,EAAW,EAAE,GAAG,EAAE,EAAE;QAAf,IAAI,cAAT,EAAW,CAAF;IAChE,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,oBAAC,QAAQ,oBAAK,IAAI,IAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC5F,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAkB,CAAA;AAEnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAkC,CAAC,EAAkB,EAAE,GAAG,EAAE,EAAE;QAA3B,EAAE,KAAK,OAAW,EAAN,IAAI,cAAhB,SAAkB,CAAF;IACvE,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,oBAAC,QAAQ,CAAC,IAAI,oBAAK,IAAI,IAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC1E,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAC,CAAA;AAOF,MAAM,MAAM,GAAmB,CAAC,OAAY,EAAE,EAAE,CAAC,CAAC,gBAAqB,EAAE,EAAE;IACzE,MAAM,iBAAiB,GAAQ,EAAE,CAAA;IACjC,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;QACjD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAA;QACtD,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAS,EAAE,OAAY,EAAE,EAAE;YACzD,IAAI,GAAG,GAAG,OAAO,IAAI,EAAE,CAAA;YACvB,IAAI,GAAG,CAAC,cAAc,EAAE;gBACtB,GAAG,mCACE,OAAO,KACV,eAAe,EAAE,SAAS,GAC3B,CAAA;gBACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;aAC/B;YACD,OAAO,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,CAAC,CAAA;QACD,OAAO,oBAAC,gBAAgB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAClD,CAAC,CAAA;IAED,OAAO,QAAQ,CAAC,MAAM,iCACjB,OAAO,KACV,cAAc,EAAE,CAAC,KAAU,EAAE,aAAkB,EAAE,SAAc,EAAE,EAAE;YACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;oBACzB,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;4BACnB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;yBAC9B,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC,CAAA;aACH;YACD,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE;gBACrC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;aACxD;QACH,CAAC,IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAA;AAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA","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"]}
package/es/form/form.less CHANGED
@@ -1,8 +1,8 @@
1
1
  @form-prefix-cls: ~'@{ant-prefix}-form';
2
2
 
3
- .tnt-form{
4
- .@{form-prefix-cls}-item{
5
- min-height: @input-height-base;
3
+ .tnt-form {
4
+ .@{form-prefix-cls}-item {
5
+ // min-height: @input-height-base;
6
6
 
7
7
  .@{form-prefix-cls}-item-required::before {
8
8
  top: 2px;
@@ -22,7 +22,7 @@
22
22
  line-height: @input-height-base;
23
23
  }
24
24
 
25
- &-children{
25
+ &-children {
26
26
  line-height: calc(@input-height-base - 2px);
27
27
  }
28
28
  }
@@ -31,6 +31,12 @@
31
31
  .@{form-prefix-cls}-extra {
32
32
  margin-top: 4px;
33
33
  }
34
- }
35
-
36
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
  }
@@ -22,13 +22,13 @@ export default (props => {
22
22
  const _a = props || {},
23
23
  {
24
24
  children = [],
25
- type = "icon",
26
- num = 6,
25
+ type,
26
+ num = 3,
27
27
  lang,
28
28
  divider = false,
29
29
  lessOneMoreFit = true,
30
30
  popConfirmHandle,
31
- isIconBtn = true,
31
+ isIconBtn = false,
32
32
  stopPropagation = true,
33
33
  upperCaseIgnore = [],
34
34
  unUpperConverted = false
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Icon from '../icon'\nimport {doUpperTitle} from \"../utils/lang\"\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nimport './index.less'\n\nconst clsPrefix = 'tntd-more-menus'\n\n\nexport default (props) => {\n return (\n <LocaleReceiver componentName=\"Handle\">\n {(locale, localeCode) => {\n const {\n children = [],\n type=\"icon\",\n num = 6,\n lang,\n divider = false,\n lessOneMoreFit=true,\n popConfirmHandle,\n isIconBtn=true,\n stopPropagation=true,\n upperCaseIgnore=[],\n unUpperConverted=false,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n\n\n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n\n // 非中文 且非 icon图标\n if(!unUpperConverted && !isCn && !isIconBtn ){\n newChildren?.forEach((v,i)=>{\n newChildren[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n children: doUpperTitle(v.props.children, upperCaseIgnore)\n })\n })\n }\n\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = newChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n newChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && newChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n newChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n className={`tnt-handle-wrap ${rest?.className||''}`}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" className='tnt-handle-more'/>\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handle/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Icon from '../icon'\nimport {doUpperTitle} from \"../utils/lang\"\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nimport './index.less'\n\nconst clsPrefix = 'tntd-more-menus'\n\n\nexport default (props) => {\n return (\n <LocaleReceiver componentName=\"Handle\">\n {(locale, localeCode) => {\n const {\n children = [],\n type,\n num = 3,\n lang,\n divider = false,\n lessOneMoreFit=true,\n popConfirmHandle,\n isIconBtn=false,\n stopPropagation=true,\n upperCaseIgnore=[],\n unUpperConverted=false,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n\n\n let newChildren = []\n if (Array.isArray(children)) {\n newChildren = children?.filter((item) => !!item) || []\n } else if (children) {\n newChildren.push(children)\n }\n\n\n // 非中文 且非 icon图标\n if(!unUpperConverted && !isCn && !isIconBtn ){\n newChildren?.forEach((v,i)=>{\n newChildren[i] = React.cloneElement(v, {\n ...(v?.props || {}),\n children: doUpperTitle(v.props.children, upperCaseIgnore)\n })\n })\n }\n\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = newChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n newChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && newChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n newChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n className={`tnt-handle-wrap ${rest?.className||''}`}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" className='tnt-handle-more'/>\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\n"]}