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/Tree/Root.js CHANGED
@@ -1,27 +1,31 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
- import classnames from 'classnames'
4
- import { getProps } from '../utils/proptypes'
5
- import { treeClass } from './styles'
6
- import List from './List'
7
- import { isRTL } from '../config'
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import classnames from 'classnames';
6
+ import { getProps } from '../utils/proptypes';
7
+ import { treeClass } from './styles';
8
+ import List from './List';
9
+ import { isRTL } from '../config';
8
10
 
9
11
  function Root(props) {
10
- const className = classnames(treeClass('_', props.line ? 'with-line' : 'no-line', isRTL() && 'rtl'), props.className)
11
-
12
- return <List {...props} className={className} expanded path="" isRoot deepIndex={0} />
12
+ var className = classnames(treeClass('_', props.line ? 'with-line' : 'no-line', isRTL() && 'rtl'), props.className);
13
+ return React.createElement(List, _extends({}, props, {
14
+ className: className,
15
+ expanded: true,
16
+ path: "",
17
+ isRoot: true,
18
+ deepIndex: 0
19
+ }));
13
20
  }
14
21
 
15
- Root.propTypes = {
16
- ...getProps(PropTypes),
22
+ Root.propTypes = _objectSpread({}, getProps(PropTypes), {
17
23
  keygen: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,
18
24
  data: PropTypes.array,
19
- line: PropTypes.bool,
20
- }
21
-
25
+ line: PropTypes.bool
26
+ });
22
27
  Root.defaultProps = {
23
28
  data: [],
24
- line: true,
25
- }
26
-
27
- export default Root
29
+ line: true
30
+ };
31
+ export default Root;
package/es/Tree/Tree.js CHANGED
@@ -1,251 +1,318 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
- import immer from 'immer'
4
- import { PureComponent } from '../component'
5
- import { getProps } from '../utils/proptypes'
6
- import DatumTree from '../Datum/Tree'
7
- import Root from './Root'
8
-
9
- class Tree extends PureComponent {
10
- constructor(props) {
11
- super(props)
12
-
13
- this.state = { active: null }
14
-
15
- this.nodes = new Map()
16
- this.datum =
17
- props.datum ||
18
- new DatumTree({
19
- data: props.data,
20
- loader: props.loader,
21
- keygen: props.keygen,
22
- mode: props.mode,
23
- onChange: props.onChange,
24
- value: props.value || props.defaultValue,
25
- disabled: typeof props.disabled === 'function' ? props.disabled : undefined,
26
- childrenKey: props.childrenKey,
27
- unmatch: props.unmatch,
28
- })
29
- this.handleDrop = this.handleDrop.bind(this)
30
- this.handleToggle = this.handleToggle.bind(this)
31
- this.handleNodeClick = this.handleNodeClick.bind(this)
32
- this.bindNode = this.bindNode.bind(this)
33
- this.unbindNode = this.unbindNode.bind(this)
34
- this.handleDragImageSelector = this.handleProps.bind(this, 'dragImageSelector')
35
- this.handleClidrenClass = this.handleProps.bind(this, 'childrenClass')
36
- this.handleLeafClass = this.handleProps.bind(this, 'leafClass')
37
- this.bindDatum()
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread";
2
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import immer from 'immer';
7
+ import { PureComponent } from '../component';
8
+ import { getProps } from '../utils/proptypes';
9
+ import DatumTree from '../Datum/Tree';
10
+ import Root from './Root';
11
+
12
+ var Tree =
13
+ /*#__PURE__*/
14
+ function (_PureComponent) {
15
+ _inheritsLoose(Tree, _PureComponent);
16
+
17
+ function Tree(props) {
18
+ var _this;
19
+
20
+ _this = _PureComponent.call(this, props) || this;
21
+ _this.state = {
22
+ active: null
23
+ };
24
+ _this.nodes = new Map();
25
+ _this.datum = props.datum || new DatumTree({
26
+ data: props.data,
27
+ loader: props.loader,
28
+ keygen: props.keygen,
29
+ mode: props.mode,
30
+ onChange: props.onChange,
31
+ value: props.value || props.defaultValue,
32
+ disabled: typeof props.disabled === 'function' ? props.disabled : undefined,
33
+ childrenKey: props.childrenKey,
34
+ unmatch: props.unmatch
35
+ });
36
+ _this.handleDrop = _this.handleDrop.bind(_assertThisInitialized(_assertThisInitialized(_this)));
37
+ _this.handleToggle = _this.handleToggle.bind(_assertThisInitialized(_assertThisInitialized(_this)));
38
+ _this.handleNodeClick = _this.handleNodeClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));
39
+ _this.bindNode = _this.bindNode.bind(_assertThisInitialized(_assertThisInitialized(_this)));
40
+ _this.unbindNode = _this.unbindNode.bind(_assertThisInitialized(_assertThisInitialized(_this)));
41
+ _this.handleDragImageSelector = _this.handleProps.bind(_assertThisInitialized(_assertThisInitialized(_this)), 'dragImageSelector');
42
+ _this.handleClidrenClass = _this.handleProps.bind(_assertThisInitialized(_assertThisInitialized(_this)), 'childrenClass');
43
+ _this.handleLeafClass = _this.handleProps.bind(_assertThisInitialized(_assertThisInitialized(_this)), 'leafClass');
44
+
45
+ _this.bindDatum();
46
+
47
+ return _this;
38
48
  }
39
49
 
40
- componentDidUpdate(prevProps) {
50
+ var _proto = Tree.prototype;
51
+
52
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
41
53
  if (prevProps.expanded !== this.props.expanded) {
42
- this.handleExpanded(this.props.expanded)
54
+ this.handleExpanded(this.props.expanded);
43
55
  }
56
+
44
57
  if (prevProps.active !== this.props.active) {
45
- this.handleActive(this.props.active)
58
+ this.handleActive(this.props.active);
46
59
  }
47
60
 
48
61
  if (this.props.onChange || this.props.onDrop || this.props.radioUpdate) {
49
- this.datum.mode = this.props.mode
50
- if (prevProps.value !== this.props.value) this.datum.setValue(this.props.value || [])
51
- if (prevProps.data !== this.props.data && this.props.dataUpdate) this.datum.setData(this.props.data)
62
+ this.datum.mode = this.props.mode;
63
+ if (prevProps.value !== this.props.value) this.datum.setValue(this.props.value || []);
64
+ if (prevProps.data !== this.props.data && this.props.dataUpdate) this.datum.setData(this.props.data);
52
65
  }
53
- }
66
+ };
54
67
 
55
- getActive() {
56
- const { active } = this.props
57
- return active === undefined ? this.state.active : active
58
- }
68
+ _proto.getActive = function getActive() {
69
+ var active = this.props.active;
70
+ return active === undefined ? this.state.active : active;
71
+ };
59
72
 
60
- bindDatum() {
61
- const { bindDatum } = this.props
62
- if (bindDatum) bindDatum(this.datum)
63
- }
73
+ _proto.bindDatum = function bindDatum() {
74
+ var bindDatum = this.props.bindDatum;
75
+ if (bindDatum) bindDatum(this.datum);
76
+ };
64
77
 
65
- bindNode(id, update) {
78
+ _proto.bindNode = function bindNode(id, update) {
66
79
  /*
67
80
  if (this.nodes.has(id)) {
68
81
  console.error(`Node with '${id}' key has already been added. Tree node's key must be unique.`)
69
82
  return {}
70
83
  }
71
84
  */
72
- this.nodes.set(id, update)
85
+ this.nodes.set(id, update);
86
+ var active = this.props.active === id;
87
+ var expanded = this.props.expanded || this.props.defaultExpanded;
73
88
 
74
- const active = this.props.active === id
75
- const expanded = this.props.expanded || this.props.defaultExpanded
76
89
  if (this.props.defaultExpandAll) {
77
- return { active, expanded: true }
90
+ return {
91
+ active: active,
92
+ expanded: true
93
+ };
78
94
  }
79
95
 
80
- return { active, expanded: expanded && expanded.indexOf(id) >= 0 }
81
- }
96
+ return {
97
+ active: active,
98
+ expanded: expanded && expanded.indexOf(id) >= 0
99
+ };
100
+ };
82
101
 
83
- unbindNode(id) {
84
- this.nodes.delete(id)
85
- }
102
+ _proto.unbindNode = function unbindNode(id) {
103
+ this.nodes.delete(id);
104
+ };
105
+
106
+ _proto.handleExpanded = function handleExpanded(expanded) {
107
+ var temp = new Set(expanded);
108
+
109
+ for (var _iterator = this.nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
110
+ var _ref;
111
+
112
+ if (_isArray) {
113
+ if (_i >= _iterator.length) break;
114
+ _ref = _iterator[_i++];
115
+ } else {
116
+ _i = _iterator.next();
117
+ if (_i.done) break;
118
+ _ref = _i.value;
119
+ }
86
120
 
87
- handleExpanded(expanded) {
88
- const temp = new Set(expanded)
89
- for (const [id, update] of this.nodes) {
90
- update('expanded', temp.has(id))
121
+ var _ref2 = _ref,
122
+ id = _ref2[0],
123
+ update = _ref2[1];
124
+ update('expanded', temp.has(id));
91
125
  }
92
- }
126
+ };
127
+
128
+ _proto.handleActive = function handleActive(active) {
129
+ for (var _iterator2 = this.nodes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
130
+ var _ref3;
131
+
132
+ if (_isArray2) {
133
+ if (_i2 >= _iterator2.length) break;
134
+ _ref3 = _iterator2[_i2++];
135
+ } else {
136
+ _i2 = _iterator2.next();
137
+ if (_i2.done) break;
138
+ _ref3 = _i2.value;
139
+ }
93
140
 
94
- handleActive(active) {
95
- for (const [id, update] of this.nodes) {
96
- update('active', id === active)
141
+ var _ref4 = _ref3,
142
+ id = _ref4[0],
143
+ update = _ref4[1];
144
+ update('active', id === active);
97
145
  }
98
- }
146
+ };
147
+
148
+ _proto.handleNodeClick = function handleNodeClick(node, id) {
149
+ var _this2 = this;
150
+
151
+ var _this$props = this.props,
152
+ active = _this$props.active,
153
+ onClick = _this$props.onClick;
99
154
 
100
- handleNodeClick(node, id) {
101
- const { active, onClick } = this.props
102
155
  if (active === undefined) {
103
- this.setState({ active: id }, () => {
104
- this.handleActive(id)
105
- })
156
+ this.setState({
157
+ active: id
158
+ }, function () {
159
+ _this2.handleActive(id);
160
+ });
106
161
  }
162
+
107
163
  if (onClick) {
108
- onClick(node, id, this.datum.getPath(id))
164
+ onClick(node, id, this.datum.getPath(id));
109
165
  }
110
- }
166
+ };
111
167
 
112
- handleToggle(id) {
113
- const { expanded, onExpand } = this.props
114
- let newExpanded
168
+ _proto.handleToggle = function handleToggle(id) {
169
+ var _this$props2 = this.props,
170
+ expanded = _this$props2.expanded,
171
+ onExpand = _this$props2.onExpand;
172
+ var newExpanded;
115
173
 
116
174
  if (!expanded && onExpand) {
117
- onExpand([id])
118
- return
175
+ onExpand([id]);
176
+ return;
119
177
  }
120
178
 
121
179
  if (expanded.indexOf(id) >= 0) {
122
- newExpanded = expanded.filter(e => e !== id)
180
+ newExpanded = expanded.filter(function (e) {
181
+ return e !== id;
182
+ });
123
183
  } else {
124
- newExpanded = [...expanded, id]
184
+ newExpanded = [].concat(expanded, [id]);
125
185
  }
126
- if (onExpand) onExpand(newExpanded)
127
- }
128
186
 
129
- handleDrop(id, targetId, position) {
130
- const { childrenKey } = this.props
131
- const current = this.datum.getPath(id)
132
- const target = this.datum.getPath(targetId)
133
- const data = immer(this.props.data, draft => {
134
- let node = draft
135
- let temp
136
- let removeNode
137
- let offset = 0
138
- current.indexPath.forEach((p, i) => {
187
+ if (onExpand) onExpand(newExpanded);
188
+ };
189
+
190
+ _proto.handleDrop = function handleDrop(id, targetId, position) {
191
+ var _this3 = this;
192
+
193
+ var childrenKey = this.props.childrenKey;
194
+ var current = this.datum.getPath(id);
195
+ var target = this.datum.getPath(targetId);
196
+ var data = immer(this.props.data, function (draft) {
197
+ var node = draft;
198
+ var temp;
199
+ var removeNode;
200
+ var offset = 0;
201
+ current.indexPath.forEach(function (p, i) {
139
202
  if (i < current.indexPath.length - 1) {
140
- node = node[p][childrenKey]
203
+ node = node[p][childrenKey];
141
204
  } else {
142
- temp = node
143
- removeNode = () => temp.splice(p, 1)[0]
144
- node = node[p]
145
- }
146
- })
205
+ temp = node;
147
206
 
148
- let tnode = draft
149
- target.indexPath.forEach((p, i) => {
207
+ removeNode = function removeNode() {
208
+ return temp.splice(p, 1)[0];
209
+ };
210
+
211
+ node = node[p];
212
+ }
213
+ });
214
+ var tnode = draft;
215
+ target.indexPath.forEach(function (p, i) {
150
216
  if (i < target.indexPath.length - 1) {
151
- tnode = tnode[p][childrenKey]
217
+ tnode = tnode[p][childrenKey];
152
218
  } else if (tnode === temp) {
153
219
  // same parent
154
- removeNode()
220
+ removeNode();
221
+
155
222
  if (current.index <= target.index) {
156
- offset = -1
223
+ offset = -1;
157
224
  }
158
- removeNode = () => {}
225
+
226
+ removeNode = function removeNode() {};
159
227
  }
160
- })
228
+ });
161
229
 
162
230
  if (position === -1) {
163
- tnode = tnode[target.index + offset]
164
- if (!Array.isArray(tnode[childrenKey])) tnode[childrenKey] = []
165
- tnode[childrenKey].push(node)
166
- position = tnode[childrenKey].length - 1
167
- const update = this.nodes.get(targetId)
168
- if (update) update('expanded', true)
231
+ tnode = tnode[target.index + offset];
232
+ if (!Array.isArray(tnode[childrenKey])) tnode[childrenKey] = [];
233
+ tnode[childrenKey].push(node);
234
+ position = tnode[childrenKey].length - 1;
235
+
236
+ var update = _this3.nodes.get(targetId);
237
+
238
+ if (update) update('expanded', true);
169
239
  } else {
170
- tnode.splice(position + offset, 0, node)
171
- targetId = target.path[target.path.length - 1]
240
+ tnode.splice(position + offset, 0, node);
241
+ targetId = target.path[target.path.length - 1];
172
242
  }
173
243
 
174
- removeNode()
175
- })
176
- this.props.onDrop(data, id, targetId, position)
177
- }
244
+ removeNode();
245
+ });
246
+ this.props.onDrop(data, id, targetId, position);
247
+ };
178
248
 
179
- handleProps(key) {
180
- return this.props[key]
181
- }
249
+ _proto.handleProps = function handleProps(key) {
250
+ return this.props[key];
251
+ };
182
252
 
183
- render() {
184
- const {
185
- className,
186
- style,
187
- data,
188
- disabled,
189
- line,
190
- keygen,
191
- onExpand,
192
- onChange,
193
- renderItem,
194
- mode,
195
- onDrop,
196
- loader,
197
- parentClickExpand,
198
- childrenKey,
199
- expandIcons,
200
- dragImageStyle,
201
- dragImageSelector,
202
- childrenClass,
203
- leafClass,
204
- dragHoverExpand,
205
- doubleClickExpand,
206
- iconClass,
207
- nodeClass,
208
- dragSibling,
209
- } = this.props
210
- const onToggle = onExpand ? this.handleToggle : undefined
211
-
212
- return (
213
- <Root
214
- className={className}
215
- data={data}
216
- datum={this.datum}
217
- disabled={typeof disabled !== 'function' && disabled}
218
- bindNode={this.bindNode}
219
- keygen={keygen}
220
- line={line}
221
- loader={loader}
222
- mode={mode}
223
- unbindNode={this.unbindNode}
224
- onChange={onChange}
225
- onDrop={onDrop && this.handleDrop}
226
- onToggle={onToggle}
227
- onNodeClick={this.handleNodeClick}
228
- renderItem={renderItem}
229
- style={style}
230
- parentClickExpand={parentClickExpand}
231
- childrenKey={childrenKey}
232
- expandIcons={expandIcons}
233
- dragImageStyle={dragImageStyle}
234
- dragImageSelector={typeof dragImageSelector === 'function' ? dragImageSelector : this.handleDragImageSelector}
235
- childrenClass={typeof childrenClass === 'function' ? childrenClass : this.handleClidrenClass}
236
- leafClass={typeof leafClass === 'function' ? leafClass : this.handleLeafClass}
237
- dragHoverExpand={dragHoverExpand}
238
- doubleClickExpand={doubleClickExpand}
239
- iconClass={iconClass}
240
- nodeClass={nodeClass}
241
- dragSibling={dragSibling}
242
- />
243
- )
244
- }
245
- }
253
+ _proto.render = function render() {
254
+ var _this$props3 = this.props,
255
+ className = _this$props3.className,
256
+ style = _this$props3.style,
257
+ data = _this$props3.data,
258
+ disabled = _this$props3.disabled,
259
+ line = _this$props3.line,
260
+ keygen = _this$props3.keygen,
261
+ onExpand = _this$props3.onExpand,
262
+ onChange = _this$props3.onChange,
263
+ renderItem = _this$props3.renderItem,
264
+ mode = _this$props3.mode,
265
+ onDrop = _this$props3.onDrop,
266
+ loader = _this$props3.loader,
267
+ parentClickExpand = _this$props3.parentClickExpand,
268
+ childrenKey = _this$props3.childrenKey,
269
+ expandIcons = _this$props3.expandIcons,
270
+ dragImageStyle = _this$props3.dragImageStyle,
271
+ dragImageSelector = _this$props3.dragImageSelector,
272
+ childrenClass = _this$props3.childrenClass,
273
+ leafClass = _this$props3.leafClass,
274
+ dragHoverExpand = _this$props3.dragHoverExpand,
275
+ doubleClickExpand = _this$props3.doubleClickExpand,
276
+ iconClass = _this$props3.iconClass,
277
+ nodeClass = _this$props3.nodeClass,
278
+ dragSibling = _this$props3.dragSibling;
279
+ var onToggle = onExpand ? this.handleToggle : undefined;
280
+ return React.createElement(Root, {
281
+ className: className,
282
+ data: data,
283
+ datum: this.datum,
284
+ disabled: typeof disabled !== 'function' && disabled,
285
+ bindNode: this.bindNode,
286
+ keygen: keygen,
287
+ line: line,
288
+ loader: loader,
289
+ mode: mode,
290
+ unbindNode: this.unbindNode,
291
+ onChange: onChange,
292
+ onDrop: onDrop && this.handleDrop,
293
+ onToggle: onToggle,
294
+ onNodeClick: this.handleNodeClick,
295
+ renderItem: renderItem,
296
+ style: style,
297
+ parentClickExpand: parentClickExpand,
298
+ childrenKey: childrenKey,
299
+ expandIcons: expandIcons,
300
+ dragImageStyle: dragImageStyle,
301
+ dragImageSelector: typeof dragImageSelector === 'function' ? dragImageSelector : this.handleDragImageSelector,
302
+ childrenClass: typeof childrenClass === 'function' ? childrenClass : this.handleClidrenClass,
303
+ leafClass: typeof leafClass === 'function' ? leafClass : this.handleLeafClass,
304
+ dragHoverExpand: dragHoverExpand,
305
+ doubleClickExpand: doubleClickExpand,
306
+ iconClass: iconClass,
307
+ nodeClass: nodeClass,
308
+ dragSibling: dragSibling
309
+ });
310
+ };
311
+
312
+ return Tree;
313
+ }(PureComponent);
246
314
 
247
- Tree.propTypes = {
248
- ...getProps(PropTypes),
315
+ Tree.propTypes = _objectSpread({}, getProps(PropTypes), {
249
316
  active: PropTypes.any,
250
317
  data: PropTypes.array,
251
318
  defaultExpanded: PropTypes.arrayOf(PropTypes.string),
@@ -271,9 +338,8 @@ Tree.propTypes = {
271
338
  doubleClickExpand: PropTypes.bool,
272
339
  dragSibling: PropTypes.bool,
273
340
  nodeClass: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
274
- unmatch: PropTypes.bool,
275
- }
276
-
341
+ unmatch: PropTypes.bool
342
+ });
277
343
  Tree.defaultProps = {
278
344
  data: [],
279
345
  defaultExpanded: [],
@@ -281,7 +347,6 @@ Tree.defaultProps = {
281
347
  mode: 0,
282
348
  dataUpdate: true,
283
349
  childrenKey: 'children',
284
- dragImageStyle: {},
285
- }
286
-
287
- export default Tree
350
+ dragImageStyle: {}
351
+ };
352
+ export default Tree;
package/es/Tree/index.js CHANGED
@@ -1,9 +1,6 @@
1
- import Tree from './Tree'
2
- import inputable from '../Form/inputable'
3
-
4
- Tree.Select = inputable(Tree)
5
- Tree.Field = Tree.Select
6
-
7
- Tree.displayName = 'ShineoutTree'
8
-
9
- export default Tree
1
+ import Tree from './Tree';
2
+ import inputable from '../Form/inputable';
3
+ Tree.Select = inputable(Tree);
4
+ Tree.Field = Tree.Select;
5
+ Tree.displayName = 'ShineoutTree';
6
+ export default Tree;
@@ -1,4 +1,3 @@
1
- import treeLess from './tree.less'
2
- import genaration from '../../utils/classname'
3
-
4
- export const treeClass = genaration(treeLess, 'tree')
1
+ import treeLess from './tree.less';
2
+ import genaration from '../../utils/classname';
3
+ export var treeClass = genaration(treeLess, 'tree');