shineout 1.8.0-beta.2 → 1.8.0-rc.4

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 (431) hide show
  1. package/css/AnimationList/AbsoluteList.js +45 -21
  2. package/css/Form/Field.js +4 -8
  3. package/css/Form/FieldSet.js +0 -1
  4. package/css/Form/index.d.ts +0 -1
  5. package/css/Menu/Root.js +5 -0
  6. package/css/Menu/styles/menu.css +64 -27
  7. package/css/Scroll/Bar.js +17 -4
  8. package/css/Scroll/Scroll.js +6 -3
  9. package/css/Scroll/styles/scroll.css +29 -8
  10. package/css/Select/BoxList.js +13 -17
  11. package/css/Select/Input.js +93 -6
  12. package/css/Select/Result.js +6 -3
  13. package/css/Select/Select.js +6 -3
  14. package/css/Select/index.d.ts +8 -0
  15. package/css/Select/styles/select.css +128 -46
  16. package/css/Spin/styles/spin.css +1 -0
  17. package/css/Table/SeperateTable.js +1 -0
  18. package/css/Table/Table.js +3 -1
  19. package/css/Table/styles/table.css +123 -1
  20. package/css/TreeSelect/styles/treeSelect.css +1 -0
  21. package/css/hoc/styles/hidable.css +0 -12
  22. package/css/index.d.ts +1 -1
  23. package/css/index.js +1 -1
  24. package/css/utils/dom/element.js +6 -1
  25. package/css/utils/dom/translate.js +16 -3
  26. package/dist/shineout.js +371 -233
  27. package/dist/shineout.js.map +1 -1
  28. package/dist/shineout.min.js +1 -1
  29. package/dist/theme.antd.css +1 -1
  30. package/dist/theme.antd2.css +1 -1
  31. package/dist/theme.default.css +1 -1
  32. package/dist/theme.shineout.css +1 -1
  33. package/es/Alert/index.js +107 -127
  34. package/es/Alert/styles/index.js +4 -3
  35. package/es/AnimationList/AbsoluteList.js +207 -258
  36. package/es/AnimationList/LazyList.js +92 -120
  37. package/es/AnimationList/List.js +23 -43
  38. package/es/AnimationList/index.js +14 -19
  39. package/es/AnimationList/styles/index.js +4 -3
  40. package/es/Breadcrumb/index.js +69 -77
  41. package/es/Breadcrumb/styles/index.js +4 -3
  42. package/es/Button/Button.js +74 -91
  43. package/es/Button/Group.js +28 -42
  44. package/es/Button/Once.js +23 -39
  45. package/es/Button/index.js +10 -7
  46. package/es/Button/styles/index.js +4 -3
  47. package/es/Card/Accordion.js +45 -58
  48. package/es/Card/Body.js +42 -55
  49. package/es/Card/Card.js +79 -85
  50. package/es/Card/Footer.js +15 -38
  51. package/es/Card/Header.js +34 -52
  52. package/es/Card/Submit.js +33 -51
  53. package/es/Card/context.js +16 -22
  54. package/es/Card/index.js +19 -16
  55. package/es/Card/styles/index.js +4 -3
  56. package/es/CardGroup/CardGroup.js +69 -93
  57. package/es/CardGroup/Item.js +43 -61
  58. package/es/CardGroup/context.js +10 -12
  59. package/es/CardGroup/index.js +10 -7
  60. package/es/CardGroup/styles/index.js +4 -3
  61. package/es/Carousel/Item.js +17 -31
  62. package/es/Carousel/index.js +123 -156
  63. package/es/Carousel/styles/index.js +4 -3
  64. package/es/Cascader/Cascader.js +346 -397
  65. package/es/Cascader/FilterList.js +142 -185
  66. package/es/Cascader/Input.js +79 -102
  67. package/es/Cascader/List.js +41 -66
  68. package/es/Cascader/Node.js +110 -153
  69. package/es/Cascader/Result.js +232 -289
  70. package/es/Cascader/filter.js +61 -92
  71. package/es/Cascader/index.js +18 -13
  72. package/es/Cascader/styles/index.js +4 -3
  73. package/es/Checkbox/CheckItem.js +154 -168
  74. package/es/Checkbox/Checkbox.js +3 -2
  75. package/es/Checkbox/Group.js +85 -106
  76. package/es/Checkbox/context.js +10 -12
  77. package/es/Checkbox/index.js +21 -14
  78. package/es/Checkbox/styles/index.js +4 -3
  79. package/es/DataList/BaseItem.js +21 -39
  80. package/es/DataList/Extra.js +17 -33
  81. package/es/DataList/List.js +140 -166
  82. package/es/DataList/Meta.js +74 -109
  83. package/es/DataList/Pagination.js +10 -9
  84. package/es/DataList/index.js +19 -13
  85. package/es/DataList/styles/index.js +4 -3
  86. package/es/DatePicker/Container.js +449 -468
  87. package/es/DatePicker/Day.js +258 -265
  88. package/es/DatePicker/Icon.js +20 -34
  89. package/es/DatePicker/Month.js +79 -101
  90. package/es/DatePicker/Picker.js +83 -110
  91. package/es/DatePicker/Quick.js +39 -52
  92. package/es/DatePicker/Range.js +192 -241
  93. package/es/DatePicker/Text.js +91 -103
  94. package/es/DatePicker/Time.js +147 -165
  95. package/es/DatePicker/TimeScroll.js +116 -148
  96. package/es/DatePicker/Year.js +53 -74
  97. package/es/DatePicker/index.js +18 -16
  98. package/es/DatePicker/paramUtils.js +58 -92
  99. package/es/DatePicker/styles/index.js +4 -3
  100. package/es/DatePicker/utils.js +198 -189
  101. package/es/DatePicker/value.js +98 -139
  102. package/es/Datum/Form.js +282 -333
  103. package/es/Datum/List.js +201 -319
  104. package/es/Datum/Tree.js +239 -298
  105. package/es/Datum/hoc.js +69 -104
  106. package/es/Datum/index.js +8 -7
  107. package/es/Datum/types.js +25 -20
  108. package/es/Divider/index.js +32 -50
  109. package/es/Divider/styles/index.js +4 -3
  110. package/es/Drawer/index.js +9 -14
  111. package/es/Dropdown/Item.js +43 -56
  112. package/es/Dropdown/index.js +259 -273
  113. package/es/Dropdown/styles/index.js +4 -3
  114. package/es/EditableArea/EditableArea.js +136 -157
  115. package/es/EditableArea/index.js +15 -8
  116. package/es/EditableArea/styles/index.js +4 -3
  117. package/es/Form/Block.js +57 -83
  118. package/es/Form/BlockField.js +17 -32
  119. package/es/Form/Field.js +35 -59
  120. package/es/Form/FieldError.js +21 -27
  121. package/es/Form/FieldSet.js +155 -214
  122. package/es/Form/Flow.js +32 -51
  123. package/es/Form/Form.js +145 -181
  124. package/es/Form/Item.js +166 -181
  125. package/es/Form/Loop.js +146 -202
  126. package/es/Form/formButton.js +42 -58
  127. package/es/Form/formContext.js +95 -104
  128. package/es/Form/index.d.ts +0 -1
  129. package/es/Form/index.js +45 -40
  130. package/es/Form/inputable.js +292 -368
  131. package/es/Form/mode.js +9 -15
  132. package/es/Form/styles/index.js +5 -4
  133. package/es/Gap/index.js +47 -71
  134. package/es/Gap/styles/index.js +4 -3
  135. package/es/Gap/support.js +14 -11
  136. package/es/Grid/index.js +58 -88
  137. package/es/Grid/utils.js +58 -57
  138. package/es/Icon/Icon.js +42 -43
  139. package/es/Icon/index.js +22 -39
  140. package/es/Icon/styles/index.js +4 -3
  141. package/es/Image/Gallery.js +113 -128
  142. package/es/Image/Group.js +36 -60
  143. package/es/Image/Image.js +153 -227
  144. package/es/Image/Magnify.js +94 -123
  145. package/es/Image/events.js +26 -29
  146. package/es/Image/index.js +9 -6
  147. package/es/Image/styles/index.js +4 -3
  148. package/es/Input/Group.js +11 -17
  149. package/es/Input/Input.js +134 -158
  150. package/es/Input/Number.js +175 -199
  151. package/es/Input/Password.js +31 -54
  152. package/es/Input/clear.js +25 -41
  153. package/es/Input/index.js +35 -23
  154. package/es/Input/styles/index.js +4 -3
  155. package/es/Lazyload/index.js +42 -63
  156. package/es/Lazyload/styles/index.js +4 -3
  157. package/es/Menu/Item.js +236 -275
  158. package/es/Menu/List.js +67 -75
  159. package/es/Menu/Root.js +337 -372
  160. package/es/Menu/context.js +12 -18
  161. package/es/Menu/index.js +5 -3
  162. package/es/Menu/styles/index.js +4 -3
  163. package/es/Menu/styles/menu.less +117 -51
  164. package/es/Message/Container.js +119 -155
  165. package/es/Message/index.js +30 -42
  166. package/es/Message/messager.js +33 -29
  167. package/es/Message/styles/index.js +4 -3
  168. package/es/Modal/Modal.js +60 -80
  169. package/es/Modal/Panel.js +234 -258
  170. package/es/Modal/context.js +15 -15
  171. package/es/Modal/events.js +182 -213
  172. package/es/Modal/index.js +14 -12
  173. package/es/Modal/styles/index.js +4 -3
  174. package/es/Pagination/Item.js +32 -46
  175. package/es/Pagination/Jumper.js +68 -79
  176. package/es/Pagination/Links.js +82 -110
  177. package/es/Pagination/Next.js +31 -52
  178. package/es/Pagination/PageSizeList.js +40 -57
  179. package/es/Pagination/Pagination.js +54 -78
  180. package/es/Pagination/Prev.js +30 -49
  181. package/es/Pagination/Simple.js +18 -32
  182. package/es/Pagination/index.js +41 -68
  183. package/es/Pagination/styles/index.js +4 -3
  184. package/es/Popover/Confirm.js +64 -107
  185. package/es/Popover/Panel.js +231 -284
  186. package/es/Popover/context.js +12 -15
  187. package/es/Popover/events.js +86 -80
  188. package/es/Popover/index.js +14 -12
  189. package/es/Popover/styles/index.js +4 -3
  190. package/es/Progress/Circle.js +59 -70
  191. package/es/Progress/Line.js +39 -51
  192. package/es/Progress/Popup.js +24 -42
  193. package/es/Progress/analyzeColor.js +9 -18
  194. package/es/Progress/index.js +15 -13
  195. package/es/Progress/styles/index.js +4 -3
  196. package/es/Radio/Group.js +94 -105
  197. package/es/Radio/Radio.js +3 -2
  198. package/es/Radio/index.js +17 -15
  199. package/es/Radio/styles/index.js +1 -1
  200. package/es/Rate/Rate.js +167 -216
  201. package/es/Rate/index.js +10 -17
  202. package/es/Rate/styles/index.js +4 -3
  203. package/es/Rule/convert.js +57 -48
  204. package/es/Rule/index.js +40 -63
  205. package/es/Rule/length.js +38 -53
  206. package/es/Rule/regExp.js +14 -23
  207. package/es/Rule/required.js +18 -26
  208. package/es/Rule/styles/index.js +1 -1
  209. package/es/Rule/type.js +18 -26
  210. package/es/Scroll/Bar.js +124 -144
  211. package/es/Scroll/Scroll.js +221 -277
  212. package/es/Scroll/context.js +13 -20
  213. package/es/Scroll/fixedLength.js +24 -33
  214. package/es/Scroll/index.js +55 -89
  215. package/es/Scroll/styles/index.js +4 -3
  216. package/es/Scroll/styles/scroll.less +32 -6
  217. package/es/Select/BoxList.js +190 -219
  218. package/es/Select/BoxOption.js +38 -64
  219. package/es/Select/FlexBox.js +75 -107
  220. package/es/Select/FlexResult.js +49 -65
  221. package/es/Select/Input.js +181 -136
  222. package/es/Select/More.js +121 -124
  223. package/es/Select/Option.js +52 -73
  224. package/es/Select/OptionList.js +200 -236
  225. package/es/Select/OptionTree.js +96 -111
  226. package/es/Select/Result.js +274 -297
  227. package/es/Select/Select.js +494 -517
  228. package/es/Select/filter.js +148 -221
  229. package/es/Select/group.js +45 -74
  230. package/es/Select/index.d.ts +8 -0
  231. package/es/Select/index.js +31 -32
  232. package/es/Select/styles/index.js +4 -3
  233. package/es/Select/styles/select.less +124 -45
  234. package/es/Slider/Container.js +132 -145
  235. package/es/Slider/Indicator.js +13 -28
  236. package/es/Slider/Slider.js +103 -132
  237. package/es/Slider/index.js +8 -5
  238. package/es/Slider/styles/index.js +4 -3
  239. package/es/Slider/utils.js +30 -26
  240. package/es/Spin/Multiple.js +109 -153
  241. package/es/Spin/Simple.js +22 -33
  242. package/es/Spin/Spin.js +29 -29
  243. package/es/Spin/index.js +84 -66
  244. package/es/Spin/styles/index.js +30 -27
  245. package/es/Spin/styles/spin.less +1 -0
  246. package/es/Sticky/context.js +10 -12
  247. package/es/Sticky/index.js +194 -255
  248. package/es/Sticky/styles/index.js +1 -1
  249. package/es/Switch/Switch.js +3 -2
  250. package/es/Switch/index.js +14 -8
  251. package/es/Table/Checkbox.js +39 -68
  252. package/es/Table/CheckboxAll.js +64 -121
  253. package/es/Table/Colgroup.js +47 -72
  254. package/es/Table/Expand.js +43 -63
  255. package/es/Table/SeperateTable.js +445 -594
  256. package/es/Table/SimpleTable.js +136 -215
  257. package/es/Table/Sorter.js +62 -83
  258. package/es/Table/Table.js +159 -157
  259. package/es/Table/Tbody.js +176 -240
  260. package/es/Table/Td.js +130 -169
  261. package/es/Table/Thead.js +177 -206
  262. package/es/Table/Tr.js +205 -249
  263. package/es/Table/TreeExpand.js +116 -151
  264. package/es/Table/context.js +15 -15
  265. package/es/Table/fixedAuto.js +59 -82
  266. package/es/Table/index.js +228 -309
  267. package/es/Table/resizable.js +56 -89
  268. package/es/Table/select.js +215 -238
  269. package/es/Table/styles/index.js +4 -3
  270. package/es/Table/styles/table.less +144 -2
  271. package/es/Tabs/Header.js +160 -203
  272. package/es/Tabs/Link.js +28 -46
  273. package/es/Tabs/Panel.js +33 -49
  274. package/es/Tabs/Tab.js +79 -97
  275. package/es/Tabs/Tabs.js +177 -211
  276. package/es/Tabs/Wrapper.js +17 -37
  277. package/es/Tabs/index.js +10 -7
  278. package/es/Tabs/styles/index.js +4 -3
  279. package/es/Tag/Input.js +54 -70
  280. package/es/Tag/Tag.js +156 -198
  281. package/es/Tag/index.js +8 -5
  282. package/es/Tag/styles/index.js +4 -3
  283. package/es/Textarea/Textarea.js +118 -139
  284. package/es/Textarea/index.js +19 -10
  285. package/es/Tooltip/Container.js +127 -140
  286. package/es/Tooltip/events.js +55 -49
  287. package/es/Tooltip/index.js +8 -5
  288. package/es/Tooltip/styles/index.js +4 -3
  289. package/es/Transfer/Card.js +177 -212
  290. package/es/Transfer/Transfer.js +153 -160
  291. package/es/Transfer/btns.js +80 -97
  292. package/es/Transfer/context.js +3 -2
  293. package/es/Transfer/filter.js +35 -65
  294. package/es/Transfer/index.js +13 -9
  295. package/es/Transfer/item.js +41 -66
  296. package/es/Transfer/select.js +16 -15
  297. package/es/Transfer/styles/index.js +4 -3
  298. package/es/Tree/Checkbox.js +50 -72
  299. package/es/Tree/Content.js +95 -136
  300. package/es/Tree/List.js +53 -82
  301. package/es/Tree/Node.js +202 -237
  302. package/es/Tree/Root.js +19 -23
  303. package/es/Tree/Tree.js +197 -262
  304. package/es/Tree/index.js +9 -6
  305. package/es/Tree/styles/index.js +4 -3
  306. package/es/Tree/toggle.js +51 -89
  307. package/es/TreeSelect/Input.js +60 -73
  308. package/es/TreeSelect/Result.js +181 -213
  309. package/es/TreeSelect/TreeSelect.js +312 -327
  310. package/es/TreeSelect/datum.js +44 -56
  311. package/es/TreeSelect/filter.js +96 -134
  312. package/es/TreeSelect/index.js +23 -15
  313. package/es/TreeSelect/styles/index.js +4 -3
  314. package/es/TreeSelect/styles/treeSelect.less +1 -0
  315. package/es/TreeSelect/tiled.js +106 -143
  316. package/es/Upload/Dragger.js +39 -63
  317. package/es/Upload/Drop.js +57 -79
  318. package/es/Upload/File.js +48 -61
  319. package/es/Upload/FileInput.js +40 -53
  320. package/es/Upload/Image.js +115 -158
  321. package/es/Upload/ImageFile.js +43 -63
  322. package/es/Upload/ImageResult.js +114 -139
  323. package/es/Upload/Progress.js +105 -117
  324. package/es/Upload/RemoveConfirm.js +42 -58
  325. package/es/Upload/Result.js +58 -73
  326. package/es/Upload/Upload.js +490 -649
  327. package/es/Upload/accept.js +13 -33
  328. package/es/Upload/context.js +10 -12
  329. package/es/Upload/index.js +20 -16
  330. package/es/Upload/request.js +46 -48
  331. package/es/Upload/styles/index.js +4 -3
  332. package/es/component.js +24 -45
  333. package/es/config.js +19 -27
  334. package/es/context/implementation.js +94 -132
  335. package/es/context/index.js +4 -3
  336. package/es/hoc/coin.js +81 -118
  337. package/es/hoc/config.js +17 -31
  338. package/es/hoc/delay.js +55 -99
  339. package/es/hoc/draggable.js +80 -90
  340. package/es/hoc/fetch.js +33 -56
  341. package/es/hoc/hidable.js +98 -119
  342. package/es/hoc/inputBorder.js +158 -158
  343. package/es/hoc/moveable.js +96 -124
  344. package/es/hoc/pagable.js +55 -74
  345. package/es/hoc/resizable.js +100 -132
  346. package/es/hoc/styles/hidable.less +10 -10
  347. package/es/hoc/styles/index.js +8 -7
  348. package/es/hoc/trim.js +32 -54
  349. package/es/icons/Caret.js +15 -14
  350. package/es/icons/index.js +85 -31
  351. package/es/index.d.ts +1 -1
  352. package/es/index.js +57 -58
  353. package/es/locale/en_US.js +30 -9
  354. package/es/locale/index.js +14 -13
  355. package/es/locale/zh-CN.js +17 -9
  356. package/es/styles/expose.js +4 -3
  357. package/es/styles/index.js +1 -1
  358. package/es/styles/themes/antd.less +1 -0
  359. package/es/styles/themes/bootstrap.less +1 -0
  360. package/es/styles/themes/shineout.less +2 -0
  361. package/es/utils/accept.js +12 -15
  362. package/es/utils/classname.js +12 -23
  363. package/es/utils/cleanProps.js +21 -9
  364. package/es/utils/clone.js +27 -34
  365. package/es/utils/color.js +276 -310
  366. package/es/utils/css-accessors.js +45 -94
  367. package/es/utils/dom/detect.js +29 -29
  368. package/es/utils/dom/document.js +19 -23
  369. package/es/utils/dom/element.js +107 -138
  370. package/es/utils/dom/getDataset.js +9 -9
  371. package/es/utils/dom/isDOMElement.js +5 -3
  372. package/es/utils/dom/normalizeWheel.js +28 -32
  373. package/es/utils/dom/popContainer.js +13 -12
  374. package/es/utils/dom/popover.js +59 -79
  375. package/es/utils/dom/ready.js +6 -5
  376. package/es/utils/dom/translate.js +23 -10
  377. package/es/utils/errors.js +28 -47
  378. package/es/utils/expose.js +58 -97
  379. package/es/utils/flat.js +107 -122
  380. package/es/utils/func.js +20 -38
  381. package/es/utils/hash.js +20 -24
  382. package/es/utils/index.js +49 -24
  383. package/es/utils/is.js +70 -91
  384. package/es/utils/lazyload.js +86 -104
  385. package/es/utils/notification.js +20 -34
  386. package/es/utils/numbers.js +51 -61
  387. package/es/utils/objects.js +140 -221
  388. package/es/utils/proptypes.js +34 -21
  389. package/es/utils/shallowEqual.js +42 -46
  390. package/es/utils/strings.js +32 -50
  391. package/es/utils/transform.js +9 -24
  392. package/es/utils/tree.js +63 -78
  393. package/es/utils/uid.js +17 -14
  394. package/es/utils/validate/index.js +50 -71
  395. package/es/utils/validate/isJson.js +10 -7
  396. package/es/utils/validate/nullable.js +9 -10
  397. package/es/utils/validate/range.js +19 -22
  398. package/es/utils/validate/rangeLength.js +16 -19
  399. package/es/utils/validate/regExp.js +10 -10
  400. package/es/utils/validate/required.js +8 -11
  401. package/es/utils/validate/type.js +59 -56
  402. package/es/utils/vars-inject.js +4248 -3420
  403. package/lib/AnimationList/AbsoluteList.js +45 -21
  404. package/lib/Form/Field.js +4 -8
  405. package/lib/Form/FieldSet.js +0 -1
  406. package/lib/Form/index.d.ts +0 -1
  407. package/lib/Menu/Root.js +5 -0
  408. package/lib/Menu/styles/menu.less +117 -51
  409. package/lib/Scroll/Bar.js +17 -4
  410. package/lib/Scroll/Scroll.js +6 -3
  411. package/lib/Scroll/styles/scroll.less +32 -6
  412. package/lib/Select/BoxList.js +13 -17
  413. package/lib/Select/Input.js +93 -6
  414. package/lib/Select/Result.js +6 -3
  415. package/lib/Select/Select.js +6 -3
  416. package/lib/Select/index.d.ts +8 -0
  417. package/lib/Select/styles/select.less +124 -45
  418. package/lib/Spin/styles/spin.less +1 -0
  419. package/lib/Table/SeperateTable.js +1 -0
  420. package/lib/Table/Table.js +3 -1
  421. package/lib/Table/styles/table.less +144 -2
  422. package/lib/TreeSelect/styles/treeSelect.less +1 -0
  423. package/lib/hoc/styles/hidable.less +10 -10
  424. package/lib/index.d.ts +1 -1
  425. package/lib/index.js +1 -1
  426. package/lib/styles/themes/antd.less +1 -0
  427. package/lib/styles/themes/bootstrap.less +1 -0
  428. package/lib/styles/themes/shineout.less +2 -0
  429. package/lib/utils/dom/element.js +6 -1
  430. package/lib/utils/dom/translate.js +16 -3
  431. package/package.json +2 -3
@@ -50,6 +50,16 @@ function initRoot() {
50
50
  document.body.appendChild(root);
51
51
  }
52
52
 
53
+ var getOverDocStyle = function getOverDocStyle() {
54
+ return (0, _config.isRTL)() ? {
55
+ left: 0,
56
+ right: 'auto'
57
+ } : {
58
+ right: 0,
59
+ left: 'auto'
60
+ };
61
+ };
62
+
53
63
  var listPosition = ['drop-down', 'drop-up'];
54
64
  var pickerPosition = ['left-bottom', 'left-top', 'right-bottom', 'right-top'];
55
65
  var dropdownPosition = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];
@@ -121,7 +131,8 @@ function _default(List) {
121
131
  var position = this.props.position;
122
132
  var rtl = (0, _config.isRTL)();
123
133
  var style = {
124
- position: 'absolute'
134
+ position: 'absolute',
135
+ right: 'auto'
125
136
  };
126
137
 
127
138
  if (fixed) {
@@ -137,13 +148,8 @@ function _default(List) {
137
148
  position = (0, _strings.getRTLPosition)(position);
138
149
  }
139
150
 
140
- var containerScroll = _document.docScroll;
141
- var containerRect = {
142
- left: 0,
143
- top: 0,
144
- right: 0,
145
- bottom: 0
146
- };
151
+ var containerScroll;
152
+ var containerRect;
147
153
  var container = this.container;
148
154
 
149
155
  if (typeof absolute === 'function' && container) {
@@ -152,6 +158,22 @@ function _default(List) {
152
158
  left: container.scrollLeft,
153
159
  top: container.scrollTop
154
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
+ }
155
177
  }
156
178
 
157
179
  this.containerRect = containerRect;
@@ -159,10 +181,6 @@ function _default(List) {
159
181
  if (listPosition.includes(position)) {
160
182
  style.left = rect.left - containerRect.left + containerScroll.left;
161
183
 
162
- if (rtl) {
163
- style.left += rect.width;
164
- }
165
-
166
184
  if (position === 'drop-down') {
167
185
  style.top = rect.top - containerRect.top + rect.height + containerScroll.top;
168
186
  } else {
@@ -188,6 +206,11 @@ function _default(List) {
188
206
  }
189
207
  }
190
208
 
209
+ if (rtl && style.left) {
210
+ style.right = containerRect.width - rect.width - style.left;
211
+ style.left = 'auto';
212
+ }
213
+
191
214
  return style;
192
215
  };
193
216
 
@@ -243,7 +266,14 @@ function _default(List) {
243
266
  left: 0,
244
267
  width: 0
245
268
  };
246
- var overdoc = left - containerRect.left + pos.width > (containerRect.width || _document.docSize.width);
269
+ var overdoc;
270
+
271
+ if ((0, _config.isRTL)()) {
272
+ overdoc = pos.left < containerRect.left;
273
+ } else {
274
+ overdoc = left - containerRect.left + pos.width > (containerRect.width || _document.docSize.width);
275
+ }
276
+
247
277
  if (this.state.overdoc === overdoc) return;
248
278
  this.ajustdoc = true;
249
279
  this.setState({
@@ -273,10 +303,7 @@ function _default(List) {
273
303
  props = (0, _objectWithoutPropertiesLoose2.default)(_this$props4, ["parentElement", "absolute", "focus", "rootClass", "position", "scrollLeft", "scrollTop", "scrollElement", "style", "zIndex", "getResetPosition", "autoAdapt"]);
274
304
  var parsed = parseInt(zIndex, 10);
275
305
  if (!Number.isNaN(parsed)) style.zIndex = parsed;
276
- var mergeStyle = Object.assign({}, style, this.state.overdoc ? {
277
- right: 0,
278
- left: 'auto'
279
- } : undefined);
306
+ var mergeStyle = Object.assign({}, style, this.state.overdoc ? getOverDocStyle() : undefined);
280
307
  return _react.default.createElement(List, (0, _extends2.default)({
281
308
  getRef: this.handleRef
282
309
  }, props, {
@@ -321,10 +348,7 @@ function _default(List) {
321
348
  style = _ref.style;
322
349
 
323
350
  this.element.className = mergeClass;
324
- var mergeStyle = Object.assign({}, style, props.style, this.state.overdoc ? {
325
- right: 0,
326
- left: 'auto'
327
- } : undefined);
351
+ var mergeStyle = Object.assign({}, style, props.style, this.state.overdoc ? getOverDocStyle() : undefined);
328
352
  if (zIndex || typeof zIndex === 'number') mergeStyle.zIndex = parseInt(zIndex, 10);
329
353
  return _reactDom.default.createPortal(_react.default.createElement(List, (0, _extends2.default)({
330
354
  getRef: this.handleRef
package/css/Form/Field.js CHANGED
@@ -52,15 +52,13 @@ 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,
56
- disabled = _this$props.disabled;
55
+ error = _this$props.error;
57
56
 
58
57
  if (typeof children === 'function') {
59
58
  return children({
60
59
  value: value,
61
60
  error: error,
62
- onChange: this.handleChange,
63
- disabled: disabled
61
+ onChange: this.handleChange
64
62
  });
65
63
  }
66
64
 
@@ -68,8 +66,7 @@ function (_Component) {
68
66
  return (0, _react.cloneElement)(children, {
69
67
  value: value,
70
68
  error: error,
71
- onChange: this.handleChange,
72
- disabled: disabled
69
+ onChange: this.handleChange
73
70
  });
74
71
  }
75
72
 
@@ -85,8 +82,7 @@ Field.propTypes = {
85
82
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.element]).isRequired,
86
83
  error: _propTypes.default.object,
87
84
  onChange: _propTypes.default.func.isRequired,
88
- value: _propTypes.default.any,
89
- disabled: _propTypes.default.bool
85
+ value: _propTypes.default.any
90
86
  };
91
87
  Field.defaultProps = {
92
88
  cache: false
@@ -193,7 +193,6 @@ function (_Component) {
193
193
  result.push(empty(this.handleInsert.bind(this, 0)));
194
194
  } else {
195
195
  var errorList = (Array.isArray(errors) ? errors : [errors]).filter(Boolean);
196
- console.log(errorList);
197
196
  values.forEach(function (v, i) {
198
197
  result.push(_react.default.createElement(Provider, {
199
198
  key: i,
@@ -28,7 +28,6 @@ export interface FieldChildrenFunc<Value = any> {
28
28
  value: Value;
29
29
  error: Error;
30
30
  onChange: (value: Value) => void;
31
- disabled: boolean;
32
31
  }
33
32
 
34
33
  export interface FormProps<Value> extends StandardProps {
package/css/Menu/Root.js CHANGED
@@ -158,6 +158,11 @@ function (_React$Component) {
158
158
  var active = this.props.active;
159
159
  var act = typeof active === 'function' ? active(data) : id === this.state.activeKey;
160
160
  if (act) this.state.activeKey = id;
161
+
162
+ if (!act && this.state.activeKey === id) {
163
+ this.state.activeKey = '';
164
+ }
165
+
161
166
  return act;
162
167
  };
163
168
 
@@ -533,48 +533,85 @@ ul.so-menu-root {
533
533
  }
534
534
  .so-menu.so-menu-rtl {
535
535
  direction: rtl;
536
- text-align: right;
537
536
  }
538
- .so-menu.so-menu-rtl:not(.so-menu-horizontal) .so-menu-active.so-menu-no-children a:before {
539
- position: absolute;
540
- top: 0;
541
- left: 0px;
542
- width: 3px;
543
- height: 100%;
544
- background: var(--primary-color, #3399ff);
545
- content: ' ';
546
- }
547
- .so-menu.so-menu-rtl:not(.so-menu-horizontal) .so-menu-active.so-menu-no-children a:after {
548
- content: none;
537
+ .so-menu.so-menu-rtl ul.so-menu-root {
538
+ margin-left: 0;
539
+ margin-right: -1px;
549
540
  }
550
- .so-menu.so-menu-rtl .so-menu-has-children:not(.so-menu-caret-solid) > .so-menu-title {
551
- padding-left: 32px;
541
+ .so-menu.so-menu-rtl .so-menu-has-children > .so-menu-title {
552
542
  padding-right: 16px;
543
+ padding-left: 32px;
553
544
  }
554
- .so-menu.so-menu-rtl .so-menu-has-children:not(.so-menu-caret-solid) > .so-menu-title:after {
545
+ .so-menu.so-menu-rtl .so-menu-has-children > .so-menu-title .so-menu-expand {
555
546
  right: auto;
556
- left: 16px;
547
+ left: 0;
548
+ }
549
+ .so-menu.so-menu-rtl .so-menu-has-children > .so-menu-title .so-menu-expand:after {
550
+ right: 14px;
557
551
  }
558
- .so-menu.so-menu-rtl .so-menu-has-children:not(.so-menu-caret-solid) > .so-menu-title:before {
552
+ .so-menu.so-menu-rtl.so-menu-inline {
553
+ border-left: solid 1px #e8e8e8;
554
+ border-right: none;
555
+ }
556
+ .so-menu.so-menu-rtl .so-menu-inline .so-menu-active.so-menu-no-children > a:before,
557
+ .so-menu.so-menu-rtl .so-menu-inline .so-menu-active.so-menu-selectable > a:before {
558
+ right: auto;
559
+ left: 0;
560
+ }
561
+ .so-menu.so-menu-rtl .so-menu-horizontal {
562
+ margin-right: 0;
563
+ }
564
+ .so-menu.so-menu-rtl .so-menu-horizontal .so-menu-root .so-menu-list {
559
565
  left: auto;
560
566
  right: 0;
561
567
  }
562
- .so-menu.so-menu-rtl .so-menu-has-children.so-menu-open > .so-menu-title:after {
568
+ .so-menu.so-menu-rtl ul.so-menu-horizontal.so-menu-root {
569
+ margin-right: 0;
570
+ }
571
+ .so-menu.so-menu-rtl.so-menu-vertical.so-menu-root {
572
+ border-left: solid 1px #e8e8e8;
573
+ border-right: none;
574
+ }
575
+ .so-menu.so-menu-rtl.so-menu-vertical .so-menu-root .so-menu-list {
576
+ left: auto;
577
+ right: 100%;
578
+ margin-left: 0;
579
+ margin-right: 3px;
580
+ }
581
+ .so-menu.so-menu-rtl.so-menu-vertical .so-menu-has-children > .so-menu-title .so-menu-expand:after,
582
+ .so-menu.so-menu-rtl.so-menu-vertical .so-menu-has-children.so-menu-open > .so-menu-title .so-menu-expand:after {
563
583
  -webkit-transform: translateY(-50%) rotate(180deg);
564
584
  -ms-transform: translateY(-50%) rotate(180deg);
565
585
  transform: translateY(-50%) rotate(180deg);
566
586
  }
567
- .so-menu.so-menu-rtl .so-menu-has-children.so-menu-caret-solid > .so-menu-title .so-menu-caret {
587
+ .so-menu.so-menu-rtl.so-menu-vertical .so-menu-in-path.so-menu-has-children > a::before {
588
+ right: auto;
589
+ left: 0;
590
+ }
591
+ .so-menu.so-menu-rtl.so-menu-dark:not(.so-menu-horizontal) .so-menu-has-children.so-menu-in-path > a:before {
592
+ left: auto;
593
+ right: 0;
594
+ }
595
+ .so-menu.so-menu-rtl.so-menu-dark.so-menu-vertical ul.so-menu-root {
568
596
  margin-right: 0;
569
- margin-left: 8px;
597
+ border-left: none;
570
598
  }
571
- .so-menu.so-menu-rtl .so-menu-has-children.so-menu-caret-hollow > .so-menu-title .so-menu-caret {
572
- margin-left: 10px;
573
- margin-right: 4px;
599
+ .so-menu.so-menu-rtl.so-menu-dark.so-menu-vertical .so-menu-has-children .so-menu-title::after {
600
+ left: 18px;
601
+ right: auto;
574
602
  }
575
- .so-menu.so-menu-rtl.so-menu-vertical .so-menu-root .so-menu-list.so-menu-vertical {
603
+ .so-menu.so-menu-rtl.so-menu-dark.so-menu-vertical .so-menu-in-path.so-menu-has-children > a::before {
576
604
  left: auto;
577
- right: 100%;
578
- margin-left: 0;
579
- margin-right: 3px;
605
+ right: 0;
606
+ }
607
+ .so-menu.so-menu-rtl .so-menu-has-children.so-menu-caret-solid > .so-menu-title {
608
+ padding-left: 16px;
609
+ }
610
+ .so-menu.so-menu-rtl .so-menu-caret-solid .so-menu-title > .so-menu-caret {
611
+ margin-right: 0;
612
+ margin-left: 8px;
613
+ }
614
+ .so-menu.so-menu-rtl .so-menu-caret-hollow .so-menu-caret {
615
+ margin-right: -4px;
616
+ margin-left: 14px;
580
617
  }
package/css/Scroll/Bar.js CHANGED
@@ -21,6 +21,8 @@ var _styles = require("./styles");
21
21
 
22
22
  var _fixedLength = _interopRequireDefault(require("./fixedLength"));
23
23
 
24
+ var _config = require("../config");
25
+
24
26
  var ScrollBar =
25
27
  /*#__PURE__*/
26
28
  function (_PureComponent) {
@@ -96,7 +98,14 @@ function (_PureComponent) {
96
98
  onScroll = _this$props.onScroll,
97
99
  barLength = _this$props.barLength;
98
100
  var value = direction === 'x' ? x : y;
99
- var newOffset = this.cacheOffset + value / (length - barLength);
101
+ var newOffset;
102
+
103
+ if (direction === 'x' && (0, _config.isRTL)()) {
104
+ newOffset = this.cacheOffset - value / (length - barLength);
105
+ } else {
106
+ newOffset = this.cacheOffset + value / (length - barLength);
107
+ }
108
+
100
109
  if (newOffset < 0) newOffset = 0;
101
110
  if (newOffset > 1) newOffset = 1;
102
111
  if (newOffset === this.cacheOffset) return;
@@ -115,11 +124,13 @@ function (_PureComponent) {
115
124
  var rect = this.handle.getBoundingClientRect();
116
125
  var newOffset = offset;
117
126
  var page = length / (scrollLength - length);
127
+ var plus = (0, _config.isRTL)() ? event.clientX < rect.left : event.clientX > rect.left;
128
+ var add = (0, _config.isRTL)() ? event.clientX > rect.left : event.clientX < rect.left;
118
129
 
119
- if (direction === 'x' && event.clientX < rect.left || direction === 'y' && event.clientY < rect.top) {
130
+ if (direction === 'x' && add || direction === 'y' && event.clientY < rect.top) {
120
131
  newOffset = offset - page;
121
132
  if (newOffset < 0) newOffset = 0;
122
- } else if (direction === 'x' && event.clientX > rect.right || direction === 'y' && event.clientY > rect.top) {
133
+ } else if (direction === 'x' && plus || direction === 'y' && event.clientY > rect.top) {
123
134
  newOffset = offset + page;
124
135
  if (newOffset > 1) newOffset = 1;
125
136
  }
@@ -137,14 +148,16 @@ function (_PureComponent) {
137
148
  forceHeight = _this$props3.forceHeight;
138
149
  var dragging = this.state.dragging;
139
150
  var show = scrollLength > length;
151
+ var rtl = (0, _config.isRTL)();
140
152
  var className = (0, _classnames.default)((0, _styles.scrollClass)('bar', direction, show && 'show', dragging && 'dragging', !forceHeight && 'padding-y'), this.props.className);
141
153
  var value = (length - barLength) * offset;
154
+ var x = rtl ? 'right' : 'left';
142
155
  var style = {};
143
156
 
144
157
  if (scrollLength > 0) {
145
158
  if (direction === 'x') {
146
159
  style.width = length / scrollLength * 100 + "%";
147
- style.left = value;
160
+ style[x] = value;
148
161
  } else {
149
162
  style.height = length / scrollLength * 100 + "%";
150
163
  style.top = value;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -29,7 +31,7 @@ var _styles = require("./styles");
29
31
 
30
32
  var _Bar = _interopRequireDefault(require("./Bar"));
31
33
 
32
- var _config = _interopRequireDefault(require("../config"));
34
+ var _config = _interopRequireWildcard(require("../config"));
33
35
 
34
36
  var _context = require("./context");
35
37
 
@@ -221,7 +223,7 @@ function (_PureComponent) {
221
223
  if (target !== this.wheelElement) return;
222
224
  var wheel = (0, _normalizeWheel.default)(event);
223
225
  this.setBaseScrollHeightRatio(wheel.pixelY);
224
- if (scrollX) this.pixelX += wheel.pixelX;
226
+ if (scrollX) this.pixelX = (0, _config.isRTL)() ? this.pixelX - wheel.pixelX : this.pixelX + wheel.pixelX;
225
227
  if (scrollY) this.pixelY += wheel.pixelY * this.baseScrollRatio;
226
228
 
227
229
  if (Math.abs(wheel.pixelX) > Math.abs(wheel.pixelY)) {
@@ -295,7 +297,8 @@ function (_PureComponent) {
295
297
  width = _this$getWheelRect2.width,
296
298
  height = _this$getWheelRect2.height;
297
299
 
298
- var className = (0, _classnames.default)((0, _styles.scrollClass)('_', scrollX && 'show-x', scrollY && 'show-y'), this.props.className);
300
+ var rtl = (0, _config.isRTL)();
301
+ var className = (0, _classnames.default)((0, _styles.scrollClass)('_', scrollX && 'show-x', scrollY && 'show-y', rtl && 'rtl'), this.props.className);
299
302
  var yLength = scrollHeight < height ? scrollHeight : height;
300
303
  this.wheelY = scrollY && Math.ceil(scrollHeight) > Math.ceil(yLength);
301
304
  this.wheelX = scrollX && Math.ceil(scrollWidth) > Math.ceil(width);
@@ -103,17 +103,38 @@
103
103
  .so-scroll-show-y .so-scroll-inner {
104
104
  bottom: 16px;
105
105
  }
106
- .so-select-rtl .so-scroll-show-y,
107
- .so-menu-rtl .so-scroll-show-y,
108
- .so-input-rtl .so-scroll-show-y,
109
- .so-transfer-rtl .so-scroll-show-y {
106
+ .so-scroll.so-scroll-rtl {
107
+ direction: rtl;
108
+ }
109
+ .so-scroll.so-scroll-rtl .so-scroll-inner {
110
+ left: auto;
111
+ right: 0;
112
+ }
113
+ .so-scroll.so-scroll-rtl .so-scroll-bar.so-scroll-y {
114
+ right: auto;
115
+ left: 0;
116
+ }
117
+ .so-scroll.so-scroll-rtl .so-scroll-bar.so-scroll-y .so-scroll-handle {
118
+ right: 2px;
119
+ left: auto;
120
+ }
121
+ .so-scroll.so-scroll-rtl .so-scroll-bar.so-scroll-y.so-scroll-padding-y:after {
122
+ right: -1px;
123
+ left: auto;
124
+ }
125
+ .so-scroll.so-scroll-rtl.so-scroll-show-y {
110
126
  padding-right: 0;
111
127
  padding-left: 16px;
112
128
  }
113
- .so-select-rtl .so-scroll-bar.so-scroll-y,
114
- .so-menu-rtl .so-scroll-bar.so-scroll-y,
115
- .so-input-rtl .so-scroll-bar.so-scroll-y,
116
- .so-transfer-rtl .so-scroll-bar.so-scroll-y {
129
+ .so-scroll.so-scroll-rtl.so-scroll-show-y .so-scroll-x {
130
+ right: 0;
131
+ left: 16px;
132
+ }
133
+ .so-scroll-show-x .so-scroll.so-scroll-rtl-inner {
134
+ right: 0;
135
+ left: 16px;
136
+ }
137
+ .so-scroll.so-scroll-rtl .so-scroll-bar.so-scroll-y {
117
138
  right: auto;
118
139
  left: 0;
119
140
  }
@@ -17,16 +17,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _locale = require("../locale");
19
19
 
20
- var _icons = _interopRequireDefault(require("../icons"));
21
-
22
20
  var _uid = require("../utils/uid");
23
21
 
24
22
  var _AnimationList = _interopRequireDefault(require("../AnimationList"));
25
23
 
26
24
  var _Spin = _interopRequireDefault(require("../Spin"));
27
25
 
28
- var _Input = _interopRequireDefault(require("../Input"));
29
-
30
26
  var _Checkbox = _interopRequireDefault(require("../Checkbox/Checkbox"));
31
27
 
32
28
  var _styles = require("./styles");
@@ -35,6 +31,8 @@ var _BoxOption = _interopRequireDefault(require("./BoxOption"));
35
31
 
36
32
  var _LazyList = _interopRequireDefault(require("../AnimationList/LazyList"));
37
33
 
34
+ // import icons from '../icons'
35
+ // import Input from '../Input'
38
36
  var ScaleList = (0, _AnimationList.default)(['fade', 'scale-y'], 'fast', 'flex');
39
37
 
40
38
  var emptyFunc = function emptyFunc() {};
@@ -109,18 +107,16 @@ function (_Component) {
109
107
  renderItem: renderItem
110
108
  });
111
109
  }));
112
- };
113
-
114
- _proto.renderFilter = function renderFilter() {
115
- var filterText = this.props.filterText;
116
- return _react.default.createElement(_Input.default.Group, {
117
- size: "small",
118
- className: (0, _styles.selectClass)('filter-input')
119
- }, _react.default.createElement(_Input.default, {
120
- value: filterText,
121
- onChange: this.handleSearch
122
- }), _icons.default.SEARCH);
123
- };
110
+ } // renderFilter() {
111
+ // const { filterText } = this.props
112
+ // return (
113
+ // <Input.Group size="small" className={selectClass('filter-input')}>
114
+ // <Input value={filterText} onChange={this.handleSearch} />
115
+ // {icons.SEARCH}
116
+ // </Input.Group>
117
+ // )
118
+ // }
119
+ ;
124
120
 
125
121
  _proto.renderHeader = function renderHeader(count) {
126
122
  var _this$props4 = this.props,
@@ -247,7 +243,7 @@ BoxList.propTypes = {
247
243
  columns: _propTypes.default.number,
248
244
  data: _propTypes.default.array,
249
245
  datum: _propTypes.default.object.isRequired,
250
- filterText: _propTypes.default.string,
246
+ // filterText: PropTypes.string,
251
247
  focus: _propTypes.default.bool,
252
248
  keygen: _propTypes.default.any,
253
249
  loading: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.bool]),
@@ -44,6 +44,8 @@ function (_Component) {
44
44
  _this.bindElement = _this.bindElement.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
45
45
  _this.handleInput = _this.handleInput.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
46
46
  _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
47
+ _this.geHandleMax = _this.geHandleMax.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
48
+ _this.handlePaste = _this.handlePaste.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
47
49
  _this.focusInput = _this.focusInput.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))); // for mutiple select
48
50
 
49
51
  _this.props.setInputReset(_this.reset.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)))); // set focus func to Select
@@ -78,13 +80,91 @@ function (_Component) {
78
80
  return trim ? text.trim() : text.replace(/\u00A0/g, ' ');
79
81
  };
80
82
 
83
+ _proto.handlePaste = function handlePaste(e) {
84
+ var _this2 = this;
85
+
86
+ (0, _element.preventPasteFile)(e, function (text) {
87
+ if (window.getSelection) {
88
+ var selection = window.getSelection();
89
+ _this2.lastSelect = {
90
+ anchorOffset: selection.anchorOffset,
91
+ focusOffset: selection.focusOffset,
92
+ text: text
93
+ };
94
+ }
95
+ });
96
+ };
97
+
98
+ _proto.geHandleMax = function geHandleMax(e) {
99
+ var maxLength = this.props.maxLength;
100
+
101
+ if (!maxLength) {
102
+ return true;
103
+ }
104
+
105
+ var change = true;
106
+ var text = e.target.innerText;
107
+
108
+ if (text.length >= maxLength) {
109
+ var lastPos;
110
+
111
+ if (window.getSelection) {
112
+ lastPos = Math.min(window.getSelection().anchorOffset - (text.length > maxLength ? 1 : 0), maxLength);
113
+ }
114
+
115
+ if (!this.lastMaxValue) {
116
+ this.lastMaxValue = text.slice(0, maxLength);
117
+ } else if (this.lastSelect) {
118
+ var _this$lastSelect = this.lastSelect,
119
+ anchorOffset = _this$lastSelect.anchorOffset,
120
+ focusOffset = _this$lastSelect.focusOffset,
121
+ str = _this$lastSelect.text;
122
+ var start = anchorOffset < focusOffset ? anchorOffset : focusOffset;
123
+ var end = anchorOffset > focusOffset ? anchorOffset : focusOffset;
124
+
125
+ if (end - start > 0) {
126
+ this.lastMaxValue = this.lastMaxValue.slice(0, start) + str.slice(0, end - start) + this.lastMaxValue.slice(end);
127
+ lastPos = focusOffset;
128
+ } else {
129
+ change = false;
130
+ }
131
+ } else {
132
+ change = false;
133
+ } // clear select info
134
+
135
+
136
+ this.lastSelect = false;
137
+ e.target.innerText = this.lastMaxValue;
138
+
139
+ if (lastPos) {
140
+ var selection = window.getSelection();
141
+ var range = selection.getRangeAt(0);
142
+ var textNode = range.startContainer;
143
+
144
+ if (textNode.nodeName !== '#text') {
145
+ ;
146
+ var _textNode$childNodes = textNode.childNodes;
147
+ textNode = _textNode$childNodes[0];
148
+ }
149
+
150
+ range.setStart(textNode, lastPos);
151
+ range.collapse(true);
152
+ }
153
+ } else {
154
+ this.lastMaxValue = '';
155
+ } // eslint-disable-next-line consistent-return
156
+
157
+
158
+ return change;
159
+ };
160
+
81
161
  _proto.reset = function reset() {
82
162
  if (this.editElement) this.editElement.innerText = '';
83
163
  if (this.blurTimer) clearTimeout(this.blurTimer);
84
164
  };
85
165
 
86
166
  _proto.focusInput = function focusInput(flag) {
87
- var _this2 = this;
167
+ var _this3 = this;
88
168
 
89
169
  if (flag === void 0) {
90
170
  flag = false;
@@ -100,17 +180,17 @@ function (_Component) {
100
180
  this.setState({
101
181
  editable: true
102
182
  }, function () {
103
- return _this2.focus();
183
+ return _this3.focus();
104
184
  });
105
185
  };
106
186
 
107
187
  _proto.focus = function focus() {
108
- var _this3 = this;
188
+ var _this4 = this;
109
189
 
110
190
  var focusSelected = this.props.focusSelected;
111
191
  var action = focusSelected ? _element.focusElement.select : _element.focusElement.end;
112
192
  requestAnimationFrame(function () {
113
- action(_this3.editElement);
193
+ action(_this4.editElement);
114
194
  });
115
195
  };
116
196
 
@@ -119,6 +199,12 @@ function (_Component) {
119
199
  };
120
200
 
121
201
  _proto.handleInput = function handleInput(e) {
202
+ var change = this.geHandleMax(e);
203
+
204
+ if (!change) {
205
+ return;
206
+ }
207
+
122
208
  var text = e.target.innerText.replace('\feff ', '');
123
209
  this.lastCursorOffset = (0, _element.getCursorOffset)(text.length);
124
210
  var t = this.getProcessedValue(text);
@@ -161,7 +247,7 @@ function (_Component) {
161
247
  __html: value
162
248
  }
163
249
  }, props, {
164
- onPaste: _element.preventPasteFile
250
+ onPaste: this.handlePaste
165
251
  }));
166
252
  };
167
253
 
@@ -180,7 +266,8 @@ FilterInput.propTypes = {
180
266
  trim: _propTypes.default.bool,
181
267
  focusSelected: _propTypes.default.bool,
182
268
  bindFocusInputFunc: _propTypes.default.func,
183
- collapse: _propTypes.default.func
269
+ collapse: _propTypes.default.func,
270
+ maxLength: _propTypes.default.number
184
271
  };
185
272
  FilterInput.defaultProps = {
186
273
  text: '',