shineout 1.8.0-rc.4 → 1.8.0

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 (411) hide show
  1. package/css/AnimationList/AbsoluteList.js +59 -68
  2. package/css/Button/Button.js +1 -0
  3. package/css/Button/styles/button.css +6 -0
  4. package/css/Checkbox/index.d.ts +1 -1
  5. package/css/Form/Field.js +8 -4
  6. package/css/Form/index.d.ts +13 -2
  7. package/css/Form/styles/form.css +24 -11
  8. package/css/Popover/Panel.js +4 -1
  9. package/css/Spin/index.d.ts +3 -1
  10. package/css/Table/index.d.ts +10 -0
  11. package/css/TreeSelect/Result.js +7 -4
  12. package/css/TreeSelect/styles/treeSelect.css +29 -5
  13. package/css/index.d.ts +1 -1
  14. package/css/index.js +1 -1
  15. package/css/styles/expose.css +1 -1
  16. package/css/utils/zoom.js +37 -0
  17. package/dist/shineout.js +150 -98
  18. package/dist/shineout.js.map +1 -1
  19. package/dist/shineout.min.js +1 -1
  20. package/dist/theme.antd.css +1 -1
  21. package/dist/theme.antd2.css +1 -1
  22. package/dist/theme.default.css +1 -1
  23. package/dist/theme.shineout.css +1 -1
  24. package/es/Alert/index.js +127 -107
  25. package/es/Alert/styles/index.js +3 -4
  26. package/es/AnimationList/AbsoluteList.js +271 -206
  27. package/es/AnimationList/LazyList.js +120 -92
  28. package/es/AnimationList/List.js +43 -23
  29. package/es/AnimationList/index.js +19 -14
  30. package/es/AnimationList/styles/index.js +3 -4
  31. package/es/Breadcrumb/index.js +77 -69
  32. package/es/Breadcrumb/styles/index.js +3 -4
  33. package/es/Button/Button.js +92 -74
  34. package/es/Button/Group.js +42 -28
  35. package/es/Button/Once.js +39 -23
  36. package/es/Button/index.js +7 -10
  37. package/es/Button/styles/button.less +2 -0
  38. package/es/Button/styles/index.js +3 -4
  39. package/es/Card/Accordion.js +58 -45
  40. package/es/Card/Body.js +55 -42
  41. package/es/Card/Card.js +85 -79
  42. package/es/Card/Footer.js +38 -15
  43. package/es/Card/Header.js +52 -34
  44. package/es/Card/Submit.js +51 -33
  45. package/es/Card/context.js +22 -16
  46. package/es/Card/index.js +16 -19
  47. package/es/Card/styles/index.js +3 -4
  48. package/es/CardGroup/CardGroup.js +93 -69
  49. package/es/CardGroup/Item.js +61 -43
  50. package/es/CardGroup/context.js +12 -10
  51. package/es/CardGroup/index.js +7 -10
  52. package/es/CardGroup/styles/index.js +3 -4
  53. package/es/Carousel/Item.js +31 -17
  54. package/es/Carousel/index.js +156 -123
  55. package/es/Carousel/styles/index.js +3 -4
  56. package/es/Cascader/Cascader.js +397 -346
  57. package/es/Cascader/FilterList.js +185 -142
  58. package/es/Cascader/Input.js +102 -79
  59. package/es/Cascader/List.js +66 -41
  60. package/es/Cascader/Node.js +153 -110
  61. package/es/Cascader/Result.js +289 -232
  62. package/es/Cascader/filter.js +92 -61
  63. package/es/Cascader/index.js +13 -18
  64. package/es/Cascader/styles/index.js +3 -4
  65. package/es/Checkbox/CheckItem.js +168 -154
  66. package/es/Checkbox/Checkbox.js +2 -3
  67. package/es/Checkbox/Group.js +106 -85
  68. package/es/Checkbox/context.js +12 -10
  69. package/es/Checkbox/index.d.ts +1 -1
  70. package/es/Checkbox/index.js +14 -21
  71. package/es/Checkbox/styles/index.js +3 -4
  72. package/es/DataList/BaseItem.js +39 -21
  73. package/es/DataList/Extra.js +33 -17
  74. package/es/DataList/List.js +166 -140
  75. package/es/DataList/Meta.js +109 -74
  76. package/es/DataList/Pagination.js +9 -10
  77. package/es/DataList/index.js +13 -19
  78. package/es/DataList/styles/index.js +3 -4
  79. package/es/DatePicker/Container.js +468 -449
  80. package/es/DatePicker/Day.js +265 -258
  81. package/es/DatePicker/Icon.js +34 -20
  82. package/es/DatePicker/Month.js +101 -79
  83. package/es/DatePicker/Picker.js +110 -83
  84. package/es/DatePicker/Quick.js +52 -39
  85. package/es/DatePicker/Range.js +241 -192
  86. package/es/DatePicker/Text.js +103 -91
  87. package/es/DatePicker/Time.js +165 -147
  88. package/es/DatePicker/TimeScroll.js +148 -116
  89. package/es/DatePicker/Year.js +74 -53
  90. package/es/DatePicker/index.js +16 -18
  91. package/es/DatePicker/paramUtils.js +92 -58
  92. package/es/DatePicker/styles/index.js +3 -4
  93. package/es/DatePicker/utils.js +189 -198
  94. package/es/DatePicker/value.js +139 -98
  95. package/es/Datum/Form.js +333 -282
  96. package/es/Datum/List.js +319 -201
  97. package/es/Datum/Tree.js +298 -239
  98. package/es/Datum/hoc.js +104 -69
  99. package/es/Datum/index.js +7 -8
  100. package/es/Datum/types.js +20 -25
  101. package/es/Divider/index.js +50 -32
  102. package/es/Divider/styles/index.js +3 -4
  103. package/es/Drawer/index.js +14 -9
  104. package/es/Dropdown/Item.js +56 -43
  105. package/es/Dropdown/index.js +273 -259
  106. package/es/Dropdown/styles/index.js +3 -4
  107. package/es/EditableArea/EditableArea.js +157 -136
  108. package/es/EditableArea/index.js +8 -15
  109. package/es/EditableArea/styles/index.js +3 -4
  110. package/es/Form/Block.js +83 -57
  111. package/es/Form/BlockField.js +32 -17
  112. package/es/Form/Field.js +59 -35
  113. package/es/Form/FieldError.js +27 -21
  114. package/es/Form/FieldSet.js +213 -155
  115. package/es/Form/Flow.js +51 -32
  116. package/es/Form/Form.js +181 -145
  117. package/es/Form/Item.js +181 -166
  118. package/es/Form/Loop.js +202 -146
  119. package/es/Form/formButton.js +58 -42
  120. package/es/Form/formContext.js +104 -95
  121. package/es/Form/index.d.ts +13 -2
  122. package/es/Form/index.js +40 -45
  123. package/es/Form/inputable.js +368 -292
  124. package/es/Form/mode.js +15 -9
  125. package/es/Form/styles/form.less +36 -15
  126. package/es/Form/styles/index.js +4 -5
  127. package/es/Gap/index.js +71 -47
  128. package/es/Gap/styles/index.js +3 -4
  129. package/es/Gap/support.js +11 -14
  130. package/es/Grid/index.js +88 -58
  131. package/es/Grid/utils.js +57 -58
  132. package/es/Icon/Icon.js +43 -42
  133. package/es/Icon/index.js +39 -22
  134. package/es/Icon/styles/index.js +3 -4
  135. package/es/Image/Gallery.js +128 -113
  136. package/es/Image/Group.js +60 -36
  137. package/es/Image/Image.js +227 -153
  138. package/es/Image/Magnify.js +123 -94
  139. package/es/Image/events.js +29 -26
  140. package/es/Image/index.js +6 -9
  141. package/es/Image/styles/index.js +3 -4
  142. package/es/Input/Group.js +17 -11
  143. package/es/Input/Input.js +158 -134
  144. package/es/Input/Number.js +199 -175
  145. package/es/Input/Password.js +54 -31
  146. package/es/Input/clear.js +41 -25
  147. package/es/Input/index.js +23 -35
  148. package/es/Input/styles/index.js +3 -4
  149. package/es/Lazyload/index.js +63 -42
  150. package/es/Lazyload/styles/index.js +3 -4
  151. package/es/Menu/Item.js +275 -236
  152. package/es/Menu/List.js +75 -67
  153. package/es/Menu/Root.js +374 -334
  154. package/es/Menu/context.js +18 -12
  155. package/es/Menu/index.js +3 -5
  156. package/es/Menu/styles/index.js +3 -4
  157. package/es/Message/Container.js +155 -119
  158. package/es/Message/index.js +42 -30
  159. package/es/Message/messager.js +29 -33
  160. package/es/Message/styles/index.js +3 -4
  161. package/es/Modal/Modal.js +80 -60
  162. package/es/Modal/Panel.js +258 -234
  163. package/es/Modal/context.js +15 -15
  164. package/es/Modal/events.js +213 -182
  165. package/es/Modal/index.js +12 -14
  166. package/es/Modal/styles/index.js +3 -4
  167. package/es/Pagination/Item.js +46 -32
  168. package/es/Pagination/Jumper.js +79 -68
  169. package/es/Pagination/Links.js +110 -82
  170. package/es/Pagination/Next.js +52 -31
  171. package/es/Pagination/PageSizeList.js +57 -40
  172. package/es/Pagination/Pagination.js +78 -54
  173. package/es/Pagination/Prev.js +49 -30
  174. package/es/Pagination/Simple.js +32 -18
  175. package/es/Pagination/index.js +68 -41
  176. package/es/Pagination/styles/index.js +3 -4
  177. package/es/Popover/Confirm.js +107 -64
  178. package/es/Popover/Panel.js +287 -231
  179. package/es/Popover/context.js +15 -12
  180. package/es/Popover/events.js +80 -86
  181. package/es/Popover/index.js +12 -14
  182. package/es/Popover/styles/index.js +3 -4
  183. package/es/Progress/Circle.js +70 -59
  184. package/es/Progress/Line.js +51 -39
  185. package/es/Progress/Popup.js +42 -24
  186. package/es/Progress/analyzeColor.js +18 -9
  187. package/es/Progress/index.js +13 -15
  188. package/es/Progress/styles/index.js +3 -4
  189. package/es/Radio/Group.js +105 -94
  190. package/es/Radio/Radio.js +2 -3
  191. package/es/Radio/index.js +15 -17
  192. package/es/Radio/styles/index.js +1 -1
  193. package/es/Rate/Rate.js +216 -167
  194. package/es/Rate/index.js +17 -10
  195. package/es/Rate/styles/index.js +3 -4
  196. package/es/Rule/convert.js +48 -57
  197. package/es/Rule/index.js +63 -40
  198. package/es/Rule/length.js +53 -38
  199. package/es/Rule/regExp.js +23 -14
  200. package/es/Rule/required.js +26 -18
  201. package/es/Rule/styles/index.js +1 -1
  202. package/es/Rule/type.js +26 -18
  203. package/es/Scroll/Bar.js +152 -120
  204. package/es/Scroll/Scroll.js +279 -221
  205. package/es/Scroll/context.js +20 -13
  206. package/es/Scroll/fixedLength.js +33 -24
  207. package/es/Scroll/index.js +89 -55
  208. package/es/Scroll/styles/index.js +3 -4
  209. package/es/Select/BoxList.js +208 -181
  210. package/es/Select/BoxOption.js +64 -38
  211. package/es/Select/FlexBox.js +107 -75
  212. package/es/Select/FlexResult.js +65 -49
  213. package/es/Select/Input.js +185 -143
  214. package/es/Select/More.js +124 -121
  215. package/es/Select/Option.js +73 -52
  216. package/es/Select/OptionList.js +236 -200
  217. package/es/Select/OptionTree.js +111 -96
  218. package/es/Select/Result.js +299 -273
  219. package/es/Select/Select.js +519 -493
  220. package/es/Select/filter.js +221 -148
  221. package/es/Select/group.js +74 -45
  222. package/es/Select/index.js +32 -31
  223. package/es/Select/styles/index.js +3 -4
  224. package/es/Slider/Container.js +145 -132
  225. package/es/Slider/Indicator.js +28 -13
  226. package/es/Slider/Slider.js +132 -103
  227. package/es/Slider/index.js +5 -8
  228. package/es/Slider/styles/index.js +3 -4
  229. package/es/Slider/utils.js +26 -30
  230. package/es/Spin/Multiple.js +153 -109
  231. package/es/Spin/Simple.js +33 -22
  232. package/es/Spin/Spin.js +29 -29
  233. package/es/Spin/index.d.ts +3 -1
  234. package/es/Spin/index.js +66 -84
  235. package/es/Spin/styles/index.js +27 -30
  236. package/es/Sticky/context.js +12 -10
  237. package/es/Sticky/index.js +255 -194
  238. package/es/Sticky/styles/index.js +1 -1
  239. package/es/Switch/Switch.js +2 -3
  240. package/es/Switch/index.js +8 -14
  241. package/es/Table/Checkbox.js +68 -39
  242. package/es/Table/CheckboxAll.js +121 -64
  243. package/es/Table/Colgroup.js +72 -47
  244. package/es/Table/Expand.js +63 -43
  245. package/es/Table/SeperateTable.js +595 -445
  246. package/es/Table/SimpleTable.js +215 -136
  247. package/es/Table/Sorter.js +83 -62
  248. package/es/Table/Table.js +158 -159
  249. package/es/Table/Tbody.js +240 -176
  250. package/es/Table/Td.js +169 -130
  251. package/es/Table/Thead.js +206 -177
  252. package/es/Table/Tr.js +249 -205
  253. package/es/Table/TreeExpand.js +151 -116
  254. package/es/Table/context.js +15 -15
  255. package/es/Table/fixedAuto.js +82 -59
  256. package/es/Table/index.d.ts +10 -0
  257. package/es/Table/index.js +309 -228
  258. package/es/Table/resizable.js +89 -56
  259. package/es/Table/select.js +238 -215
  260. package/es/Table/styles/index.js +3 -4
  261. package/es/Tabs/Header.js +203 -160
  262. package/es/Tabs/Link.js +46 -28
  263. package/es/Tabs/Panel.js +49 -33
  264. package/es/Tabs/Tab.js +97 -79
  265. package/es/Tabs/Tabs.js +211 -177
  266. package/es/Tabs/Wrapper.js +37 -17
  267. package/es/Tabs/index.js +7 -10
  268. package/es/Tabs/styles/index.js +3 -4
  269. package/es/Tag/Input.js +70 -54
  270. package/es/Tag/Tag.js +198 -156
  271. package/es/Tag/index.js +5 -8
  272. package/es/Tag/styles/index.js +3 -4
  273. package/es/Textarea/Textarea.js +139 -118
  274. package/es/Textarea/index.js +10 -19
  275. package/es/Tooltip/Container.js +140 -127
  276. package/es/Tooltip/events.js +49 -55
  277. package/es/Tooltip/index.js +5 -8
  278. package/es/Tooltip/styles/index.js +3 -4
  279. package/es/Transfer/Card.js +212 -177
  280. package/es/Transfer/Transfer.js +160 -153
  281. package/es/Transfer/btns.js +97 -80
  282. package/es/Transfer/context.js +2 -3
  283. package/es/Transfer/filter.js +65 -35
  284. package/es/Transfer/index.js +9 -13
  285. package/es/Transfer/item.js +66 -41
  286. package/es/Transfer/select.js +15 -16
  287. package/es/Transfer/styles/index.js +3 -4
  288. package/es/Tree/Checkbox.js +72 -50
  289. package/es/Tree/Content.js +136 -95
  290. package/es/Tree/List.js +82 -53
  291. package/es/Tree/Node.js +237 -202
  292. package/es/Tree/Root.js +23 -19
  293. package/es/Tree/Tree.js +262 -197
  294. package/es/Tree/index.js +6 -9
  295. package/es/Tree/styles/index.js +3 -4
  296. package/es/Tree/toggle.js +89 -51
  297. package/es/TreeSelect/Input.js +73 -60
  298. package/es/TreeSelect/Result.js +216 -181
  299. package/es/TreeSelect/TreeSelect.js +327 -312
  300. package/es/TreeSelect/datum.js +56 -44
  301. package/es/TreeSelect/filter.js +134 -96
  302. package/es/TreeSelect/index.js +15 -23
  303. package/es/TreeSelect/styles/index.js +3 -4
  304. package/es/TreeSelect/styles/treeSelect.less +21 -4
  305. package/es/TreeSelect/tiled.js +143 -106
  306. package/es/Upload/Dragger.js +63 -39
  307. package/es/Upload/Drop.js +79 -57
  308. package/es/Upload/File.js +61 -48
  309. package/es/Upload/FileInput.js +53 -40
  310. package/es/Upload/Image.js +158 -115
  311. package/es/Upload/ImageFile.js +63 -43
  312. package/es/Upload/ImageResult.js +139 -114
  313. package/es/Upload/Progress.js +117 -105
  314. package/es/Upload/RemoveConfirm.js +58 -42
  315. package/es/Upload/Result.js +73 -58
  316. package/es/Upload/Upload.js +649 -490
  317. package/es/Upload/accept.js +33 -13
  318. package/es/Upload/context.js +12 -10
  319. package/es/Upload/index.js +16 -20
  320. package/es/Upload/request.js +48 -46
  321. package/es/Upload/styles/index.js +3 -4
  322. package/es/component.js +45 -24
  323. package/es/config.js +27 -19
  324. package/es/context/implementation.js +132 -94
  325. package/es/context/index.js +3 -4
  326. package/es/hoc/coin.js +118 -81
  327. package/es/hoc/config.js +31 -17
  328. package/es/hoc/delay.js +99 -55
  329. package/es/hoc/draggable.js +90 -80
  330. package/es/hoc/fetch.js +56 -33
  331. package/es/hoc/hidable.js +119 -98
  332. package/es/hoc/inputBorder.js +158 -158
  333. package/es/hoc/moveable.js +124 -96
  334. package/es/hoc/pagable.js +74 -55
  335. package/es/hoc/resizable.js +132 -100
  336. package/es/hoc/styles/index.js +7 -8
  337. package/es/hoc/trim.js +54 -32
  338. package/es/icons/Caret.js +14 -15
  339. package/es/icons/index.js +31 -85
  340. package/es/index.d.ts +1 -1
  341. package/es/index.js +58 -57
  342. package/es/locale/en_US.js +9 -30
  343. package/es/locale/index.js +13 -14
  344. package/es/locale/zh-CN.js +9 -17
  345. package/es/styles/expose.js +3 -4
  346. package/es/styles/index.js +1 -1
  347. package/es/styles/mixins/close.less +7 -0
  348. package/es/styles/themes/cssvar.less +1 -1
  349. package/es/styles/themes/shineout.less +1 -1
  350. package/es/utils/accept.js +15 -12
  351. package/es/utils/classname.js +23 -12
  352. package/es/utils/cleanProps.js +9 -21
  353. package/es/utils/clone.js +34 -27
  354. package/es/utils/color.js +310 -276
  355. package/es/utils/css-accessors.js +94 -45
  356. package/es/utils/dom/detect.js +29 -29
  357. package/es/utils/dom/document.js +23 -19
  358. package/es/utils/dom/element.js +141 -105
  359. package/es/utils/dom/getDataset.js +9 -9
  360. package/es/utils/dom/isDOMElement.js +3 -5
  361. package/es/utils/dom/normalizeWheel.js +32 -28
  362. package/es/utils/dom/popContainer.js +12 -13
  363. package/es/utils/dom/popover.js +79 -59
  364. package/es/utils/dom/ready.js +5 -6
  365. package/es/utils/dom/translate.js +21 -21
  366. package/es/utils/errors.js +47 -28
  367. package/es/utils/expose.js +97 -58
  368. package/es/utils/flat.js +122 -107
  369. package/es/utils/func.js +38 -20
  370. package/es/utils/hash.js +24 -20
  371. package/es/utils/index.js +24 -49
  372. package/es/utils/is.js +91 -70
  373. package/es/utils/lazyload.js +104 -86
  374. package/es/utils/notification.js +34 -20
  375. package/es/utils/numbers.js +61 -51
  376. package/es/utils/objects.js +221 -140
  377. package/es/utils/proptypes.js +21 -34
  378. package/es/utils/shallowEqual.js +46 -42
  379. package/es/utils/strings.js +50 -32
  380. package/es/utils/transform.js +24 -9
  381. package/es/utils/tree.js +78 -63
  382. package/es/utils/uid.js +14 -17
  383. package/es/utils/validate/index.js +71 -50
  384. package/es/utils/validate/isJson.js +7 -10
  385. package/es/utils/validate/nullable.js +10 -9
  386. package/es/utils/validate/range.js +22 -19
  387. package/es/utils/validate/rangeLength.js +19 -16
  388. package/es/utils/validate/regExp.js +10 -10
  389. package/es/utils/validate/required.js +11 -8
  390. package/es/utils/validate/type.js +56 -59
  391. package/es/utils/vars-inject.js +3420 -4248
  392. package/es/utils/zoom.js +27 -0
  393. package/lib/AnimationList/AbsoluteList.js +59 -68
  394. package/lib/Button/Button.js +1 -0
  395. package/lib/Button/styles/button.less +2 -0
  396. package/lib/Checkbox/index.d.ts +1 -1
  397. package/lib/Form/Field.js +8 -4
  398. package/lib/Form/index.d.ts +13 -2
  399. package/lib/Form/styles/form.less +36 -15
  400. package/lib/Popover/Panel.js +4 -1
  401. package/lib/Spin/index.d.ts +3 -1
  402. package/lib/Table/index.d.ts +10 -0
  403. package/lib/TreeSelect/Result.js +7 -4
  404. package/lib/TreeSelect/styles/treeSelect.less +21 -4
  405. package/lib/index.d.ts +1 -1
  406. package/lib/index.js +1 -1
  407. package/lib/styles/mixins/close.less +7 -0
  408. package/lib/styles/themes/cssvar.less +1 -1
  409. package/lib/styles/themes/shineout.less +1 -1
  410. package/lib/utils/zoom.js +37 -0
  411. package/package.json +3 -2
@@ -41,6 +41,8 @@ var _context2 = _interopRequireDefault(require("../Modal/context"));
41
41
 
42
42
  var _config = require("../config");
43
43
 
44
+ var _zoom = require("../utils/zoom");
45
+
44
46
  var PICKER_V_MARGIN = 4;
45
47
  var root;
46
48
 
@@ -89,6 +91,7 @@ function _default(List) {
89
91
  props.getResetPosition(_this.resetPosition.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))));
90
92
  }
91
93
 
94
+ _this.zoomChangeHandler = _this.zoomChangeHandler.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
92
95
  return _this;
93
96
  }
94
97
 
@@ -103,6 +106,10 @@ function _default(List) {
103
106
  this.forceUpdate();
104
107
  }
105
108
  }
109
+
110
+ if (this.props.absolute) {
111
+ (0, _zoom.addZoomListener)(this.zoomChangeHandler);
112
+ }
106
113
  };
107
114
 
108
115
  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
@@ -118,6 +125,7 @@ function _default(List) {
118
125
  _proto.componentWillUnmount = function componentWillUnmount() {
119
126
  var absolute = this.props.absolute;
120
127
  if (!absolute) return;
128
+ (0, _zoom.removeZoomListener)(this.zoomChangeHandler);
121
129
 
122
130
  if (this.container) {
123
131
  this.container.removeChild(this.element);
@@ -125,9 +133,7 @@ function _default(List) {
125
133
  };
126
134
 
127
135
  _proto.getPosition = function getPosition(rect) {
128
- var _this$props = this.props,
129
- fixed = _this$props.fixed,
130
- absolute = _this$props.absolute;
136
+ var fixed = this.props.fixed;
131
137
  var position = this.props.position;
132
138
  var rtl = (0, _config.isRTL)();
133
139
  var style = {
@@ -148,34 +154,13 @@ function _default(List) {
148
154
  position = (0, _strings.getRTLPosition)(position);
149
155
  }
150
156
 
151
- var containerScroll;
152
- var containerRect;
153
157
  var container = this.container;
154
-
155
- if (typeof absolute === 'function' && container) {
156
- containerRect = container.getBoundingClientRect();
157
- containerScroll = {
158
- left: container.scrollLeft,
159
- top: container.scrollTop
160
- };
161
-
162
- if (rtl) {
163
- containerScroll.width = container.scrollWidth;
164
- }
165
- } else {
166
- containerRect = {
167
- left: 0,
168
- top: 0,
169
- right: 0,
170
- bottom: 0
171
- };
172
- containerScroll = _document.docScroll;
173
-
174
- if (rtl) {
175
- containerRect.width = document.documentElement.clientWidth || document.body.clientWidth;
176
- }
177
- }
178
-
158
+ var rootContainer = container === root || !container ? document.body : container;
159
+ var containerRect = rootContainer.getBoundingClientRect();
160
+ var containerScroll = {
161
+ left: rootContainer.scrollLeft,
162
+ top: rootContainer.scrollTop
163
+ };
179
164
  this.containerRect = containerRect;
180
165
 
181
166
  if (listPosition.includes(position)) {
@@ -194,12 +179,12 @@ function _default(List) {
194
179
  if (h === 'left') {
195
180
  style.left = rect.left - containerRect.left + containerScroll.left;
196
181
  } else {
197
- style.left = rect.right - containerRect.right + containerScroll.left;
182
+ style.left = rect.right - containerRect.left + containerScroll.left;
198
183
  style.transform = 'translateX(-100%)';
199
184
  }
200
185
 
201
186
  if (v === 'bottom') {
202
- style.top = rect.bottom - containerRect.bottom + containerScroll.top + PICKER_V_MARGIN;
187
+ style.top = rect.bottom - containerRect.top + containerScroll.top + PICKER_V_MARGIN;
203
188
  } else {
204
189
  style.top = rect.top - containerRect.top + containerScroll.top - PICKER_V_MARGIN;
205
190
  style.transform = style.transform ? 'translate(-100%, -100%)' : 'translateY(-100%)';
@@ -215,10 +200,10 @@ function _default(List) {
215
200
  };
216
201
 
217
202
  _proto.getStyle = function getStyle() {
218
- var _this$props2 = this.props,
219
- parentElement = _this$props2.parentElement,
220
- scrollElement = _this$props2.scrollElement,
221
- focus = _this$props2.focus;
203
+ var _this$props = this.props,
204
+ parentElement = _this$props.parentElement,
205
+ scrollElement = _this$props.scrollElement,
206
+ focus = _this$props.focus;
222
207
  var lazyResult = {
223
208
  focus: focus,
224
209
  style: this.lastStyle
@@ -248,10 +233,16 @@ function _default(List) {
248
233
  };
249
234
  };
250
235
 
236
+ _proto.zoomChangeHandler = function zoomChangeHandler() {
237
+ if (this.props.focus) {
238
+ this.forceUpdate();
239
+ }
240
+ };
241
+
251
242
  _proto.resetPosition = function resetPosition(clean) {
252
- var _this$props3 = this.props,
253
- focus = _this$props3.focus,
254
- parentElement = _this$props3.parentElement;
243
+ var _this$props2 = this.props,
244
+ focus = _this$props2.focus,
245
+ parentElement = _this$props2.parentElement;
255
246
  if (!this.el || !focus || this.ajustdoc && !clean) return;
256
247
  var pos = this.el.getBoundingClientRect();
257
248
  var left = pos.left;
@@ -286,21 +277,21 @@ function _default(List) {
286
277
  };
287
278
 
288
279
  _proto.renderList = function renderList() {
289
- var _this$props4 = this.props,
290
- parentElement = _this$props4.parentElement,
291
- absolute = _this$props4.absolute,
292
- focus = _this$props4.focus,
293
- rootClass = _this$props4.rootClass,
294
- position = _this$props4.position,
295
- scrollLeft = _this$props4.scrollLeft,
296
- scrollTop = _this$props4.scrollTop,
297
- scrollElement = _this$props4.scrollElement,
298
- _this$props4$style = _this$props4.style,
299
- style = _this$props4$style === void 0 ? {} : _this$props4$style,
300
- zIndex = _this$props4.zIndex,
301
- getResetPosition = _this$props4.getResetPosition,
302
- ignore = _this$props4.autoAdapt,
303
- props = (0, _objectWithoutPropertiesLoose2.default)(_this$props4, ["parentElement", "absolute", "focus", "rootClass", "position", "scrollLeft", "scrollTop", "scrollElement", "style", "zIndex", "getResetPosition", "autoAdapt"]);
280
+ var _this$props3 = this.props,
281
+ parentElement = _this$props3.parentElement,
282
+ absolute = _this$props3.absolute,
283
+ focus = _this$props3.focus,
284
+ rootClass = _this$props3.rootClass,
285
+ position = _this$props3.position,
286
+ scrollLeft = _this$props3.scrollLeft,
287
+ scrollTop = _this$props3.scrollTop,
288
+ scrollElement = _this$props3.scrollElement,
289
+ _this$props3$style = _this$props3.style,
290
+ style = _this$props3$style === void 0 ? {} : _this$props3$style,
291
+ zIndex = _this$props3.zIndex,
292
+ getResetPosition = _this$props3.getResetPosition,
293
+ ignore = _this$props3.autoAdapt,
294
+ props = (0, _objectWithoutPropertiesLoose2.default)(_this$props3, ["parentElement", "absolute", "focus", "rootClass", "position", "scrollLeft", "scrollTop", "scrollElement", "style", "zIndex", "getResetPosition", "autoAdapt"]);
304
295
  var parsed = parseInt(zIndex, 10);
305
296
  if (!Number.isNaN(parsed)) style.zIndex = parsed;
306
297
  var mergeStyle = Object.assign({}, style, this.state.overdoc ? getOverDocStyle() : undefined);
@@ -325,20 +316,20 @@ function _default(List) {
325
316
  }
326
317
 
327
318
  if (!this.container) return null;
328
- var _this$props5 = this.props,
329
- parentElement = _this$props5.parentElement,
330
- rootClass = _this$props5.rootClass,
331
- absolute = _this$props5.absolute,
332
- position = _this$props5.position,
333
- scrollLeft = _this$props5.scrollLeft,
334
- scrollTop = _this$props5.scrollTop,
335
- scrollElement = _this$props5.scrollElement,
336
- autoClass = _this$props5.autoClass,
337
- zIndex = _this$props5.zIndex,
338
- getResetPosition = _this$props5.getResetPosition,
339
- value = _this$props5.value,
340
- ignore = _this$props5.autoAdapt,
341
- props = (0, _objectWithoutPropertiesLoose2.default)(_this$props5, ["parentElement", "rootClass", "absolute", "position", "scrollLeft", "scrollTop", "scrollElement", "autoClass", "zIndex", "getResetPosition", "value", "autoAdapt"]);
319
+ var _this$props4 = this.props,
320
+ parentElement = _this$props4.parentElement,
321
+ rootClass = _this$props4.rootClass,
322
+ absolute = _this$props4.absolute,
323
+ position = _this$props4.position,
324
+ scrollLeft = _this$props4.scrollLeft,
325
+ scrollTop = _this$props4.scrollTop,
326
+ scrollElement = _this$props4.scrollElement,
327
+ autoClass = _this$props4.autoClass,
328
+ zIndex = _this$props4.zIndex,
329
+ getResetPosition = _this$props4.getResetPosition,
330
+ value = _this$props4.value,
331
+ ignore = _this$props4.autoAdapt,
332
+ props = (0, _objectWithoutPropertiesLoose2.default)(_this$props4, ["parentElement", "rootClass", "absolute", "position", "scrollLeft", "scrollTop", "scrollElement", "autoClass", "zIndex", "getResetPosition", "value", "autoAdapt"]);
342
333
  var mergeClass = (0, _classnames.default)((0, _styles.listClass)('absolute-wrapper'), rootClass, autoClass);
343
334
 
344
335
  var _ref = props.focus ? this.getStyle() : {
@@ -75,6 +75,7 @@ function (_PureComponent) {
75
75
  var type = isSecondary ? 'primary' : typeProp;
76
76
  var outline = outlineProp || isSecondary;
77
77
  var color = outline || type === 'default' ? undefined : '#fff';
78
+ if (text) color = 'currentColor';
78
79
  var className = (0, _classnames.default)((0, _styles.buttonClass)('_', shape, type, outline && 'outline', {
79
80
  large: size === 'large',
80
81
  small: size === 'small',
@@ -762,6 +762,12 @@ fieldset[disabled] .so-button-danger.so-button-outline:not(.so-button-disabled):
762
762
  box-shadow: none;
763
763
  padding-left: 4px;
764
764
  padding-right: 4px;
765
+ display: -webkit-inline-box;
766
+ display: -ms-inline-flexbox;
767
+ display: inline-flex;
768
+ -webkit-box-align: center;
769
+ -ms-flex-align: center;
770
+ align-items: center;
765
771
  }
766
772
  .so-button-text:not(:disabled):hover {
767
773
  opacity: 0.8;
@@ -47,7 +47,7 @@ export interface CheckboxProps<T> extends StandardProps, FormItemStandardProps<T
47
47
 
48
48
  // attention: checkbox group value is array
49
49
 
50
- export interface CheckboxGroupProps<Data, T> extends ListItemStandardProps<Data, T> {
50
+ export interface CheckboxGroupProps<Data, T> extends ListItemStandardProps<Data, T>, Omit<FormItemStandardProps<T[]>, 'placeholder'> {
51
51
 
52
52
  /**
53
53
  * The data item
package/css/Form/Field.js CHANGED
@@ -52,13 +52,15 @@ function (_Component) {
52
52
  var _this$props = this.props,
53
53
  children = _this$props.children,
54
54
  value = _this$props.value,
55
- error = _this$props.error;
55
+ error = _this$props.error,
56
+ disabled = _this$props.disabled;
56
57
 
57
58
  if (typeof children === 'function') {
58
59
  return children({
59
60
  value: value,
60
61
  error: error,
61
- onChange: this.handleChange
62
+ onChange: this.handleChange,
63
+ disabled: disabled
62
64
  });
63
65
  }
64
66
 
@@ -66,7 +68,8 @@ function (_Component) {
66
68
  return (0, _react.cloneElement)(children, {
67
69
  value: value,
68
70
  error: error,
69
- onChange: this.handleChange
71
+ onChange: this.handleChange,
72
+ disabled: disabled
70
73
  });
71
74
  }
72
75
 
@@ -82,7 +85,8 @@ Field.propTypes = {
82
85
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.element]).isRequired,
83
86
  error: _propTypes.default.object,
84
87
  onChange: _propTypes.default.func.isRequired,
85
- value: _propTypes.default.any
88
+ value: _propTypes.default.any,
89
+ disabled: _propTypes.default.bool
86
90
  };
87
91
  Field.defaultProps = {
88
92
  cache: false
@@ -24,10 +24,21 @@ export interface FieldSetChildrenFunc<Value = any> {
24
24
  }
25
25
 
26
26
 
27
+ export interface FormRef<Value> {
28
+ getValue: () => Value;
29
+ validate: () => Promise<any>;
30
+ validateFields: () => Promise<any>;
31
+ validateFieldsWithError: () => Promise<any>;
32
+ clearValidate: () => void;
33
+ submit: (withValidate?: boolean) => void;
34
+ reset: ()=> void
35
+ }
36
+
27
37
  export interface FieldChildrenFunc<Value = any> {
28
38
  value: Value;
29
39
  error: Error;
30
40
  onChange: (value: Value) => void;
41
+ disabled: boolean;
31
42
  }
32
43
 
33
44
  export interface FormProps<Value> extends StandardProps {
@@ -200,7 +211,7 @@ export interface FormProps<Value> extends StandardProps {
200
211
  *
201
212
  * default: -
202
213
  */
203
- formRef?: (form: any) => void;
214
+ formRef?: (form: FormRef<Value>) => void;
204
215
 
205
216
  }
206
217
 
@@ -368,7 +379,7 @@ export interface FormFieldSetProps<Value> {
368
379
  *
369
380
  * default:
370
381
  */
371
- defaultValue?: string | number;
382
+ defaultValue?: Value;
372
383
 
373
384
  /**
374
385
  * content with empty
@@ -50,7 +50,8 @@
50
50
  font-family: SimSun;
51
51
  }
52
52
  .so-form-item:not(.so-form-label-align-top) .so-form-label {
53
- text-align: var(--form-item-label-align, 'left');
53
+ text-align: left;
54
+ text-align: var(--form-item-label-align, start);
54
55
  }
55
56
  .so-form-item .so-form-control {
56
57
  -webkit-box-flex: 1;
@@ -77,9 +78,11 @@
77
78
  }
78
79
  .so-form-item.so-form-label-align-right .so-form-label {
79
80
  text-align: right;
81
+ text-align: end;
80
82
  }
81
83
  .so-form-item.so-form-label-align-left .so-form-label {
82
84
  text-align: left;
85
+ text-align: start;
83
86
  }
84
87
  .so-form-label-align-top {
85
88
  display: block;
@@ -148,11 +151,18 @@
148
151
  }
149
152
  .so-form.so-form-rtl {
150
153
  direction: rtl;
151
- text-align: right;
152
154
  }
153
- .so-form.so-form-rtl .so-form-item .so-form-label,
154
- .so-form.so-form-rtl .so-form-align-right .so-form-label {
155
- text-align: left;
155
+ .so-form.so-form-rtl .so-form-item.so-form-required .so-form-label:before {
156
+ margin-right: 0;
157
+ margin-left: 4px;
158
+ }
159
+ .so-form.so-form-rtl .so-form-item .so-form-control:first-child {
160
+ padding-left: 6px;
161
+ padding-right: 0;
162
+ }
163
+ .so-form.so-form-rtl.so-form-inline > .so-input {
164
+ margin-right: 0;
165
+ margin-left: var(--form-item-margin-right, 20px);
156
166
  }
157
167
  .so-form.so-form-rtl.so-form-inline .so-form-item {
158
168
  margin-right: 0;
@@ -162,10 +172,6 @@
162
172
  margin-right: 0;
163
173
  margin-left: 12px;
164
174
  }
165
- .so-form.so-form-rtl.so-form-inline > .so-input {
166
- margin-right: 0;
167
- margin-left: var(--form-item-margin-right, 20px);
168
- }
169
175
  .so-form.so-form-rtl .so-button + .so-button {
170
176
  margin-left: 0;
171
177
  margin-right: var(--button-margin-left, 12px);
@@ -670,7 +676,15 @@ textarea.so-input-textarea-resize {
670
676
  }
671
677
  .so-input.so-input-rtl {
672
678
  direction: rtl;
673
- text-align: right;
679
+ }
680
+ .so-input.so-input-rtl-clear-wrapper {
681
+ right: auto;
682
+ left: 8px;
683
+ }
684
+ .so-input.so-input-rtl-clear-wrapper:after,
685
+ .so-input.so-input-rtl-clear-wrapper:before {
686
+ left: auto;
687
+ right: 3px;
674
688
  }
675
689
  .so-input.so-input-rtl.so-input-group > span:first-child,
676
690
  .so-input.so-input-rtl.so-input-group > i:first-child {
@@ -727,5 +741,4 @@ textarea.so-input-textarea-resize {
727
741
  }
728
742
  .so-inputBorder-rtl {
729
743
  direction: rtl;
730
- text-align: right;
731
744
  }
@@ -125,7 +125,10 @@ function (_Component) {
125
125
  if (!this.container) return;
126
126
 
127
127
  if (this.container === (0, _popContainer.default)()) {
128
- this.container.removeChild(this.element);
128
+ // this.container.removeChild(this.element)
129
+ if (this.element && this.element.parentElement) {
130
+ this.element.parentElement.removeChild(this.element);
131
+ }
129
132
  } else {
130
133
  this.container.parentElement.removeChild(this.container);
131
134
  }
@@ -1,5 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { ReactNode } from 'react'
3
+ import { StandardProps } from '../@types/common'
4
+
3
5
 
4
6
  type SpinName = 'default' |
5
7
  'chasing-dots' |
@@ -19,7 +21,7 @@ declare class Spin extends React.Component<SpinProps, {}> {
19
21
  render(): JSX.Element;
20
22
  }
21
23
 
22
- export interface SpinProps {
24
+ export interface SpinProps extends StandardProps{
23
25
 
24
26
  /**
25
27
  * color
@@ -532,6 +532,16 @@ export interface TableProps<Value, TRD> extends StandardProps, ListItemStandardP
532
532
  * default: false
533
533
  */
534
534
  hideHeader?: boolean
535
+
536
+ /**
537
+ * make all columns scalable
538
+ *
539
+ * 使所有列可伸缩
540
+ *
541
+ * default: false
542
+ */
543
+ columnResizable?: boolean
544
+
535
545
  }
536
546
 
537
547
  declare class Table<Value = any, TRD = TableRowData> extends React.Component<TableProps<Value, TRD>, {}> {
@@ -144,12 +144,15 @@ function (_PureComponent) {
144
144
 
145
145
  if (onClear && result.length > 0 && disabled !== true) {
146
146
  /* eslint-disable */
147
- return _react.default.createElement("a", {
147
+ return _react.default.createElement("div", {
148
+ key: "clear",
149
+ onClick: onClear,
150
+ className: (0, _styles.treeSelectClass)('close-warpper')
151
+ }, _react.default.createElement("a", {
148
152
  tabIndex: -1,
149
153
  "data-role": "close",
150
- className: (0, _styles.treeSelectClass)('indicator', 'close'),
151
- onClick: onClear
152
- });
154
+ className: (0, _styles.treeSelectClass)('indicator', 'close')
155
+ }));
153
156
  /* eslint-enable */
154
157
  }
155
158
 
@@ -165,6 +165,20 @@
165
165
  -ms-flex-negative: 1;
166
166
  flex-shrink: 1;
167
167
  }
168
+ .so-treeSelect-close-warpper {
169
+ position: absolute;
170
+ top: 50%;
171
+ right: 7px;
172
+ display: block;
173
+ width: 18px;
174
+ height: 18px;
175
+ -webkit-transform: translate(0, -50%);
176
+ -ms-transform: translate(0, -50%);
177
+ transform: translate(0, -50%);
178
+ }
179
+ .so-treeSelect-close-warpper .so-treeSelect-indicator {
180
+ right: 2px;
181
+ }
168
182
  .so-treeSelect-indicator {
169
183
  position: absolute;
170
184
  top: 50%;
@@ -178,8 +192,12 @@
178
192
  transform: translate(0, -50%);
179
193
  }
180
194
  .so-treeSelect-indicator.so-treeSelect-close {
195
+ -webkit-box-sizing: content-box;
196
+ box-sizing: content-box;
197
+ border-left: 1px solid #fff;
198
+ border-right: 1px solid #fff;
181
199
  display: none;
182
- background: var(--gray-400-darken-20, #94a1ae);
200
+ background: var(--select-clear-bg-color, #94a1ae);
183
201
  border-radius: 6px;
184
202
  }
185
203
  .so-treeSelect-indicator.so-treeSelect-close:hover {
@@ -206,6 +224,12 @@
206
224
  -ms-transform: rotate(315deg);
207
225
  transform: rotate(315deg);
208
226
  }
227
+ .so-treeSelect-indicator.so-treeSelect-caret {
228
+ -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
229
+ transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
230
+ transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
231
+ transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
232
+ }
209
233
  .so-treeSelect-indicator.so-treeSelect-caret svg {
210
234
  fill: var(--gray-500, #adb5bd);
211
235
  vertical-align: top;
@@ -393,14 +417,14 @@ span.so-treeSelect-option {
393
417
  padding-left: 6px;
394
418
  padding-right: 34px;
395
419
  }
396
- .so-treeSelect-multiple .so-treeSelect-result:not(.so-treeSelect-empty) a.so-treeSelect-close.so-treeSelect-indicator {
420
+ .so-treeSelect-multiple .so-treeSelect-result:not(.so-treeSelect-empty) a.so-treeSelect-close-wrapper {
397
421
  right: 17px;
398
422
  }
399
423
  .so-treeSelect-multiple .so-treeSelect-compressed:not(.so-treeSelect-empty) {
400
424
  padding-left: 6px;
401
425
  padding-right: 24px;
402
426
  }
403
- .so-treeSelect-multiple .so-treeSelect-compressed:not(.so-treeSelect-empty) a.so-treeSelect-close.so-treeSelect-indicator {
427
+ .so-treeSelect-multiple .so-treeSelect-compressed:not(.so-treeSelect-empty) a.so-treeSelect-close-wrapper {
404
428
  right: 7px;
405
429
  }
406
430
  .so-treeSelect-large.so-treeSelect-multiple .so-treeSelect-result:not(.so-treeSelect-empty) {
@@ -452,8 +476,8 @@ span.so-treeSelect-option {
452
476
  left: 7px;
453
477
  right: auto;
454
478
  }
455
- .so-treeSelect.so-treeSelect-rtl .so-treeSelect-multiple .so-treeSelect-result a.so-treeSelect-close.so-treeSelect-indicator,
456
- .so-treeSelect.so-input-rtl .so-treeSelect-multiple .so-treeSelect-result a.so-treeSelect-close.so-treeSelect-indicator {
479
+ .so-treeSelect.so-treeSelect-rtl .so-treeSelect-multiple .so-treeSelect-result a.so-treeSelect-close-wrapper,
480
+ .so-treeSelect.so-input-rtl .so-treeSelect-multiple .so-treeSelect-result a.so-treeSelect-close-wrapper {
457
481
  right: auto;
458
482
  left: 17px;
459
483
  }
package/css/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import './styles/normalize.less'
3
3
  import * as utils from './utils'
4
4
 
5
- export default { utils, version: '1.8.0-rc.4' }
5
+ export default { utils, version: '1.8.0' }
6
6
  export { utils }
7
7
  export { setLocale } from './locale'
8
8
  export { color, style } from './utils/expose'
package/css/index.js CHANGED
@@ -222,6 +222,6 @@ exports.Upload = _Upload.default;
222
222
  // Created by scripts/src-index.js.
223
223
  var _default = {
224
224
  utils: utils,
225
- version: '1.8.0-rc.4'
225
+ version: '1.8.0'
226
226
  };
227
227
  exports.default = _default;
@@ -229,7 +229,7 @@
229
229
  font-size: var(--form-tip-font-size, 13px);
230
230
  }
231
231
  .so-expose-form-label {
232
- text-align: var(--form-item-label-align, 'left');
232
+ text-align: var(--form-item-label-align, start);
233
233
  }
234
234
  .so-expose-form-error {
235
235
  line-height: var(--form-item-error-line-height, var(--common-line-height, 1.42857143));
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.removeZoomListener = exports.addZoomListener = void 0;
5
+ var listeners = new Set();
6
+
7
+ var addZoomListener = function addZoomListener(cb) {
8
+ listeners.add(cb);
9
+ };
10
+
11
+ exports.addZoomListener = addZoomListener;
12
+
13
+ var removeZoomListener = function removeZoomListener(cb) {
14
+ listeners.delete(cb);
15
+ };
16
+
17
+ exports.removeZoomListener = removeZoomListener;
18
+
19
+ var dispatch = function dispatch(data) {
20
+ listeners.forEach(function (cb) {
21
+ cb(data);
22
+ });
23
+ };
24
+
25
+ var updatePixelRatio = function updatePixelRatio(e) {
26
+ var pr = window.devicePixelRatio;
27
+
28
+ if (e) {
29
+ dispatch(pr);
30
+ }
31
+
32
+ window.matchMedia("(resolution: " + pr + "dppx)").addEventListener('change', updatePixelRatio, {
33
+ once: true
34
+ });
35
+ };
36
+
37
+ updatePixelRatio();