shineout 1.7.1 → 1.8.0-beta.2

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 (381) hide show
  1. package/css/DatePicker/utils.js +1 -1
  2. package/css/Form/Field.js +8 -4
  3. package/css/Form/Form.js +3 -0
  4. package/css/Form/Item.js +1 -1
  5. package/css/Form/index.d.ts +1 -0
  6. package/css/Form/inputable.js +1 -1
  7. package/css/Pagination/Jumper.js +3 -0
  8. package/css/index.d.ts +1 -1
  9. package/css/index.js +1 -1
  10. package/dist/shineout.js +24 -14
  11. package/dist/shineout.js.map +1 -1
  12. package/dist/shineout.min.js +1 -1
  13. package/es/Alert/index.js +127 -107
  14. package/es/Alert/styles/index.js +3 -4
  15. package/es/AnimationList/AbsoluteList.js +257 -193
  16. package/es/AnimationList/LazyList.js +120 -92
  17. package/es/AnimationList/List.js +43 -23
  18. package/es/AnimationList/index.js +19 -14
  19. package/es/AnimationList/styles/index.js +3 -4
  20. package/es/Breadcrumb/index.js +77 -69
  21. package/es/Breadcrumb/styles/index.js +3 -4
  22. package/es/Button/Button.js +91 -74
  23. package/es/Button/Group.js +42 -28
  24. package/es/Button/Once.js +39 -23
  25. package/es/Button/index.js +7 -10
  26. package/es/Button/styles/index.js +3 -4
  27. package/es/Card/Accordion.js +58 -45
  28. package/es/Card/Body.js +55 -42
  29. package/es/Card/Card.js +85 -79
  30. package/es/Card/Footer.js +38 -15
  31. package/es/Card/Header.js +52 -34
  32. package/es/Card/Submit.js +51 -33
  33. package/es/Card/context.js +22 -16
  34. package/es/Card/index.js +16 -19
  35. package/es/Card/styles/index.js +3 -4
  36. package/es/CardGroup/CardGroup.js +93 -69
  37. package/es/CardGroup/Item.js +61 -43
  38. package/es/CardGroup/context.js +12 -10
  39. package/es/CardGroup/index.js +7 -10
  40. package/es/CardGroup/styles/index.js +3 -4
  41. package/es/Carousel/Item.js +31 -17
  42. package/es/Carousel/index.js +156 -123
  43. package/es/Carousel/styles/index.js +3 -4
  44. package/es/Cascader/Cascader.js +397 -346
  45. package/es/Cascader/FilterList.js +185 -142
  46. package/es/Cascader/Input.js +102 -79
  47. package/es/Cascader/List.js +66 -41
  48. package/es/Cascader/Node.js +153 -110
  49. package/es/Cascader/Result.js +289 -232
  50. package/es/Cascader/filter.js +92 -61
  51. package/es/Cascader/index.js +13 -18
  52. package/es/Cascader/styles/index.js +3 -4
  53. package/es/Checkbox/CheckItem.js +168 -154
  54. package/es/Checkbox/Checkbox.js +2 -3
  55. package/es/Checkbox/Group.js +106 -85
  56. package/es/Checkbox/context.js +12 -10
  57. package/es/Checkbox/index.js +14 -21
  58. package/es/Checkbox/styles/index.js +3 -4
  59. package/es/DataList/BaseItem.js +39 -21
  60. package/es/DataList/Extra.js +33 -17
  61. package/es/DataList/List.js +166 -140
  62. package/es/DataList/Meta.js +109 -74
  63. package/es/DataList/Pagination.js +9 -10
  64. package/es/DataList/index.js +13 -19
  65. package/es/DataList/styles/index.js +3 -4
  66. package/es/DatePicker/Container.js +468 -449
  67. package/es/DatePicker/Day.js +265 -258
  68. package/es/DatePicker/Icon.js +34 -20
  69. package/es/DatePicker/Month.js +101 -79
  70. package/es/DatePicker/Picker.js +110 -83
  71. package/es/DatePicker/Quick.js +52 -39
  72. package/es/DatePicker/Range.js +241 -192
  73. package/es/DatePicker/Text.js +103 -91
  74. package/es/DatePicker/Time.js +165 -147
  75. package/es/DatePicker/TimeScroll.js +148 -116
  76. package/es/DatePicker/Year.js +74 -53
  77. package/es/DatePicker/index.js +16 -18
  78. package/es/DatePicker/paramUtils.js +92 -58
  79. package/es/DatePicker/styles/index.js +3 -4
  80. package/es/DatePicker/utils.js +189 -198
  81. package/es/DatePicker/value.js +139 -98
  82. package/es/Datum/Form.js +333 -282
  83. package/es/Datum/List.js +319 -201
  84. package/es/Datum/Tree.js +298 -239
  85. package/es/Datum/hoc.js +104 -69
  86. package/es/Datum/index.js +7 -8
  87. package/es/Datum/types.js +20 -25
  88. package/es/Divider/index.js +50 -32
  89. package/es/Divider/styles/index.js +3 -4
  90. package/es/Drawer/index.js +14 -9
  91. package/es/Dropdown/Item.js +56 -43
  92. package/es/Dropdown/index.js +273 -259
  93. package/es/Dropdown/styles/index.js +3 -4
  94. package/es/EditableArea/EditableArea.js +157 -136
  95. package/es/EditableArea/index.js +8 -15
  96. package/es/EditableArea/styles/index.js +3 -4
  97. package/es/Form/Block.js +83 -57
  98. package/es/Form/BlockField.js +32 -17
  99. package/es/Form/Field.js +59 -35
  100. package/es/Form/FieldError.js +27 -21
  101. package/es/Form/FieldSet.js +214 -156
  102. package/es/Form/Flow.js +51 -32
  103. package/es/Form/Form.js +181 -144
  104. package/es/Form/Item.js +181 -166
  105. package/es/Form/Loop.js +202 -146
  106. package/es/Form/formButton.js +58 -42
  107. package/es/Form/formContext.js +104 -95
  108. package/es/Form/index.d.ts +1 -0
  109. package/es/Form/index.js +40 -45
  110. package/es/Form/inputable.js +368 -292
  111. package/es/Form/mode.js +15 -9
  112. package/es/Form/styles/index.js +4 -5
  113. package/es/Gap/index.js +71 -47
  114. package/es/Gap/styles/index.js +3 -4
  115. package/es/Gap/support.js +11 -14
  116. package/es/Grid/index.js +88 -58
  117. package/es/Grid/utils.js +57 -58
  118. package/es/Icon/Icon.js +43 -42
  119. package/es/Icon/index.js +39 -22
  120. package/es/Icon/styles/index.js +3 -4
  121. package/es/Image/Gallery.js +128 -113
  122. package/es/Image/Group.js +60 -36
  123. package/es/Image/Image.js +227 -153
  124. package/es/Image/Magnify.js +123 -94
  125. package/es/Image/events.js +29 -26
  126. package/es/Image/index.js +6 -9
  127. package/es/Image/styles/index.js +3 -4
  128. package/es/Input/Group.js +17 -11
  129. package/es/Input/Input.js +158 -134
  130. package/es/Input/Number.js +199 -175
  131. package/es/Input/Password.js +54 -31
  132. package/es/Input/clear.js +41 -25
  133. package/es/Input/index.js +23 -35
  134. package/es/Input/styles/index.js +3 -4
  135. package/es/Lazyload/index.js +63 -42
  136. package/es/Lazyload/styles/index.js +3 -4
  137. package/es/Menu/Item.js +275 -236
  138. package/es/Menu/List.js +75 -67
  139. package/es/Menu/Root.js +372 -334
  140. package/es/Menu/context.js +18 -12
  141. package/es/Menu/index.js +3 -5
  142. package/es/Menu/styles/index.js +3 -4
  143. package/es/Message/Container.js +155 -119
  144. package/es/Message/index.js +42 -30
  145. package/es/Message/messager.js +29 -33
  146. package/es/Message/styles/index.js +3 -4
  147. package/es/Modal/Modal.js +80 -60
  148. package/es/Modal/Panel.js +258 -234
  149. package/es/Modal/context.js +15 -15
  150. package/es/Modal/events.js +213 -182
  151. package/es/Modal/index.js +12 -14
  152. package/es/Modal/styles/index.js +3 -4
  153. package/es/Pagination/Item.js +46 -32
  154. package/es/Pagination/Jumper.js +79 -66
  155. package/es/Pagination/Links.js +110 -82
  156. package/es/Pagination/Next.js +52 -31
  157. package/es/Pagination/PageSizeList.js +57 -40
  158. package/es/Pagination/Pagination.js +78 -54
  159. package/es/Pagination/Prev.js +49 -30
  160. package/es/Pagination/Simple.js +32 -18
  161. package/es/Pagination/index.js +68 -41
  162. package/es/Pagination/styles/index.js +3 -4
  163. package/es/Popover/Confirm.js +107 -64
  164. package/es/Popover/Panel.js +284 -231
  165. package/es/Popover/context.js +15 -12
  166. package/es/Popover/events.js +80 -86
  167. package/es/Popover/index.js +12 -14
  168. package/es/Popover/styles/index.js +3 -4
  169. package/es/Progress/Circle.js +70 -59
  170. package/es/Progress/Line.js +51 -39
  171. package/es/Progress/Popup.js +42 -24
  172. package/es/Progress/analyzeColor.js +18 -9
  173. package/es/Progress/index.js +13 -15
  174. package/es/Progress/styles/index.js +3 -4
  175. package/es/Radio/Group.js +105 -94
  176. package/es/Radio/Radio.js +2 -3
  177. package/es/Radio/index.js +15 -17
  178. package/es/Radio/styles/index.js +1 -1
  179. package/es/Rate/Rate.js +216 -167
  180. package/es/Rate/index.js +17 -10
  181. package/es/Rate/styles/index.js +3 -4
  182. package/es/Rule/convert.js +48 -57
  183. package/es/Rule/index.js +63 -40
  184. package/es/Rule/length.js +53 -38
  185. package/es/Rule/regExp.js +23 -14
  186. package/es/Rule/required.js +26 -18
  187. package/es/Rule/styles/index.js +1 -1
  188. package/es/Rule/type.js +26 -18
  189. package/es/Scroll/Bar.js +145 -117
  190. package/es/Scroll/Scroll.js +277 -217
  191. package/es/Scroll/context.js +20 -13
  192. package/es/Scroll/fixedLength.js +33 -24
  193. package/es/Scroll/index.js +89 -55
  194. package/es/Scroll/styles/index.js +3 -4
  195. package/es/Select/BoxList.js +218 -189
  196. package/es/Select/BoxOption.js +64 -38
  197. package/es/Select/FlexBox.js +107 -75
  198. package/es/Select/FlexResult.js +65 -49
  199. package/es/Select/Input.js +137 -113
  200. package/es/Select/More.js +124 -121
  201. package/es/Select/Option.js +73 -52
  202. package/es/Select/OptionList.js +236 -200
  203. package/es/Select/OptionTree.js +111 -96
  204. package/es/Select/Result.js +297 -271
  205. package/es/Select/Select.js +517 -491
  206. package/es/Select/filter.js +221 -148
  207. package/es/Select/group.js +74 -45
  208. package/es/Select/index.js +32 -31
  209. package/es/Select/styles/index.js +3 -4
  210. package/es/Slider/Container.js +145 -132
  211. package/es/Slider/Indicator.js +28 -13
  212. package/es/Slider/Slider.js +132 -103
  213. package/es/Slider/index.js +5 -8
  214. package/es/Slider/styles/index.js +3 -4
  215. package/es/Slider/utils.js +26 -30
  216. package/es/Spin/Multiple.js +153 -109
  217. package/es/Spin/Simple.js +33 -22
  218. package/es/Spin/Spin.js +29 -29
  219. package/es/Spin/index.js +66 -84
  220. package/es/Spin/styles/index.js +27 -30
  221. package/es/Sticky/context.js +12 -10
  222. package/es/Sticky/index.js +255 -194
  223. package/es/Sticky/styles/index.js +1 -1
  224. package/es/Switch/Switch.js +2 -3
  225. package/es/Switch/index.js +8 -14
  226. package/es/Table/Checkbox.js +68 -39
  227. package/es/Table/CheckboxAll.js +121 -64
  228. package/es/Table/Colgroup.js +72 -47
  229. package/es/Table/Expand.js +63 -43
  230. package/es/Table/SeperateTable.js +594 -444
  231. package/es/Table/SimpleTable.js +215 -136
  232. package/es/Table/Sorter.js +83 -62
  233. package/es/Table/Table.js +157 -157
  234. package/es/Table/Tbody.js +240 -176
  235. package/es/Table/Td.js +169 -130
  236. package/es/Table/Thead.js +206 -177
  237. package/es/Table/Tr.js +249 -205
  238. package/es/Table/TreeExpand.js +151 -116
  239. package/es/Table/context.js +15 -15
  240. package/es/Table/fixedAuto.js +82 -59
  241. package/es/Table/index.js +309 -228
  242. package/es/Table/resizable.js +89 -56
  243. package/es/Table/select.js +238 -215
  244. package/es/Table/styles/index.js +3 -4
  245. package/es/Tabs/Header.js +203 -160
  246. package/es/Tabs/Link.js +46 -28
  247. package/es/Tabs/Panel.js +49 -33
  248. package/es/Tabs/Tab.js +97 -79
  249. package/es/Tabs/Tabs.js +211 -177
  250. package/es/Tabs/Wrapper.js +37 -17
  251. package/es/Tabs/index.js +7 -10
  252. package/es/Tabs/styles/index.js +3 -4
  253. package/es/Tag/Input.js +70 -54
  254. package/es/Tag/Tag.js +198 -156
  255. package/es/Tag/index.js +5 -8
  256. package/es/Tag/styles/index.js +3 -4
  257. package/es/Textarea/Textarea.js +139 -118
  258. package/es/Textarea/index.js +10 -19
  259. package/es/Tooltip/Container.js +140 -127
  260. package/es/Tooltip/events.js +49 -55
  261. package/es/Tooltip/index.js +5 -8
  262. package/es/Tooltip/styles/index.js +3 -4
  263. package/es/Transfer/Card.js +212 -177
  264. package/es/Transfer/Transfer.js +160 -153
  265. package/es/Transfer/btns.js +97 -80
  266. package/es/Transfer/context.js +2 -3
  267. package/es/Transfer/filter.js +65 -35
  268. package/es/Transfer/index.js +9 -13
  269. package/es/Transfer/item.js +66 -41
  270. package/es/Transfer/select.js +15 -16
  271. package/es/Transfer/styles/index.js +3 -4
  272. package/es/Tree/Checkbox.js +72 -50
  273. package/es/Tree/Content.js +136 -95
  274. package/es/Tree/List.js +82 -53
  275. package/es/Tree/Node.js +237 -202
  276. package/es/Tree/Root.js +23 -19
  277. package/es/Tree/Tree.js +262 -197
  278. package/es/Tree/index.js +6 -9
  279. package/es/Tree/styles/index.js +3 -4
  280. package/es/Tree/toggle.js +89 -51
  281. package/es/TreeSelect/Input.js +73 -60
  282. package/es/TreeSelect/Result.js +213 -181
  283. package/es/TreeSelect/TreeSelect.js +327 -312
  284. package/es/TreeSelect/datum.js +56 -44
  285. package/es/TreeSelect/filter.js +134 -96
  286. package/es/TreeSelect/index.js +15 -23
  287. package/es/TreeSelect/styles/index.js +3 -4
  288. package/es/TreeSelect/tiled.js +143 -106
  289. package/es/Upload/Dragger.js +63 -39
  290. package/es/Upload/Drop.js +79 -57
  291. package/es/Upload/File.js +61 -48
  292. package/es/Upload/FileInput.js +53 -40
  293. package/es/Upload/Image.js +158 -115
  294. package/es/Upload/ImageFile.js +63 -43
  295. package/es/Upload/ImageResult.js +139 -114
  296. package/es/Upload/Progress.js +117 -105
  297. package/es/Upload/RemoveConfirm.js +58 -42
  298. package/es/Upload/Result.js +73 -58
  299. package/es/Upload/Upload.js +649 -490
  300. package/es/Upload/accept.js +33 -13
  301. package/es/Upload/context.js +12 -10
  302. package/es/Upload/index.js +16 -20
  303. package/es/Upload/request.js +48 -46
  304. package/es/Upload/styles/index.js +3 -4
  305. package/es/component.js +45 -24
  306. package/es/config.js +27 -19
  307. package/es/context/implementation.js +132 -94
  308. package/es/context/index.js +3 -4
  309. package/es/hoc/coin.js +118 -81
  310. package/es/hoc/config.js +31 -17
  311. package/es/hoc/delay.js +99 -55
  312. package/es/hoc/draggable.js +90 -80
  313. package/es/hoc/fetch.js +56 -33
  314. package/es/hoc/hidable.js +119 -98
  315. package/es/hoc/inputBorder.js +158 -158
  316. package/es/hoc/moveable.js +124 -96
  317. package/es/hoc/pagable.js +74 -55
  318. package/es/hoc/resizable.js +132 -100
  319. package/es/hoc/styles/index.js +7 -8
  320. package/es/hoc/trim.js +54 -32
  321. package/es/icons/Caret.js +14 -15
  322. package/es/icons/index.js +31 -85
  323. package/es/index.d.ts +1 -1
  324. package/es/index.js +58 -57
  325. package/es/locale/en_US.js +9 -30
  326. package/es/locale/index.js +13 -14
  327. package/es/locale/zh-CN.js +9 -17
  328. package/es/styles/expose.js +3 -4
  329. package/es/styles/index.js +1 -1
  330. package/es/utils/accept.js +15 -12
  331. package/es/utils/classname.js +23 -12
  332. package/es/utils/cleanProps.js +9 -21
  333. package/es/utils/clone.js +34 -27
  334. package/es/utils/color.js +310 -276
  335. package/es/utils/css-accessors.js +94 -45
  336. package/es/utils/dom/detect.js +29 -29
  337. package/es/utils/dom/document.js +23 -19
  338. package/es/utils/dom/element.js +139 -105
  339. package/es/utils/dom/getDataset.js +9 -9
  340. package/es/utils/dom/isDOMElement.js +3 -5
  341. package/es/utils/dom/normalizeWheel.js +32 -28
  342. package/es/utils/dom/popContainer.js +12 -13
  343. package/es/utils/dom/popover.js +79 -59
  344. package/es/utils/dom/ready.js +5 -6
  345. package/es/utils/dom/translate.js +10 -12
  346. package/es/utils/errors.js +47 -28
  347. package/es/utils/expose.js +97 -58
  348. package/es/utils/flat.js +122 -107
  349. package/es/utils/func.js +38 -20
  350. package/es/utils/hash.js +24 -20
  351. package/es/utils/index.js +24 -49
  352. package/es/utils/is.js +91 -70
  353. package/es/utils/lazyload.js +104 -86
  354. package/es/utils/notification.js +34 -20
  355. package/es/utils/numbers.js +61 -51
  356. package/es/utils/objects.js +221 -140
  357. package/es/utils/proptypes.js +21 -34
  358. package/es/utils/shallowEqual.js +46 -42
  359. package/es/utils/strings.js +50 -32
  360. package/es/utils/transform.js +24 -9
  361. package/es/utils/tree.js +78 -63
  362. package/es/utils/uid.js +14 -17
  363. package/es/utils/validate/index.js +71 -50
  364. package/es/utils/validate/isJson.js +7 -10
  365. package/es/utils/validate/nullable.js +10 -9
  366. package/es/utils/validate/range.js +22 -19
  367. package/es/utils/validate/rangeLength.js +19 -16
  368. package/es/utils/validate/regExp.js +10 -10
  369. package/es/utils/validate/required.js +11 -8
  370. package/es/utils/validate/type.js +56 -59
  371. package/es/utils/vars-inject.js +3420 -4248
  372. package/lib/DatePicker/utils.js +1 -1
  373. package/lib/Form/Field.js +8 -4
  374. package/lib/Form/Form.js +3 -0
  375. package/lib/Form/Item.js +1 -1
  376. package/lib/Form/index.d.ts +1 -0
  377. package/lib/Form/inputable.js +1 -1
  378. package/lib/Pagination/Jumper.js +3 -0
  379. package/lib/index.d.ts +1 -1
  380. package/lib/index.js +1 -1
  381. package/package.json +3 -2
package/es/Menu/Item.js CHANGED
@@ -1,279 +1,319 @@
1
- import React, { cloneElement } from 'react'
2
- import PropTypes from 'prop-types'
3
- import classnames from 'classnames'
4
- import { PureComponent } from '../component'
5
- import { getKey, getUidStr } from '../utils/uid'
6
- import { menuClass } from './styles'
7
- import List from './List'
8
- import { consumer } from './context'
9
- import { isLink } from '../utils/is'
10
- import { isRTL } from '../config'
11
- import { getParent } from '../utils/dom/element'
12
-
13
- const getBaseIndent = () => 16
14
-
15
- const calcIndent = (flag, indent) => {
16
- if (!flag) return indent
17
- return Math.ceil((indent / 3) * 2)
18
- }
19
-
20
- class Item extends PureComponent {
21
- constructor(props) {
22
- super(props)
23
-
24
- this.id = `${props.path},${getUidStr()}`
25
- const key = this.getKey(props)
26
- const [activeUpdate, openUpdate, inPathUpdate] = props.bindItem(
27
- this.id,
28
- this.update.bind(this),
29
- this.updateOpen.bind(this),
30
- this.updateInPath.bind(this)
31
- )
32
-
33
- this.state = {
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import React, { cloneElement } from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import classnames from 'classnames';
7
+ import { PureComponent } from '../component';
8
+ import { getKey as _getKey, getUidStr } from '../utils/uid';
9
+ import { menuClass } from './styles';
10
+ import List from './List';
11
+ import { consumer } from './context';
12
+ import { isLink } from '../utils/is';
13
+ import { isRTL } from '../config';
14
+ import { getParent } from '../utils/dom/element';
15
+
16
+ var getBaseIndent = function getBaseIndent() {
17
+ return 16;
18
+ };
19
+
20
+ var calcIndent = function calcIndent(flag, indent) {
21
+ if (!flag) return indent;
22
+ return Math.ceil(indent / 3 * 2);
23
+ };
24
+
25
+ var Item =
26
+ /*#__PURE__*/
27
+ function (_PureComponent) {
28
+ _inheritsLoose(Item, _PureComponent);
29
+
30
+ function Item(props) {
31
+ var _this;
32
+
33
+ _this = _PureComponent.call(this, props) || this;
34
+ _this.id = props.path + "," + getUidStr();
35
+
36
+ var key = _this.getKey(props);
37
+
38
+ var _props$bindItem = props.bindItem(_this.id, _this.update.bind(_assertThisInitialized(_assertThisInitialized(_this))), _this.updateOpen.bind(_assertThisInitialized(_assertThisInitialized(_this))), _this.updateInPath.bind(_assertThisInitialized(_assertThisInitialized(_this)))),
39
+ activeUpdate = _props$bindItem[0],
40
+ openUpdate = _props$bindItem[1],
41
+ inPathUpdate = _props$bindItem[2];
42
+
43
+ _this.state = {
34
44
  open: openUpdate(key),
35
- isActive: activeUpdate(this.id, props.data),
36
- inPath: inPathUpdate(this.id),
37
- isHighLight: false,
38
- }
39
-
40
- this.bindElement = this.bindElement.bind(this)
41
- this.handleClick = this.handleClick.bind(this)
42
- this.handleSwitch = this.handleSwitch.bind(this)
43
- this.handleMouseEnter = this.handleToggle.bind(this, true)
44
- this.handleMouseLeave = this.handleToggle.bind(this, false)
45
- this.renderLink = this.renderLink.bind(this)
45
+ isActive: activeUpdate(_this.id, props.data),
46
+ inPath: inPathUpdate(_this.id),
47
+ isHighLight: false
48
+ };
49
+ _this.bindElement = _this.bindElement.bind(_assertThisInitialized(_assertThisInitialized(_this)));
50
+ _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));
51
+ _this.handleSwitch = _this.handleSwitch.bind(_assertThisInitialized(_assertThisInitialized(_this)));
52
+ _this.handleMouseEnter = _this.handleToggle.bind(_assertThisInitialized(_assertThisInitialized(_this)), true);
53
+ _this.handleMouseLeave = _this.handleToggle.bind(_assertThisInitialized(_assertThisInitialized(_this)), false);
54
+ _this.renderLink = _this.renderLink.bind(_assertThisInitialized(_assertThisInitialized(_this)));
55
+ return _this;
46
56
  }
47
57
 
48
- componentWillUnmount() {
49
- super.componentWillUnmount()
50
- this.props.unbindItem(this.id)
51
- this.unbindDocumentEvent()
52
- }
58
+ var _proto = Item.prototype;
53
59
 
54
- getKey(props = this.props) {
55
- return getKey(props.data, props.keygen, props.index)
56
- }
60
+ _proto.componentWillUnmount = function componentWillUnmount() {
61
+ _PureComponent.prototype.componentWillUnmount.call(this);
57
62
 
58
- getCalcStyle() {
59
- const style = {}
60
- const { frontCaret, level, inlineIndent, mode } = this.props
63
+ this.props.unbindItem(this.id);
64
+ this.unbindDocumentEvent();
65
+ };
61
66
 
62
- const rtl = isRTL()
67
+ _proto.getKey = function getKey(props) {
68
+ if (props === void 0) {
69
+ props = this.props;
70
+ }
63
71
 
64
- if (mode !== 'inline') return style
72
+ return _getKey(props.data, props.keygen, props.index);
73
+ };
65
74
 
66
- const indent = calcIndent(frontCaret, inlineIndent)
75
+ _proto.getCalcStyle = function getCalcStyle() {
76
+ var style = {};
77
+ var _this$props = this.props,
78
+ frontCaret = _this$props.frontCaret,
79
+ level = _this$props.level,
80
+ inlineIndent = _this$props.inlineIndent,
81
+ mode = _this$props.mode;
82
+ var rtl = isRTL();
83
+ if (mode !== 'inline') return style;
84
+ var indent = calcIndent(frontCaret, inlineIndent);
67
85
 
68
86
  if (rtl) {
69
- style.paddingRight = getBaseIndent(frontCaret) + level * indent
87
+ style.paddingRight = getBaseIndent(frontCaret) + level * indent;
70
88
  } else {
71
- style.paddingLeft = getBaseIndent(frontCaret) + level * indent
89
+ style.paddingLeft = getBaseIndent(frontCaret) + level * indent;
72
90
  }
73
91
 
74
- return style
75
- }
76
-
77
- bindElement(el) {
78
- this.element = el
79
- }
80
-
81
- unbindDocumentEvent() {
82
- document.removeEventListener('click', this.handleMouseLeave)
83
- }
84
-
85
- update(check, activePath) {
86
- const isActive = check(this.id, this.props.data)
87
- const isHighLight = activePath && isActive ? activePath.indexOf(this.id) > -1 : false
88
-
89
- this.setState({ isActive, isHighLight })
90
- }
91
-
92
- updateOpen(check) {
93
- const isOpen = check(this.getKey())
94
- this.setState({ open: isOpen })
95
- }
96
-
97
- updateInPath(check) {
98
- const inPath = check(this.id)
99
- this.setState({ inPath })
100
- }
92
+ return style;
93
+ };
94
+
95
+ _proto.bindElement = function bindElement(el) {
96
+ this.element = el;
97
+ };
98
+
99
+ _proto.unbindDocumentEvent = function unbindDocumentEvent() {
100
+ document.removeEventListener('click', this.handleMouseLeave);
101
+ };
102
+
103
+ _proto.update = function update(check, activePath) {
104
+ var isActive = check(this.id, this.props.data);
105
+ var isHighLight = activePath && isActive ? activePath.indexOf(this.id) > -1 : false;
106
+ this.setState({
107
+ isActive: isActive,
108
+ isHighLight: isHighLight
109
+ });
110
+ };
111
+
112
+ _proto.updateOpen = function updateOpen(check) {
113
+ var isOpen = check(this.getKey());
114
+ this.setState({
115
+ open: isOpen
116
+ });
117
+ };
118
+
119
+ _proto.updateInPath = function updateInPath(check) {
120
+ var inPath = check(this.id);
121
+ this.setState({
122
+ inPath: inPath
123
+ });
124
+ };
125
+
126
+ _proto.handleToggle = function handleToggle(open) {
127
+ var _this$props2 = this.props,
128
+ toggleOpenKeys = _this$props2.toggleOpenKeys,
129
+ toggleDuration = _this$props2.toggleDuration;
130
+ var key = this.getKey();
131
+ if (this.toggleTimer) clearTimeout(this.toggleTimer);
101
132
 
102
- handleToggle(open) {
103
- const { toggleOpenKeys, toggleDuration } = this.props
104
- const key = this.getKey()
105
-
106
- if (this.toggleTimer) clearTimeout(this.toggleTimer)
107
133
  if (open) {
108
- toggleOpenKeys(key, true)
109
- document.addEventListener('click', this.handleMouseLeave)
134
+ toggleOpenKeys(key, true);
135
+ document.addEventListener('click', this.handleMouseLeave);
110
136
  } else {
111
- this.toggleTimer = setTimeout(() => {
112
- toggleOpenKeys(key, false)
113
- }, toggleDuration)
114
- this.unbindDocumentEvent()
137
+ this.toggleTimer = setTimeout(function () {
138
+ toggleOpenKeys(key, false);
139
+ }, toggleDuration);
140
+ this.unbindDocumentEvent();
115
141
  }
116
- }
142
+ };
143
+
144
+ _proto.handleClick = function handleClick(e) {
145
+ var _this$props3 = this.props,
146
+ data = _this$props3.data,
147
+ onClick = _this$props3.onClick,
148
+ mode = _this$props3.mode,
149
+ toggleOpenKeys = _this$props3.toggleOpenKeys,
150
+ looseChildren = _this$props3.looseChildren,
151
+ parentSelectable = _this$props3.parentSelectable;
152
+ var expandClick = getParent(e.target, "." + menuClass('expand'));
153
+ var canExpand = !parentSelectable || expandClick;
117
154
 
118
- handleClick(e) {
119
- const { data, onClick, mode, toggleOpenKeys, looseChildren, parentSelectable } = this.props
120
- const expandClick = getParent(e.target, `.${menuClass('expand')}`)
121
- const canExpand = !parentSelectable || expandClick
122
155
  if (mode === 'inline' && data.children && canExpand) {
123
- const shouldToggle = looseChildren || data.children.length
124
- if (shouldToggle) toggleOpenKeys(this.getKey(), !this.state.open)
125
- if (parentSelectable && expandClick) return
156
+ var shouldToggle = looseChildren || data.children.length;
157
+ if (shouldToggle) toggleOpenKeys(this.getKey(), !this.state.open);
158
+ if (parentSelectable && expandClick) return;
126
159
  }
127
160
 
128
- if (data.disabled) return
161
+ if (data.disabled) return;
162
+
129
163
  if (typeof data.onClick === 'function') {
130
- data.onClick(this.id, data)
131
- } else if (
132
- (!data.children || data.children.length === 0 || data.onClick === true || parentSelectable) &&
133
- typeof onClick === 'function'
134
- ) {
135
- onClick(this.id, data)
164
+ data.onClick(this.id, data);
165
+ } else if ((!data.children || data.children.length === 0 || data.onClick === true || parentSelectable) && typeof onClick === 'function') {
166
+ onClick(this.id, data);
136
167
  }
137
- const isLeaf = ((data || {}).children || []).length === 0
138
- if (!isLeaf) e.nativeEvent.stopImmediatePropagation()
139
- }
140
168
 
141
- handleItemClick(clickMethod, e) {
142
- clickMethod()
143
- this.handleClick(e)
144
- }
169
+ var isLeaf = ((data || {}).children || []).length === 0;
170
+ if (!isLeaf) e.nativeEvent.stopImmediatePropagation();
171
+ };
172
+
173
+ _proto.handleItemClick = function handleItemClick(clickMethod, e) {
174
+ clickMethod();
175
+ this.handleClick(e);
176
+ };
177
+
178
+ _proto.handleSwitch = function handleSwitch(e) {
179
+ var _this$props4 = this.props,
180
+ renderItem = _this$props4.renderItem,
181
+ data = _this$props4.data,
182
+ index = _this$props4.index;
183
+ var item = renderItem(data, index);
145
184
 
146
- handleSwitch(e) {
147
- const { renderItem, data, index } = this.props
148
- const item = renderItem(data, index)
149
185
  if (item.props && item.props.onClick) {
150
- this.handleItemClick(item.props.onClick, e)
186
+ this.handleItemClick(item.props.onClick, e);
151
187
  } else {
152
- this.handleClick(e)
188
+ this.handleClick(e);
189
+ }
190
+ };
191
+
192
+ _proto.renderLink = function renderLink(data) {
193
+ var linkKey = this.props.linkKey;
194
+ if (!linkKey) return null;
195
+ if (typeof linkKey === 'function') return linkKey(data);
196
+ return data[linkKey];
197
+ };
198
+
199
+ _proto.renderItem = function renderItem(hasChilds, style) {
200
+ if (hasChilds === void 0) {
201
+ hasChilds = false;
153
202
  }
154
- }
155
203
 
156
- renderLink(data) {
157
- const { linkKey } = this.props
158
- if (!linkKey) return null
159
- if (typeof linkKey === 'function') return linkKey(data)
160
- return data[linkKey]
161
- }
204
+ var _this$props5 = this.props,
205
+ renderItem = _this$props5.renderItem,
206
+ data = _this$props5.data,
207
+ index = _this$props5.index,
208
+ frontCaret = _this$props5.frontCaret,
209
+ caretColor = _this$props5.caretColor;
210
+ var item = renderItem(data, index);
211
+ var link = this.renderLink(data);
162
212
 
163
- renderItem(hasChilds = false, style) {
164
- const { renderItem, data, index, frontCaret, caretColor } = this.props
165
- const item = renderItem(data, index)
166
- const link = this.renderLink(data)
167
213
  if (isLink(item)) {
168
- const mergeClass = classnames(menuClass('title'), item.props && item.props.className)
169
- const mergeStyle = Object.assign({}, style, item.props && item.props.style)
170
- return cloneElement(item, { className: mergeClass, style: mergeStyle, onClick: this.handleSwitch })
214
+ var mergeClass = classnames(menuClass('title'), item.props && item.props.className);
215
+ var mergeStyle = Object.assign({}, style, item.props && item.props.style);
216
+ return cloneElement(item, {
217
+ className: mergeClass,
218
+ style: mergeStyle,
219
+ onClick: this.handleSwitch
220
+ });
171
221
  }
172
222
 
173
- const props = {
223
+ var props = {
174
224
  className: menuClass('title'),
175
- style,
176
- onClick: this.handleClick,
177
- }
178
- if (link) props.href = link
225
+ style: style,
226
+ onClick: this.handleClick
227
+ };
228
+ if (link) props.href = link;
179
229
 
180
230
  if (frontCaret) {
181
- return (
182
- <a {...props}>
183
- <div style={{ color: caretColor }} className={menuClass('caret', hasChilds && 'has-childs')} />
184
- {item}
185
- </a>
186
- )
231
+ return React.createElement("a", props, React.createElement("div", {
232
+ style: {
233
+ color: caretColor
234
+ },
235
+ className: menuClass('caret', hasChilds && 'has-childs')
236
+ }), item);
187
237
  }
188
238
 
189
- return (
190
- <a {...props}>
191
- {item}
192
- <span className={menuClass('expand')} style={{ color: caretColor }} />
193
- </a>
194
- )
195
- }
239
+ return React.createElement("a", props, item, React.createElement("span", {
240
+ className: menuClass('expand'),
241
+ style: {
242
+ color: caretColor
243
+ }
244
+ }));
245
+ };
246
+
247
+ _proto.render = function render() {
248
+ var _this$props6 = this.props,
249
+ data = _this$props6.data,
250
+ renderItem = _this$props6.renderItem,
251
+ mode = _this$props6.mode,
252
+ keygen = _this$props6.keygen,
253
+ level = _this$props6.level,
254
+ onClick = _this$props6.onClick,
255
+ inlineIndent = _this$props6.inlineIndent,
256
+ disabled = _this$props6.disabled,
257
+ toggleOpenKeys = _this$props6.toggleOpenKeys,
258
+ bottomLine = _this$props6.bottomLine,
259
+ topLine = _this$props6.topLine,
260
+ linkKey = _this$props6.linkKey,
261
+ toggleDuration = _this$props6.toggleDuration,
262
+ frontCaret = _this$props6.frontCaret,
263
+ looseChildren = _this$props6.looseChildren,
264
+ parentSelectable = _this$props6.parentSelectable,
265
+ frontCaretType = _this$props6.frontCaretType;
266
+ var _this$state = this.state,
267
+ open = _this$state.open,
268
+ isActive = _this$state.isActive,
269
+ isHighLight = _this$state.isHighLight,
270
+ inPath = _this$state.inPath;
271
+ var dChildren = data.children;
272
+ var children = dChildren || [];
273
+ var isDisabled = typeof disabled === 'function' ? disabled(data) : disabled;
274
+ var isUp = false;
196
275
 
197
- render() {
198
- const {
199
- data,
200
- renderItem,
201
- mode,
202
- keygen,
203
- level,
204
- onClick,
205
- inlineIndent,
206
- disabled,
207
- toggleOpenKeys,
208
- bottomLine,
209
- topLine,
210
- linkKey,
211
- toggleDuration,
212
- frontCaret,
213
- looseChildren,
214
- parentSelectable,
215
- frontCaretType,
216
- } = this.props
217
- const { open, isActive, isHighLight, inPath } = this.state
218
- const { children: dChildren } = data
219
- const children = dChildren || []
220
-
221
- const isDisabled = typeof disabled === 'function' ? disabled(data) : disabled
222
-
223
- let isUp = false
224
276
  if (mode === 'vertical-auto' && this.element) {
225
- isUp = this.element.getBoundingClientRect().bottom - topLine > (bottomLine - topLine) / 2
277
+ isUp = this.element.getBoundingClientRect().bottom - topLine > (bottomLine - topLine) / 2;
226
278
  }
227
279
 
228
- const hasChilds = looseChildren ? Array.isArray(dChildren) : children.length > 0
229
-
230
- const className = menuClass(
231
- 'item',
232
- isDisabled === true && 'disabled',
233
- hasChilds ? 'has-children' : 'no-children',
234
- isActive && 'active',
235
- open && 'open',
236
- isUp && 'open-up',
237
- isHighLight && 'highlight',
238
- inPath && 'in-path',
239
- frontCaret && `caret-${frontCaretType}`,
240
- parentSelectable && 'selectable'
241
- )
242
-
243
- const style = this.getCalcStyle()
244
- const events = {}
280
+ var hasChilds = looseChildren ? Array.isArray(dChildren) : children.length > 0;
281
+ var className = menuClass('item', isDisabled === true && 'disabled', hasChilds ? 'has-children' : 'no-children', isActive && 'active', open && 'open', isUp && 'open-up', isHighLight && 'highlight', inPath && 'in-path', frontCaret && "caret-" + frontCaretType, parentSelectable && 'selectable');
282
+ var style = this.getCalcStyle();
283
+ var events = {};
284
+
245
285
  if (mode !== 'inline') {
246
- events.onMouseEnter = this.handleMouseEnter
247
- events.onMouseLeave = this.handleMouseLeave
286
+ events.onMouseEnter = this.handleMouseEnter;
287
+ events.onMouseLeave = this.handleMouseLeave;
248
288
  }
249
- return (
250
- <li className={className} {...events} ref={this.bindElement}>
251
- {this.renderItem(hasChilds, style)}
252
- {hasChilds && (
253
- <List
254
- // className={menuClass('sub')}
255
- data={children}
256
- disabled={disabled}
257
- renderItem={renderItem}
258
- keygen={keygen}
259
- inlineIndent={mode === 'horizontal' ? 0 : inlineIndent}
260
- mode={mode === 'horizontal' ? 'inline' : mode}
261
- onClick={onClick}
262
- path={this.id}
263
- level={level + 1}
264
- open={open}
265
- toggleOpenKeys={toggleOpenKeys}
266
- linkKey={linkKey}
267
- toggleDuration={toggleDuration}
268
- frontCaret={frontCaret}
269
- looseChildren={looseChildren}
270
- parentSelectable={parentSelectable}
271
- />
272
- )}
273
- </li>
274
- )
275
- }
276
- }
289
+
290
+ return React.createElement("li", _extends({
291
+ className: className
292
+ }, events, {
293
+ ref: this.bindElement
294
+ }), this.renderItem(hasChilds, style), hasChilds && React.createElement(List // className={menuClass('sub')}
295
+ , {
296
+ data: children,
297
+ disabled: disabled,
298
+ renderItem: renderItem,
299
+ keygen: keygen,
300
+ inlineIndent: mode === 'horizontal' ? 0 : inlineIndent,
301
+ mode: mode === 'horizontal' ? 'inline' : mode,
302
+ onClick: onClick,
303
+ path: this.id,
304
+ level: level + 1,
305
+ open: open,
306
+ toggleOpenKeys: toggleOpenKeys,
307
+ linkKey: linkKey,
308
+ toggleDuration: toggleDuration,
309
+ frontCaret: frontCaret,
310
+ looseChildren: looseChildren,
311
+ parentSelectable: parentSelectable
312
+ }));
313
+ };
314
+
315
+ return Item;
316
+ }(PureComponent);
277
317
 
278
318
  Item.propTypes = {
279
319
  bindItem: PropTypes.func,
@@ -297,7 +337,6 @@ Item.propTypes = {
297
337
  looseChildren: PropTypes.bool,
298
338
  parentSelectable: PropTypes.bool,
299
339
  frontCaretType: PropTypes.oneOf(['hollow', 'solid']),
300
- caretColor: PropTypes.string,
301
- }
302
-
303
- export default consumer(Item)
340
+ caretColor: PropTypes.string
341
+ };
342
+ export default consumer(Item);