shineout 1.7.0 → 1.7.1-beta.3

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 (497) hide show
  1. package/css/Alert/index.d.ts +63 -0
  2. package/css/AnimationList/AbsoluteList.js +89 -48
  3. package/css/Breadcrumb/index.d.ts +68 -0
  4. package/css/Button/index.d.ts +160 -0
  5. package/css/Card/index.d.ts +161 -0
  6. package/css/CardGroup/CardGroup.js +1 -1
  7. package/css/CardGroup/index.d.ts +119 -0
  8. package/css/Carousel/index.d.ts +59 -0
  9. package/css/Cascader/index.d.ts +185 -0
  10. package/css/Checkbox/index.d.ts +120 -0
  11. package/css/DataList/index.d.ts +197 -0
  12. package/css/DatePicker/Container.js +1 -1
  13. package/css/DatePicker/index.d.ts +262 -0
  14. package/css/DatePicker/utils.js +1 -1
  15. package/css/Datum/List.js +54 -17
  16. package/css/Divider/index.d.ts +40 -0
  17. package/css/Drawer/index.d.ts +165 -0
  18. package/css/Dropdown/index.d.ts +122 -0
  19. package/css/EditableArea/index.d.ts +99 -0
  20. package/css/Form/Item.js +6 -3
  21. package/css/Form/formContext.js +6 -3
  22. package/css/Form/index.d.ts +466 -0
  23. package/css/Form/index.js +1 -1
  24. package/css/Form/inputable.js +63 -52
  25. package/css/Form/styles/form.css +12 -0
  26. package/css/Gap/index.d.ts +28 -0
  27. package/css/Grid/index.d.ts +38 -0
  28. package/css/Icon/index.d.ts +69 -0
  29. package/css/Image/index.d.ts +194 -0
  30. package/css/Input/Number.js +3 -1
  31. package/css/Input/index.d.ts +258 -0
  32. package/css/Menu/index.d.ts +147 -0
  33. package/css/Message/index.d.ts +72 -0
  34. package/css/Modal/events.js +71 -13
  35. package/css/Modal/index.d.ts +330 -0
  36. package/css/Pagination/index.d.ts +129 -0
  37. package/css/Popover/index.d.ts +241 -0
  38. package/css/Popover/styles/popover.css +1 -1
  39. package/css/Progress/index.d.ts +108 -0
  40. package/css/Radio/index.d.ts +61 -0
  41. package/css/Rate/index.d.ts +65 -0
  42. package/css/Rule/index.d.ts +90 -0
  43. package/css/Select/BoxList.js +5 -3
  44. package/css/Select/OptionList.js +5 -3
  45. package/css/Select/OptionTree.js +5 -3
  46. package/css/Select/Select.js +28 -8
  47. package/css/Select/index.d.ts +366 -0
  48. package/css/Slider/index.d.ts +102 -0
  49. package/css/Spin/index.d.ts +74 -0
  50. package/css/Sticky/index.d.ts +56 -0
  51. package/css/Switch/index.d.ts +47 -0
  52. package/css/Table/SeperateTable.js +26 -18
  53. package/css/Table/Table.js +1 -2
  54. package/css/Table/index.d.ts +541 -0
  55. package/css/Tabs/index.d.ts +225 -0
  56. package/css/Tag/Tag.js +8 -2
  57. package/css/Tag/index.d.ts +79 -0
  58. package/css/Textarea/index.d.ts +104 -0
  59. package/css/Tooltip/index.d.ts +69 -0
  60. package/css/Transfer/Transfer.js +13 -8
  61. package/css/Transfer/btns.js +25 -14
  62. package/css/Transfer/index.d.ts +157 -0
  63. package/css/Tree/index.d.ts +225 -0
  64. package/css/Tree/styles/tree.css +1 -1
  65. package/css/TreeSelect/TreeSelect.js +1 -1
  66. package/css/TreeSelect/index.d.ts +297 -0
  67. package/css/TreeSelect/styles/treeSelect.css +2 -4
  68. package/css/Upload/ImageResult.js +14 -3
  69. package/css/Upload/index.d.ts +529 -0
  70. package/css/index.d.ts +58 -0
  71. package/css/index.js +1 -1
  72. package/css/styles/expose.css +4 -1
  73. package/css/utils/numbers.js +59 -0
  74. package/css/utils/vars-inject.js +13 -0
  75. package/dist/shineout.js +4110 -3763
  76. package/dist/shineout.js.map +1 -1
  77. package/dist/shineout.min.js +1 -1
  78. package/dist/theme.antd.css +1 -1
  79. package/dist/theme.antd2.css +1 -1
  80. package/dist/theme.default.css +1 -1
  81. package/dist/theme.shineout.css +1 -1
  82. package/es/@types/common.d.ts +1 -1
  83. package/es/Alert/index.js +127 -107
  84. package/es/Alert/styles/index.js +3 -4
  85. package/es/AnimationList/AbsoluteList.js +267 -178
  86. package/es/AnimationList/LazyList.js +120 -92
  87. package/es/AnimationList/List.js +43 -23
  88. package/es/AnimationList/index.js +19 -14
  89. package/es/AnimationList/styles/index.js +3 -4
  90. package/es/Breadcrumb/index.js +77 -69
  91. package/es/Breadcrumb/styles/index.js +3 -4
  92. package/es/Button/Button.js +91 -74
  93. package/es/Button/Group.js +42 -28
  94. package/es/Button/Once.js +39 -23
  95. package/es/Button/index.js +7 -10
  96. package/es/Button/styles/index.js +3 -4
  97. package/es/Card/Accordion.js +58 -45
  98. package/es/Card/Body.js +55 -42
  99. package/es/Card/Card.js +85 -79
  100. package/es/Card/Footer.js +38 -15
  101. package/es/Card/Header.js +52 -34
  102. package/es/Card/Submit.js +51 -33
  103. package/es/Card/context.js +22 -16
  104. package/es/Card/index.js +16 -19
  105. package/es/Card/styles/index.js +3 -4
  106. package/es/CardGroup/CardGroup.js +94 -70
  107. package/es/CardGroup/Item.js +61 -43
  108. package/es/CardGroup/context.js +12 -10
  109. package/es/CardGroup/index.js +7 -10
  110. package/es/CardGroup/styles/index.js +3 -4
  111. package/es/Carousel/Item.js +31 -17
  112. package/es/Carousel/index.js +156 -123
  113. package/es/Carousel/styles/index.js +3 -4
  114. package/es/Cascader/Cascader.js +397 -346
  115. package/es/Cascader/FilterList.js +185 -142
  116. package/es/Cascader/Input.js +102 -79
  117. package/es/Cascader/List.js +66 -41
  118. package/es/Cascader/Node.js +153 -110
  119. package/es/Cascader/Result.js +286 -230
  120. package/es/Cascader/filter.js +92 -61
  121. package/es/Cascader/index.js +13 -18
  122. package/es/Cascader/styles/index.js +3 -4
  123. package/es/Checkbox/CheckItem.js +168 -154
  124. package/es/Checkbox/Checkbox.js +2 -3
  125. package/es/Checkbox/Group.js +106 -85
  126. package/es/Checkbox/context.js +12 -10
  127. package/es/Checkbox/index.js +14 -21
  128. package/es/Checkbox/styles/index.js +3 -4
  129. package/es/DataList/BaseItem.js +39 -21
  130. package/es/DataList/Extra.js +33 -17
  131. package/es/DataList/List.js +166 -140
  132. package/es/DataList/Meta.js +109 -74
  133. package/es/DataList/Pagination.js +9 -10
  134. package/es/DataList/index.js +13 -19
  135. package/es/DataList/styles/index.js +3 -4
  136. package/es/DatePicker/Container.js +469 -450
  137. package/es/DatePicker/Day.js +265 -258
  138. package/es/DatePicker/Icon.js +34 -20
  139. package/es/DatePicker/Month.js +101 -79
  140. package/es/DatePicker/Picker.js +110 -83
  141. package/es/DatePicker/Quick.js +52 -39
  142. package/es/DatePicker/Range.js +241 -192
  143. package/es/DatePicker/Text.js +103 -91
  144. package/es/DatePicker/Time.js +165 -147
  145. package/es/DatePicker/TimeScroll.js +148 -116
  146. package/es/DatePicker/Year.js +74 -53
  147. package/es/DatePicker/index.d.ts +5 -13
  148. package/es/DatePicker/index.js +16 -18
  149. package/es/DatePicker/paramUtils.js +92 -58
  150. package/es/DatePicker/styles/index.js +3 -4
  151. package/es/DatePicker/utils.js +189 -198
  152. package/es/DatePicker/value.js +139 -98
  153. package/es/Datum/Form.js +333 -282
  154. package/es/Datum/List.js +329 -181
  155. package/es/Datum/Tree.js +298 -239
  156. package/es/Datum/hoc.js +104 -69
  157. package/es/Datum/index.js +7 -8
  158. package/es/Datum/types.js +20 -25
  159. package/es/Divider/index.js +50 -32
  160. package/es/Divider/styles/index.js +3 -4
  161. package/es/Drawer/index.d.ts +165 -0
  162. package/es/Drawer/index.js +14 -9
  163. package/es/Dropdown/Item.js +56 -43
  164. package/es/Dropdown/index.js +273 -259
  165. package/es/Dropdown/styles/index.js +3 -4
  166. package/es/EditableArea/EditableArea.js +157 -136
  167. package/es/EditableArea/index.js +8 -15
  168. package/es/EditableArea/styles/index.js +3 -4
  169. package/es/Form/Block.js +83 -57
  170. package/es/Form/BlockField.js +32 -17
  171. package/es/Form/Field.js +56 -36
  172. package/es/Form/FieldError.js +27 -21
  173. package/es/Form/FieldSet.js +214 -156
  174. package/es/Form/Flow.js +51 -32
  175. package/es/Form/Form.js +178 -144
  176. package/es/Form/Item.js +182 -154
  177. package/es/Form/Loop.js +202 -146
  178. package/es/Form/formButton.js +58 -42
  179. package/es/Form/formContext.js +104 -83
  180. package/es/Form/index.d.ts +40 -24
  181. package/es/Form/index.js +40 -45
  182. package/es/Form/inputable.js +369 -285
  183. package/es/Form/mode.js +15 -9
  184. package/es/Form/styles/form.less +12 -0
  185. package/es/Form/styles/index.js +4 -5
  186. package/es/Gap/index.js +71 -47
  187. package/es/Gap/styles/index.js +3 -4
  188. package/es/Gap/support.js +11 -14
  189. package/es/Grid/index.js +88 -58
  190. package/es/Grid/utils.js +57 -58
  191. package/es/Icon/Icon.js +43 -42
  192. package/es/Icon/index.d.ts +2 -3
  193. package/es/Icon/index.js +39 -22
  194. package/es/Icon/styles/index.js +3 -4
  195. package/es/Image/Gallery.js +128 -113
  196. package/es/Image/Group.js +60 -36
  197. package/es/Image/Image.js +227 -153
  198. package/es/Image/Magnify.js +123 -94
  199. package/es/Image/events.js +29 -26
  200. package/es/Image/index.js +6 -9
  201. package/es/Image/styles/index.js +3 -4
  202. package/es/Input/Group.js +17 -11
  203. package/es/Input/Input.js +158 -134
  204. package/es/Input/Number.js +199 -174
  205. package/es/Input/Password.js +54 -31
  206. package/es/Input/clear.js +41 -25
  207. package/es/Input/index.js +23 -35
  208. package/es/Input/styles/index.js +3 -4
  209. package/es/Lazyload/index.js +63 -42
  210. package/es/Lazyload/styles/index.js +3 -4
  211. package/es/Menu/Item.js +275 -236
  212. package/es/Menu/List.js +75 -67
  213. package/es/Menu/Root.js +372 -334
  214. package/es/Menu/context.js +18 -12
  215. package/es/Menu/index.js +3 -5
  216. package/es/Menu/styles/index.js +3 -4
  217. package/es/Message/Container.js +155 -119
  218. package/es/Message/index.js +42 -30
  219. package/es/Message/messager.js +29 -33
  220. package/es/Message/styles/index.js +3 -4
  221. package/es/Modal/Modal.js +80 -60
  222. package/es/Modal/Panel.js +258 -234
  223. package/es/Modal/context.js +15 -15
  224. package/es/Modal/events.js +220 -155
  225. package/es/Modal/index.js +12 -14
  226. package/es/Modal/styles/index.js +3 -4
  227. package/es/Pagination/Item.js +46 -32
  228. package/es/Pagination/Jumper.js +77 -67
  229. package/es/Pagination/Links.js +110 -82
  230. package/es/Pagination/Next.js +52 -31
  231. package/es/Pagination/PageSizeList.js +57 -40
  232. package/es/Pagination/Pagination.js +78 -54
  233. package/es/Pagination/Prev.js +49 -30
  234. package/es/Pagination/Simple.js +32 -18
  235. package/es/Pagination/index.js +68 -41
  236. package/es/Pagination/styles/index.js +3 -4
  237. package/es/Popover/Confirm.js +107 -64
  238. package/es/Popover/Panel.js +284 -231
  239. package/es/Popover/context.js +15 -12
  240. package/es/Popover/events.js +80 -86
  241. package/es/Popover/index.js +12 -14
  242. package/es/Popover/styles/index.js +3 -4
  243. package/es/Popover/styles/popover.less +3 -3
  244. package/es/Progress/Circle.js +70 -59
  245. package/es/Progress/Line.js +51 -39
  246. package/es/Progress/Popup.js +42 -24
  247. package/es/Progress/analyzeColor.js +18 -9
  248. package/es/Progress/index.js +13 -15
  249. package/es/Progress/styles/index.js +3 -4
  250. package/es/Radio/Group.js +105 -94
  251. package/es/Radio/Radio.js +2 -3
  252. package/es/Radio/index.js +15 -17
  253. package/es/Radio/styles/index.js +1 -1
  254. package/es/Rate/Rate.js +216 -167
  255. package/es/Rate/index.js +17 -10
  256. package/es/Rate/styles/index.js +3 -4
  257. package/es/Rule/convert.js +48 -57
  258. package/es/Rule/index.js +63 -40
  259. package/es/Rule/length.js +53 -38
  260. package/es/Rule/regExp.js +23 -14
  261. package/es/Rule/required.js +26 -18
  262. package/es/Rule/styles/index.js +1 -1
  263. package/es/Rule/type.js +26 -18
  264. package/es/Scroll/Bar.js +145 -117
  265. package/es/Scroll/Scroll.js +277 -217
  266. package/es/Scroll/context.js +20 -13
  267. package/es/Scroll/fixedLength.js +33 -24
  268. package/es/Scroll/index.js +89 -55
  269. package/es/Scroll/styles/index.js +3 -4
  270. package/es/Select/BoxList.js +218 -188
  271. package/es/Select/BoxOption.js +64 -38
  272. package/es/Select/FlexBox.js +107 -75
  273. package/es/Select/FlexResult.js +65 -49
  274. package/es/Select/Input.js +137 -113
  275. package/es/Select/More.js +119 -118
  276. package/es/Select/Option.js +73 -52
  277. package/es/Select/OptionList.js +236 -198
  278. package/es/Select/OptionTree.js +111 -94
  279. package/es/Select/Result.js +294 -269
  280. package/es/Select/Select.js +523 -480
  281. package/es/Select/filter.js +221 -148
  282. package/es/Select/group.js +74 -45
  283. package/es/Select/index.d.ts +28 -19
  284. package/es/Select/index.js +32 -31
  285. package/es/Select/styles/index.js +3 -4
  286. package/es/Select/styles/select.less +1 -1
  287. package/es/Slider/Container.js +145 -132
  288. package/es/Slider/Indicator.js +28 -13
  289. package/es/Slider/Slider.js +132 -103
  290. package/es/Slider/index.js +5 -8
  291. package/es/Slider/styles/index.js +3 -4
  292. package/es/Slider/utils.js +26 -30
  293. package/es/Spin/Multiple.js +153 -109
  294. package/es/Spin/Simple.js +33 -22
  295. package/es/Spin/Spin.js +29 -29
  296. package/es/Spin/index.js +66 -84
  297. package/es/Spin/styles/index.js +27 -30
  298. package/es/Sticky/context.js +12 -10
  299. package/es/Sticky/index.js +255 -194
  300. package/es/Sticky/styles/index.js +1 -1
  301. package/es/Switch/Switch.js +2 -3
  302. package/es/Switch/index.js +8 -14
  303. package/es/Table/Checkbox.js +68 -39
  304. package/es/Table/CheckboxAll.js +121 -64
  305. package/es/Table/Colgroup.js +72 -47
  306. package/es/Table/Expand.js +63 -43
  307. package/es/Table/SeperateTable.js +596 -436
  308. package/es/Table/SimpleTable.js +215 -136
  309. package/es/Table/Sorter.js +83 -62
  310. package/es/Table/Table.js +157 -157
  311. package/es/Table/Tbody.js +240 -176
  312. package/es/Table/Td.js +169 -130
  313. package/es/Table/Thead.js +206 -177
  314. package/es/Table/Tr.js +249 -205
  315. package/es/Table/TreeExpand.js +151 -116
  316. package/es/Table/context.js +15 -15
  317. package/es/Table/fixedAuto.js +82 -59
  318. package/es/Table/index.d.ts +1 -1
  319. package/es/Table/index.js +309 -228
  320. package/es/Table/resizable.js +89 -56
  321. package/es/Table/select.js +238 -215
  322. package/es/Table/styles/index.js +3 -4
  323. package/es/Tabs/Header.js +203 -160
  324. package/es/Tabs/Link.js +46 -28
  325. package/es/Tabs/Panel.js +49 -33
  326. package/es/Tabs/Tab.js +97 -79
  327. package/es/Tabs/Tabs.js +211 -177
  328. package/es/Tabs/Wrapper.js +37 -17
  329. package/es/Tabs/index.js +7 -10
  330. package/es/Tabs/styles/index.js +3 -4
  331. package/es/Tag/Input.js +70 -54
  332. package/es/Tag/Tag.js +198 -152
  333. package/es/Tag/index.js +5 -8
  334. package/es/Tag/styles/index.js +3 -4
  335. package/es/Textarea/Textarea.js +139 -118
  336. package/es/Textarea/index.js +10 -19
  337. package/es/Tooltip/Container.js +140 -127
  338. package/es/Tooltip/events.js +49 -55
  339. package/es/Tooltip/index.js +5 -8
  340. package/es/Tooltip/styles/index.js +3 -4
  341. package/es/Transfer/Card.js +212 -177
  342. package/es/Transfer/Transfer.js +165 -153
  343. package/es/Transfer/btns.js +100 -71
  344. package/es/Transfer/context.js +2 -3
  345. package/es/Transfer/filter.js +65 -35
  346. package/es/Transfer/index.js +9 -13
  347. package/es/Transfer/item.js +66 -41
  348. package/es/Transfer/select.js +15 -16
  349. package/es/Transfer/styles/index.js +3 -4
  350. package/es/Tree/Checkbox.js +72 -50
  351. package/es/Tree/Content.js +136 -95
  352. package/es/Tree/List.js +82 -53
  353. package/es/Tree/Node.js +237 -202
  354. package/es/Tree/Root.js +23 -19
  355. package/es/Tree/Tree.js +262 -197
  356. package/es/Tree/index.js +6 -9
  357. package/es/Tree/styles/index.js +3 -4
  358. package/es/Tree/styles/tree.less +1 -1
  359. package/es/Tree/toggle.js +89 -51
  360. package/es/TreeSelect/Input.js +73 -60
  361. package/es/TreeSelect/Result.js +210 -169
  362. package/es/TreeSelect/TreeSelect.js +328 -313
  363. package/es/TreeSelect/datum.js +56 -44
  364. package/es/TreeSelect/filter.js +134 -96
  365. package/es/TreeSelect/index.d.ts +5 -3
  366. package/es/TreeSelect/index.js +15 -23
  367. package/es/TreeSelect/styles/index.js +3 -4
  368. package/es/TreeSelect/styles/treeSelect.less +4 -5
  369. package/es/TreeSelect/tiled.js +143 -106
  370. package/es/Upload/Dragger.js +63 -39
  371. package/es/Upload/Drop.js +79 -57
  372. package/es/Upload/File.js +61 -48
  373. package/es/Upload/FileInput.js +53 -40
  374. package/es/Upload/Image.js +158 -115
  375. package/es/Upload/ImageFile.js +63 -43
  376. package/es/Upload/ImageResult.js +141 -109
  377. package/es/Upload/Progress.js +117 -105
  378. package/es/Upload/RemoveConfirm.js +58 -42
  379. package/es/Upload/Result.js +73 -58
  380. package/es/Upload/Upload.js +649 -490
  381. package/es/Upload/accept.js +33 -13
  382. package/es/Upload/context.js +12 -10
  383. package/es/Upload/index.d.ts +5 -5
  384. package/es/Upload/index.js +16 -20
  385. package/es/Upload/request.js +48 -46
  386. package/es/Upload/styles/index.js +3 -4
  387. package/es/component.js +45 -24
  388. package/es/config.js +27 -19
  389. package/es/context/implementation.js +132 -94
  390. package/es/context/index.js +3 -4
  391. package/es/hoc/coin.js +118 -81
  392. package/es/hoc/config.js +31 -17
  393. package/es/hoc/delay.js +99 -55
  394. package/es/hoc/draggable.js +90 -80
  395. package/es/hoc/fetch.js +56 -33
  396. package/es/hoc/hidable.js +119 -98
  397. package/es/hoc/inputBorder.js +158 -158
  398. package/es/hoc/moveable.js +124 -96
  399. package/es/hoc/pagable.js +74 -55
  400. package/es/hoc/resizable.js +132 -100
  401. package/es/hoc/styles/index.js +7 -8
  402. package/es/hoc/trim.js +54 -32
  403. package/es/icons/Caret.js +14 -15
  404. package/es/icons/index.js +31 -85
  405. package/es/index.d.ts +58 -0
  406. package/es/index.js +58 -57
  407. package/es/locale/en_US.js +9 -30
  408. package/es/locale/index.js +13 -14
  409. package/es/locale/zh-CN.js +9 -17
  410. package/es/styles/expose.js +3 -4
  411. package/es/styles/expose.less +3 -0
  412. package/es/styles/index.js +1 -1
  413. package/es/styles/themes/cssvar.less +4 -1
  414. package/es/utils/accept.js +15 -12
  415. package/es/utils/classname.js +23 -12
  416. package/es/utils/cleanProps.js +9 -21
  417. package/es/utils/clone.js +34 -27
  418. package/es/utils/color.js +310 -276
  419. package/es/utils/css-accessors.js +94 -45
  420. package/es/utils/dom/detect.js +29 -29
  421. package/es/utils/dom/document.js +23 -19
  422. package/es/utils/dom/element.js +139 -105
  423. package/es/utils/dom/getDataset.js +9 -9
  424. package/es/utils/dom/isDOMElement.js +3 -5
  425. package/es/utils/dom/normalizeWheel.js +32 -28
  426. package/es/utils/dom/popContainer.js +12 -13
  427. package/es/utils/dom/popover.js +79 -59
  428. package/es/utils/dom/ready.js +5 -6
  429. package/es/utils/dom/translate.js +10 -12
  430. package/es/utils/errors.js +47 -28
  431. package/es/utils/expose.js +97 -58
  432. package/es/utils/flat.js +122 -107
  433. package/es/utils/func.js +38 -20
  434. package/es/utils/hash.js +24 -20
  435. package/es/utils/index.js +24 -49
  436. package/es/utils/is.js +91 -70
  437. package/es/utils/lazyload.js +104 -86
  438. package/es/utils/notification.js +34 -20
  439. package/es/utils/numbers.js +86 -22
  440. package/es/utils/objects.js +221 -140
  441. package/es/utils/proptypes.js +21 -34
  442. package/es/utils/shallowEqual.js +46 -42
  443. package/es/utils/strings.js +50 -32
  444. package/es/utils/transform.js +24 -9
  445. package/es/utils/tree.js +78 -63
  446. package/es/utils/uid.js +14 -17
  447. package/es/utils/validate/index.js +71 -50
  448. package/es/utils/validate/isJson.js +7 -10
  449. package/es/utils/validate/nullable.js +10 -9
  450. package/es/utils/validate/range.js +22 -19
  451. package/es/utils/validate/rangeLength.js +19 -16
  452. package/es/utils/validate/regExp.js +10 -10
  453. package/es/utils/validate/required.js +11 -8
  454. package/es/utils/validate/type.js +56 -59
  455. package/es/utils/vars-inject.js +3421 -4233
  456. package/lib/@types/common.d.ts +1 -1
  457. package/lib/AnimationList/AbsoluteList.js +89 -48
  458. package/lib/CardGroup/CardGroup.js +1 -1
  459. package/lib/DatePicker/Container.js +1 -1
  460. package/lib/DatePicker/index.d.ts +5 -13
  461. package/lib/DatePicker/utils.js +1 -1
  462. package/lib/Datum/List.js +54 -17
  463. package/lib/Form/Item.js +6 -3
  464. package/lib/Form/formContext.js +6 -3
  465. package/lib/Form/index.d.ts +40 -24
  466. package/lib/Form/index.js +1 -1
  467. package/lib/Form/inputable.js +63 -52
  468. package/lib/Form/styles/form.less +12 -0
  469. package/lib/Icon/index.d.ts +2 -3
  470. package/lib/Input/Number.js +3 -1
  471. package/lib/Modal/events.js +71 -13
  472. package/lib/Popover/styles/popover.less +3 -3
  473. package/lib/Select/BoxList.js +5 -3
  474. package/lib/Select/OptionList.js +5 -3
  475. package/lib/Select/OptionTree.js +5 -3
  476. package/lib/Select/Select.js +28 -8
  477. package/lib/Select/index.d.ts +28 -19
  478. package/lib/Select/styles/select.less +1 -1
  479. package/lib/Table/SeperateTable.js +26 -18
  480. package/lib/Table/Table.js +1 -2
  481. package/lib/Table/index.d.ts +1 -1
  482. package/lib/Tag/Tag.js +8 -2
  483. package/lib/Transfer/Transfer.js +13 -8
  484. package/lib/Transfer/btns.js +25 -14
  485. package/lib/Tree/styles/tree.less +1 -1
  486. package/lib/TreeSelect/TreeSelect.js +1 -1
  487. package/lib/TreeSelect/index.d.ts +5 -3
  488. package/lib/TreeSelect/styles/treeSelect.less +4 -5
  489. package/lib/Upload/ImageResult.js +14 -3
  490. package/lib/Upload/index.d.ts +5 -5
  491. package/lib/index.d.ts +1 -1
  492. package/lib/index.js +1 -1
  493. package/lib/styles/expose.less +3 -0
  494. package/lib/styles/themes/cssvar.less +4 -1
  495. package/lib/utils/numbers.js +59 -0
  496. package/lib/utils/vars-inject.js +13 -0
  497. package/package.json +3 -2
@@ -147,7 +147,7 @@ export interface CommonProps {
147
147
  *
148
148
  * default: false
149
149
  */
150
- absolute?: boolean;
150
+ absolute?: boolean | (() => HTMLElement);
151
151
 
152
152
 
153
153
  /**
@@ -71,8 +71,9 @@ function _default(List) {
71
71
  if (!props.absolute) return (0, _assertThisInitialized2.default)(_this);
72
72
  _this.lastStyle = {};
73
73
  if (!root) initRoot();
74
+ _this.container = typeof _this.props.absolute === 'function' ? _this.props.absolute() : root;
74
75
  _this.element = document.createElement('div');
75
- root.appendChild(_this.element);
76
+ if (_this.container) _this.container.appendChild(_this.element);
76
77
 
77
78
  if (props.getResetPosition) {
78
79
  props.getResetPosition(_this.resetPosition.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))));
@@ -83,6 +84,17 @@ function _default(List) {
83
84
 
84
85
  var _proto = AbsoluteList.prototype;
85
86
 
87
+ _proto.componentDidMount = function componentDidMount() {
88
+ if (this.props.absolute && !this.container) {
89
+ this.container = typeof this.props.absolute === 'function' ? this.props.absolute() : root;
90
+ this.container.appendChild(this.element);
91
+
92
+ if (this.props.focus) {
93
+ this.forceUpdate();
94
+ }
95
+ }
96
+ };
97
+
86
98
  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
87
99
  var _this2 = this;
88
100
 
@@ -96,11 +108,16 @@ function _default(List) {
96
108
  _proto.componentWillUnmount = function componentWillUnmount() {
97
109
  var absolute = this.props.absolute;
98
110
  if (!absolute) return;
99
- root.removeChild(this.element);
111
+
112
+ if (this.container) {
113
+ this.container.removeChild(this.element);
114
+ }
100
115
  };
101
116
 
102
117
  _proto.getPosition = function getPosition(rect) {
103
- var fixed = this.props.fixed;
118
+ var _this$props = this.props,
119
+ fixed = _this$props.fixed,
120
+ absolute = _this$props.absolute;
104
121
  var position = this.props.position;
105
122
  var rtl = (0, _config.isRTL)();
106
123
  var style = {
@@ -120,17 +137,36 @@ function _default(List) {
120
137
  position = (0, _strings.getRTLPosition)(position);
121
138
  }
122
139
 
140
+ var containerScroll = _document.docScroll;
141
+ var containerRect = {
142
+ left: 0,
143
+ top: 0,
144
+ right: 0,
145
+ bottom: 0
146
+ };
147
+ var container = this.container;
148
+
149
+ if (typeof absolute === 'function' && container) {
150
+ containerRect = container.getBoundingClientRect();
151
+ containerScroll = {
152
+ left: container.scrollLeft,
153
+ top: container.scrollTop
154
+ };
155
+ }
156
+
157
+ this.containerRect = containerRect;
158
+
123
159
  if (listPosition.includes(position)) {
124
- style.left = rect.left + _document.docScroll.left;
160
+ style.left = rect.left - containerRect.left + containerScroll.left;
125
161
 
126
162
  if (rtl) {
127
163
  style.left += rect.width;
128
164
  }
129
165
 
130
166
  if (position === 'drop-down') {
131
- style.top = rect.top + rect.height + _document.docScroll.top;
167
+ style.top = rect.top - containerRect.top + rect.height + containerScroll.top;
132
168
  } else {
133
- style.bottom = -(rect.top + _document.docScroll.top);
169
+ style.bottom = -(rect.top - containerRect.top + containerScroll.top);
134
170
  }
135
171
  } else if (pickerPosition.includes(position)) {
136
172
  var _position$split = position.split('-'),
@@ -138,16 +174,16 @@ function _default(List) {
138
174
  v = _position$split[1];
139
175
 
140
176
  if (h === 'left') {
141
- style.left = rect.left + _document.docScroll.left;
177
+ style.left = rect.left - containerRect.left + containerScroll.left;
142
178
  } else {
143
- style.left = rect.right + _document.docScroll.left;
179
+ style.left = rect.right - containerRect.right + containerScroll.left;
144
180
  style.transform = 'translateX(-100%)';
145
181
  }
146
182
 
147
183
  if (v === 'bottom') {
148
- style.top = rect.bottom + _document.docScroll.top + PICKER_V_MARGIN;
184
+ style.top = rect.bottom - containerRect.bottom + containerScroll.top + PICKER_V_MARGIN;
149
185
  } else {
150
- style.top = rect.top + _document.docScroll.top - PICKER_V_MARGIN;
186
+ style.top = rect.top - containerRect.top + containerScroll.top - PICKER_V_MARGIN;
151
187
  style.transform = style.transform ? 'translate(-100%, -100%)' : 'translateY(-100%)';
152
188
  }
153
189
  }
@@ -156,10 +192,10 @@ function _default(List) {
156
192
  };
157
193
 
158
194
  _proto.getStyle = function getStyle() {
159
- var _this$props = this.props,
160
- parentElement = _this$props.parentElement,
161
- scrollElement = _this$props.scrollElement,
162
- focus = _this$props.focus;
195
+ var _this$props2 = this.props,
196
+ parentElement = _this$props2.parentElement,
197
+ scrollElement = _this$props2.scrollElement,
198
+ focus = _this$props2.focus;
163
199
  var lazyResult = {
164
200
  focus: focus,
165
201
  style: this.lastStyle
@@ -190,9 +226,9 @@ function _default(List) {
190
226
  };
191
227
 
192
228
  _proto.resetPosition = function resetPosition(clean) {
193
- var _this$props2 = this.props,
194
- focus = _this$props2.focus,
195
- parentElement = _this$props2.parentElement;
229
+ var _this$props3 = this.props,
230
+ focus = _this$props3.focus,
231
+ parentElement = _this$props3.parentElement;
196
232
  if (!this.el || !focus || this.ajustdoc && !clean) return;
197
233
  var pos = this.el.getBoundingClientRect();
198
234
  var left = pos.left;
@@ -203,7 +239,11 @@ function _default(List) {
203
239
  left = parentElement.getBoundingClientRect().left;
204
240
  }
205
241
 
206
- var overdoc = left + pos.width > _document.docSize.width;
242
+ var containerRect = this.containerRect || {
243
+ left: 0,
244
+ width: 0
245
+ };
246
+ var overdoc = left - containerRect.left + pos.width > (containerRect.width || _document.docSize.width);
207
247
  if (this.state.overdoc === overdoc) return;
208
248
  this.ajustdoc = true;
209
249
  this.setState({
@@ -216,21 +256,21 @@ function _default(List) {
216
256
  };
217
257
 
218
258
  _proto.renderList = function renderList() {
219
- var _this$props3 = this.props,
220
- parentElement = _this$props3.parentElement,
221
- absolute = _this$props3.absolute,
222
- focus = _this$props3.focus,
223
- rootClass = _this$props3.rootClass,
224
- position = _this$props3.position,
225
- scrollLeft = _this$props3.scrollLeft,
226
- scrollTop = _this$props3.scrollTop,
227
- scrollElement = _this$props3.scrollElement,
228
- _this$props3$style = _this$props3.style,
229
- style = _this$props3$style === void 0 ? {} : _this$props3$style,
230
- zIndex = _this$props3.zIndex,
231
- getResetPosition = _this$props3.getResetPosition,
232
- ignore = _this$props3.autoAdapt,
233
- props = (0, _objectWithoutPropertiesLoose2.default)(_this$props3, ["parentElement", "absolute", "focus", "rootClass", "position", "scrollLeft", "scrollTop", "scrollElement", "style", "zIndex", "getResetPosition", "autoAdapt"]);
259
+ var _this$props4 = this.props,
260
+ parentElement = _this$props4.parentElement,
261
+ absolute = _this$props4.absolute,
262
+ focus = _this$props4.focus,
263
+ rootClass = _this$props4.rootClass,
264
+ position = _this$props4.position,
265
+ scrollLeft = _this$props4.scrollLeft,
266
+ scrollTop = _this$props4.scrollTop,
267
+ scrollElement = _this$props4.scrollElement,
268
+ _this$props4$style = _this$props4.style,
269
+ style = _this$props4$style === void 0 ? {} : _this$props4$style,
270
+ zIndex = _this$props4.zIndex,
271
+ getResetPosition = _this$props4.getResetPosition,
272
+ ignore = _this$props4.autoAdapt,
273
+ props = (0, _objectWithoutPropertiesLoose2.default)(_this$props4, ["parentElement", "absolute", "focus", "rootClass", "position", "scrollLeft", "scrollTop", "scrollElement", "style", "zIndex", "getResetPosition", "autoAdapt"]);
234
274
  var parsed = parseInt(zIndex, 10);
235
275
  if (!Number.isNaN(parsed)) style.zIndex = parsed;
236
276
  var mergeStyle = Object.assign({}, style, this.state.overdoc ? {
@@ -257,20 +297,21 @@ function _default(List) {
257
297
  return this.renderList();
258
298
  }
259
299
 
260
- var _this$props4 = this.props,
261
- parentElement = _this$props4.parentElement,
262
- rootClass = _this$props4.rootClass,
263
- absolute = _this$props4.absolute,
264
- position = _this$props4.position,
265
- scrollLeft = _this$props4.scrollLeft,
266
- scrollTop = _this$props4.scrollTop,
267
- scrollElement = _this$props4.scrollElement,
268
- autoClass = _this$props4.autoClass,
269
- zIndex = _this$props4.zIndex,
270
- getResetPosition = _this$props4.getResetPosition,
271
- value = _this$props4.value,
272
- ignore = _this$props4.autoAdapt,
273
- props = (0, _objectWithoutPropertiesLoose2.default)(_this$props4, ["parentElement", "rootClass", "absolute", "position", "scrollLeft", "scrollTop", "scrollElement", "autoClass", "zIndex", "getResetPosition", "value", "autoAdapt"]);
300
+ if (!this.container) return null;
301
+ var _this$props5 = this.props,
302
+ parentElement = _this$props5.parentElement,
303
+ rootClass = _this$props5.rootClass,
304
+ absolute = _this$props5.absolute,
305
+ position = _this$props5.position,
306
+ scrollLeft = _this$props5.scrollLeft,
307
+ scrollTop = _this$props5.scrollTop,
308
+ scrollElement = _this$props5.scrollElement,
309
+ autoClass = _this$props5.autoClass,
310
+ zIndex = _this$props5.zIndex,
311
+ getResetPosition = _this$props5.getResetPosition,
312
+ value = _this$props5.value,
313
+ ignore = _this$props5.autoAdapt,
314
+ props = (0, _objectWithoutPropertiesLoose2.default)(_this$props5, ["parentElement", "rootClass", "absolute", "position", "scrollLeft", "scrollTop", "scrollElement", "autoClass", "zIndex", "getResetPosition", "value", "autoAdapt"]);
274
315
  var mergeClass = (0, _classnames.default)((0, _styles.listClass)('absolute-wrapper'), rootClass, autoClass);
275
316
 
276
317
  var _ref = props.focus ? this.getStyle() : {
@@ -302,7 +343,7 @@ function _default(List) {
302
343
  // same width with parentElement
303
344
  parentElement: _propTypes.default.object,
304
345
  position: _propTypes.default.string,
305
- absolute: _propTypes.default.bool,
346
+ absolute: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func]),
306
347
  scrollElement: _propTypes.default.object,
307
348
  scrollLeft: _propTypes.default.number,
308
349
  scrollTop: _propTypes.default.number,
@@ -112,7 +112,7 @@ CardGroup.defaultProps = {
112
112
  };
113
113
  CardGroup.propTypes = {
114
114
  style: _propTypes.default.object,
115
- children: _propTypes.default.array,
115
+ children: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.node]),
116
116
  className: _propTypes.default.string,
117
117
  height: _propTypes.default.number,
118
118
  cardWidth: _propTypes.default.number,
@@ -572,7 +572,7 @@ Container.propTypes = {
572
572
  allowSingle: _propTypes.default.bool,
573
573
  defaultTime: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
574
574
  value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string, _propTypes.default.object, _propTypes.default.array]),
575
- absolute: _propTypes.default.bool,
575
+ absolute: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func]),
576
576
  zIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
577
577
  onValueBlur: _propTypes.default.func,
578
578
  children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
- import { StandardProps, FormItemStandardProps } from '../@types/common'
2
+ import { StandardProps, FormItemStandardProps, CommonProps } from '../@types/common'
3
3
 
4
- export type DateTimeType = Date | number | string
4
+ export type DateTimeType = Date | number | string | undefined
5
5
 
6
6
  export type AreaType = 'year' | 'month' | 'week' | 'day' | 'time' | 'quick'
7
7
 
@@ -19,7 +19,8 @@ export interface QuickSelect extends Base {
19
19
  }
20
20
 
21
21
  export interface DatePickerProps<T =DatePickerValue > extends StandardProps,
22
- FormItemStandardProps<T> {
22
+ FormItemStandardProps<T>,
23
+ Pick<CommonProps, 'absolute'> {
23
24
 
24
25
  /**
25
26
  * onChange get undefined while clear
@@ -46,7 +47,7 @@ FormItemStandardProps<T> {
46
47
  *
47
48
  * default: null
48
49
  */
49
- width?: number;
50
+ width?: number | string;
50
51
 
51
52
  /**
52
53
  * whether it can be cleared
@@ -131,15 +132,6 @@ FormItemStandardProps<T> {
131
132
  */
132
133
  defaultTime?: DatePickerValue;
133
134
 
134
- /**
135
- * When it is true, the pop-up layer of option append into document.body.
136
- *
137
- * 为 true 时,选项弹出层在 DOM 中独立 render
138
- *
139
- * default: false
140
- */
141
- absolute?: boolean;
142
-
143
135
  /**
144
136
  * panel z-index
145
137
  *
@@ -153,7 +153,7 @@ function startOfWeek(day, options) {
153
153
 
154
154
  function toDate(day) {
155
155
  if (!day) return new Date('');
156
- if (day instanceof Date) return day;
156
+ if (day instanceof Date) return (0, _dayjs.default)(day).toDate();
157
157
  return (0, _dayjs.default)(day).toDate();
158
158
  }
159
159
 
package/lib/Datum/List.js CHANGED
@@ -50,6 +50,16 @@ function () {
50
50
  this.$cachedFlatten = new Map();
51
51
  };
52
52
 
53
+ _proto.resetValueMap = function resetValueMap() {
54
+ var map = new Map();
55
+
56
+ for (var i = 0; i < this.$values.length; i++) {
57
+ map.set(this.$values[i], true);
58
+ }
59
+
60
+ this.valueMap = map;
61
+ };
62
+
53
63
  _proto.setDisabled = function setDisabled(disabled) {
54
64
  if (this.$cachedDisabled === disabled) return;
55
65
  this.$cachedDisabled = disabled;
@@ -70,6 +80,7 @@ function () {
70
80
 
71
81
  _proto.handleChange = function handleChange(values) {
72
82
  this.$values = values;
83
+ this.resetValueMap();
73
84
  this.dispatch(_types.CHANGE_TOPIC);
74
85
 
75
86
  if (this.onChange) {
@@ -119,6 +130,7 @@ function () {
119
130
  if (data === undefined || data === null) return; // clear value
120
131
 
121
132
  if (this.limit === 1) this.$values = [];
133
+ this.resetValueMap();
122
134
  var raws = Array.isArray(data) ? data : [data];
123
135
 
124
136
  if (childrenKey && this.limit !== 1) {
@@ -156,6 +168,7 @@ function () {
156
168
 
157
169
  _proto.set = function set(value) {
158
170
  this.$values = [];
171
+ this.resetValueMap();
159
172
  this.add(value);
160
173
  };
161
174
 
@@ -168,7 +181,7 @@ function () {
168
181
  return false;
169
182
  }
170
183
 
171
- return this.values.indexOf(this.format(raw)) >= 0;
184
+ return this.valueMap.get(this.format(raw));
172
185
  };
173
186
 
174
187
  _proto.getDataByValue = function getDataByValue(data, value) {
@@ -246,30 +259,51 @@ function () {
246
259
  return !_this4.disabled(r);
247
260
  });
248
261
  var values = [];
249
- var prediction = this.prediction || this.defaultPrediction.bind(this);
250
262
 
251
- outer: for (var _iterator2 = this.values, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
252
- var _ref2;
263
+ if (!this.prediction) {
264
+ var rowValueMap = new Map();
253
265
 
254
- if (_isArray2) {
255
- if (_i2 >= _iterator2.length) break;
256
- _ref2 = _iterator2[_i2++];
257
- } else {
258
- _i2 = _iterator2.next();
259
- if (_i2.done) break;
260
- _ref2 = _i2.value;
266
+ for (var i = 0; i < raws.length; i++) {
267
+ if (raws[i].IS_NOT_MATCHED_VALUE) {
268
+ rowValueMap.set(raws[i].value, true);
269
+ } else {
270
+ rowValueMap.set(this.format(raws[i]), true);
271
+ }
261
272
  }
262
273
 
263
- var val = _ref2;
274
+ for (var _i2 = 0; _i2 < this.values.length; _i2++) {
275
+ var val = this.values[_i2];
264
276
 
265
- for (var j = 0; j < raws.length; j++) {
266
- if (raws[j].IS_NOT_MATCHED_VALUE && val === raws[j].value || prediction(val, raws[j])) {
267
- raws.splice(j, 1);
268
- continue outer;
277
+ if (!rowValueMap.get(val)) {
278
+ values.push(val);
269
279
  }
270
280
  }
281
+ } else {
282
+ var prediction = this.prediction;
283
+
284
+ outer: for (var _iterator2 = this.values, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
285
+ var _ref2;
286
+
287
+ if (_isArray2) {
288
+ if (_i3 >= _iterator2.length) break;
289
+ _ref2 = _iterator2[_i3++];
290
+ } else {
291
+ _i3 = _iterator2.next();
292
+ if (_i3.done) break;
293
+ _ref2 = _i3.value;
294
+ }
295
+
296
+ var _val = _ref2;
271
297
 
272
- values.push(val);
298
+ for (var j = 0; j < raws.length; j++) {
299
+ if (raws[j].IS_NOT_MATCHED_VALUE && _val === raws[j].value || prediction(_val, raws[j])) {
300
+ raws.splice(j, 1);
301
+ continue outer;
302
+ }
303
+ }
304
+
305
+ values.push(_val);
306
+ }
273
307
  } // this.values = values
274
308
 
275
309
 
@@ -300,6 +334,7 @@ function () {
300
334
 
301
335
  _proto.resetValue = function resetValue(values, cached) {
302
336
  this.$values = values;
337
+ this.resetValueMap();
303
338
 
304
339
  if (this.onChange && !cached) {
305
340
  this.onChange(this.getValue());
@@ -348,6 +383,7 @@ function () {
348
383
 
349
384
  if (type === _types.WITH_OUT_DISPATCH) {
350
385
  this.$values = this.formatValue(values);
386
+ this.resetValueMap();
351
387
  } else {
352
388
  this.resetValue(this.formatValue(values), (0, _shallowEqual.default)(this.$cachedValue, values));
353
389
  }
@@ -367,6 +403,7 @@ function () {
367
403
  },
368
404
  set: function set(values) {
369
405
  this.$values = values;
406
+ this.resetValueMap();
370
407
  this.dispatch(_types.CHANGE_TOPIC);
371
408
 
372
409
  if (this.onChange) {
package/lib/Form/Item.js CHANGED
@@ -196,9 +196,10 @@ function (_Component) {
196
196
  labelVerticalAlign = _this$props2.labelVerticalAlign,
197
197
  labelWidth = _this$props2.labelWidth,
198
198
  required = _this$props2.required,
199
- style = _this$props2.style;
199
+ style = _this$props2.style,
200
+ keepErrorHeight = _this$props2.keepErrorHeight;
200
201
  var errors = this.getErrors();
201
- var className = (0, _classnames.default)((0, _utils.getGrid)(grid), (0, _styles.formClass)('item', required && 'required', errors.length > 0 && 'invalid', labelVerticalAlign && "label-vertical-align-" + labelVerticalAlign, ['top', 'right', 'left'].indexOf(labelAlign) >= 0 && "label-align-" + labelAlign), this.props.className);
202
+ var className = (0, _classnames.default)((0, _utils.getGrid)(grid), (0, _styles.formClass)('item', required && 'required', errors.length > 0 && 'invalid', labelVerticalAlign && "label-vertical-align-" + labelVerticalAlign, keepErrorHeight && "item-keep-height", ['top', 'right', 'left'].indexOf(labelAlign) >= 0 && "label-align-" + labelAlign), this.props.className);
202
203
  return _react.default.createElement(Provider, {
203
204
  value: this.events
204
205
  }, _react.default.createElement("div", {
@@ -217,6 +218,7 @@ function (_Component) {
217
218
  Item.propTypes = (0, _objectSpread2.default)({}, (0, _proptypes.getProps)(_propTypes.default, 'children', 'grid'), {
218
219
  className: _propTypes.default.string,
219
220
  // formItemErrors: PropTypes.array,
221
+ keepErrorHeight: _propTypes.default.bool,
220
222
  label: _propTypes.default.any,
221
223
  labelAlign: _propTypes.default.string,
222
224
  labelWidth: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
@@ -224,7 +226,8 @@ Item.propTypes = (0, _objectSpread2.default)({}, (0, _proptypes.getProps)(_propT
224
226
  tip: _propTypes.default.any
225
227
  });
226
228
  Item.defaultProps = (0, _objectSpread2.default)({}, _proptypes.defaultProps, {
227
- formItemErrors: []
229
+ formItemErrors: [],
230
+ keepErrorHeight: true
228
231
  });
229
232
  var _default = Item; // eslint-disable-next-line
230
233
 
@@ -103,7 +103,8 @@ var formProvider = function formProvider(Origin) {
103
103
  disabled = _this$props.disabled,
104
104
  pending = _this$props.pending,
105
105
  mode = _this$props.mode,
106
- size = _this$props.size;
106
+ size = _this$props.size,
107
+ keepErrorHeight = _this$props.keepErrorHeight;
107
108
  var value = {
108
109
  formDatum: datum,
109
110
  formMode: mode,
@@ -113,7 +114,8 @@ var formProvider = function formProvider(Origin) {
113
114
  labelWidth: labelWidth,
114
115
  size: size,
115
116
  combineRules: this.combineRules,
116
- groupValidate: this.groupValidate
117
+ groupValidate: this.groupValidate,
118
+ keepErrorHeight: keepErrorHeight
117
119
  };
118
120
  return _react.default.createElement(Provider, {
119
121
  value: value
@@ -133,7 +135,8 @@ var formProvider = function formProvider(Origin) {
133
135
  pending: _propTypes.default.bool,
134
136
  rule: _propTypes.default.object,
135
137
  rules: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),
136
- size: _propTypes.default.string
138
+ size: _propTypes.default.string,
139
+ keepErrorHeight: _propTypes.default.bool
137
140
  };
138
141
  return FormProvider;
139
142
  };
@@ -77,11 +77,11 @@ export interface FormProps<Value> extends StandardProps {
77
77
  inline?: boolean;
78
78
 
79
79
  /**
80
- * the default value is right.
80
+ * The default is empty, follow the theme style.
81
81
  *
82
- * 默认为右边对齐。
82
+ * 默认为空,跟随主题样式。
83
83
  *
84
- * default: 'right'
84
+ * default:
85
85
  */
86
86
  labelAlign?: 'top' | 'right' | 'left';
87
87
 
@@ -103,6 +103,15 @@ export interface FormProps<Value> extends StandardProps {
103
103
  */
104
104
  labelWidth?: string | number;
105
105
 
106
+ /**
107
+ * Single-line error prompt will not stretch the page height
108
+ *
109
+ * 单行错误提示不撑开页面高度
110
+ *
111
+ * default: false
112
+ */
113
+ keepErrorHeight?: boolean;
114
+
106
115
  /**
107
116
  * mode, with useMode
108
117
  *
@@ -207,13 +216,13 @@ export interface FormItemProps extends StandardProps {
207
216
  label?: string | ReactNode;
208
217
 
209
218
  /**
210
- * the default value is left.
219
+ * The default is empty, follow the theme style.
211
220
  *
212
- * 默认为左边对齐。
221
+ * 默认为空,跟随主题样式。
213
222
  *
214
223
  * default:
215
224
  */
216
- labelAlign?: 'top' | 'right';
225
+ labelAlign?: 'top' | 'right' | 'left';
217
226
 
218
227
  /**
219
228
  * The width of label. It is invalid when labelAlign is 'top'.
@@ -242,9 +251,26 @@ export interface FormItemProps extends StandardProps {
242
251
  */
243
252
  tip?: string;
244
253
 
254
+ /**
255
+ * Single-line error prompt will not stretch the page height
256
+ *
257
+ * 单行错误提示不撑开页面高度
258
+ *
259
+ * default: false
260
+ */
261
+ keepErrorHeight?: boolean;
262
+
245
263
  }
246
264
 
247
265
  export interface FormFieldProps<Value> {
266
+ /**
267
+ * The name of a Form that accesses data
268
+ *
269
+ * Form 存取数据的名称
270
+ *
271
+ * default: none
272
+ */
273
+ name: string;
248
274
 
249
275
  /**
250
276
  * bind name, render while the name change
@@ -273,15 +299,6 @@ export interface FormFieldProps<Value> {
273
299
  */
274
300
  defaultValue?: string | number;
275
301
 
276
- /**
277
- * The name of a Form that accesses data
278
- *
279
- * Form 存取数据的名称
280
- *
281
- * default: none
282
- */
283
- name?: string;
284
-
285
302
  /**
286
303
  * Validation rules
287
304
  *
@@ -294,6 +311,14 @@ export interface FormFieldProps<Value> {
294
311
  }
295
312
 
296
313
  export interface FormFieldSetProps<Value> {
314
+ /**
315
+ * The name that accesses data from from
316
+ *
317
+ * 从 Form 中存取数据的名称
318
+ *
319
+ * default: required
320
+ */
321
+ name: string;
297
322
 
298
323
  /**
299
324
  * When children type is not function, handle a set data type of object
@@ -354,15 +379,6 @@ export interface FormFieldSetProps<Value> {
354
379
  */
355
380
  empty?: (onInsert: Value) => ReactNode;
356
381
 
357
- /**
358
- * The name that accesses data from from
359
- *
360
- * 从 Form 中存取数据的名称
361
- *
362
- * default: required
363
- */
364
- name?: string;
365
-
366
382
  /**
367
383
  * Validation rules
368
384
  *
package/lib/Form/index.js CHANGED
@@ -39,7 +39,7 @@ var exportForm = (0, _func.compose)(_Datum.default.hoc({
39
39
  type: 'form',
40
40
  bindProps: ['removeUndefined', 'error']
41
41
  }), _formContext.formProvider)((0, _context.consumer)(_Form.default, ['setFormStatus']));
42
- exportForm.Item = (0, _formContext.formConsumer)(['formDatum', 'labelWidth', 'labelAlign', 'labelVerticalAlign'])(_Item.default);
42
+ exportForm.Item = (0, _formContext.formConsumer)(['formDatum', 'labelWidth', 'labelAlign', 'labelVerticalAlign', 'keepErrorHeight'])(_Item.default);
43
43
  exportForm.Field = (0, _inputable.default)(_Field.default);
44
44
  exportForm.Block = (0, _formContext.formConsumer)(['formDatum', 'combineRules'])(_Block.default);
45
45
  exportForm.BlockField = (0, _inputable.default)(_BlockField.default);