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
@@ -1,54 +1,67 @@
1
- import React, { PureComponent } from 'react'
2
- import PropTypes from 'prop-types'
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
3
+ import React, { PureComponent } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ var inputStyle = {
6
+ display: 'none'
7
+ };
3
8
 
4
- const inputStyle = { display: 'none' }
9
+ var FileInput =
10
+ /*#__PURE__*/
11
+ function (_PureComponent) {
12
+ _inheritsLoose(FileInput, _PureComponent);
5
13
 
6
- class FileInput extends PureComponent {
7
- constructor(props) {
8
- super(props)
14
+ function FileInput(props) {
15
+ var _this;
9
16
 
10
- this.locked = false
11
- this.bindElement = this.bindElement.bind(this)
17
+ _this = _PureComponent.call(this, props) || this;
18
+ _this.locked = false;
19
+ _this.bindElement = _this.bindElement.bind(_assertThisInitialized(_assertThisInitialized(_this)));
20
+ return _this;
12
21
  }
13
22
 
14
- bindElement(el) {
15
- this.input = el
16
- }
23
+ var _proto = FileInput.prototype;
17
24
 
18
- click() {
19
- if (this.locked) return
20
- this.locked = true
25
+ _proto.bindElement = function bindElement(el) {
26
+ this.input = el;
27
+ };
21
28
 
22
- this.input.value = ''
23
- this.input.click()
29
+ _proto.click = function click() {
30
+ var _this2 = this;
24
31
 
25
- setTimeout(() => {
26
- this.locked = false
27
- }, 1000)
28
- }
32
+ if (this.locked) return;
33
+ this.locked = true;
34
+ this.input.value = '';
35
+ this.input.click();
36
+ setTimeout(function () {
37
+ _this2.locked = false;
38
+ }, 1000);
39
+ };
29
40
 
30
- render() {
31
- const { accept, onChange, multiple, webkitdirectory } = this.props
32
-
33
- return (
34
- <input
35
- ref={this.bindElement}
36
- accept={accept}
37
- multiple={multiple}
38
- onChange={onChange}
39
- style={inputStyle}
40
- webkitdirectory={webkitdirectory}
41
- type="file"
42
- />
43
- )
44
- }
45
- }
41
+ _proto.render = function render() {
42
+ var _this$props = this.props,
43
+ accept = _this$props.accept,
44
+ onChange = _this$props.onChange,
45
+ multiple = _this$props.multiple,
46
+ webkitdirectory = _this$props.webkitdirectory;
47
+ return React.createElement("input", {
48
+ ref: this.bindElement,
49
+ accept: accept,
50
+ multiple: multiple,
51
+ onChange: onChange,
52
+ style: inputStyle,
53
+ webkitdirectory: webkitdirectory,
54
+ type: "file"
55
+ });
56
+ };
57
+
58
+ return FileInput;
59
+ }(PureComponent);
46
60
 
47
61
  FileInput.propTypes = {
48
62
  accept: PropTypes.string,
49
63
  multiple: PropTypes.bool,
50
64
  onChange: PropTypes.func.isRequired,
51
- webkitdirectory: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
52
- }
53
-
54
- export default FileInput
65
+ webkitdirectory: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])
66
+ };
67
+ export default FileInput;
@@ -1,25 +1,38 @@
1
- import React, { PureComponent } from 'react'
2
- import PropTypes from 'prop-types'
3
- import immer from 'immer'
4
- import classname from 'classnames'
5
- import { uploadClass } from './styles'
6
- import Upload from './Upload'
7
- import { ERROR } from './request'
8
- import { getLocale } from '../locale'
9
-
10
- export const Handler = ({ className, disabled, urlInvalid, children, style, width, height, ...otherProps }) => {
11
- const mc = classname(
12
- uploadClass('image-plus', 'image-item', disabled && 'disabled', urlInvalid && 'url-invalid-border'),
13
- className
14
- )
15
- const ms = Object.assign({}, { width, height }, style)
16
- return (
17
- <div {...otherProps} style={ms} tabIndex={disabled ? -1 : 0} className={mc}>
18
- {children || <div className={uploadClass('indicator', urlInvalid && 'url-invalid-indicator')} />}
19
- </div>
20
- )
21
- }
22
-
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
5
+ import React, { PureComponent } from 'react';
6
+ import PropTypes from 'prop-types';
7
+ import immer from 'immer';
8
+ import classname from 'classnames';
9
+ import { uploadClass } from './styles';
10
+ import Upload from './Upload';
11
+ import { ERROR } from './request';
12
+ import { getLocale } from '../locale';
13
+ export var Handler = function Handler(_ref) {
14
+ var className = _ref.className,
15
+ disabled = _ref.disabled,
16
+ urlInvalid = _ref.urlInvalid,
17
+ children = _ref.children,
18
+ style = _ref.style,
19
+ width = _ref.width,
20
+ height = _ref.height,
21
+ otherProps = _objectWithoutPropertiesLoose(_ref, ["className", "disabled", "urlInvalid", "children", "style", "width", "height"]);
22
+
23
+ var mc = classname(uploadClass('image-plus', 'image-item', disabled && 'disabled', urlInvalid && 'url-invalid-border'), className);
24
+ var ms = Object.assign({}, {
25
+ width: width,
26
+ height: height
27
+ }, style);
28
+ return React.createElement("div", _extends({}, otherProps, {
29
+ style: ms,
30
+ tabIndex: disabled ? -1 : 0,
31
+ className: mc
32
+ }), children || React.createElement("div", {
33
+ className: uploadClass('indicator', urlInvalid && 'url-invalid-indicator')
34
+ }));
35
+ };
23
36
  Handler.propTypes = {
24
37
  className: PropTypes.string,
25
38
  disabled: PropTypes.bool,
@@ -27,106 +40,138 @@ Handler.propTypes = {
27
40
  children: PropTypes.node,
28
41
  style: PropTypes.object,
29
42
  width: PropTypes.number,
30
- height: PropTypes.number,
31
- }
32
-
43
+ height: PropTypes.number
44
+ };
33
45
  Handler.defaultProps = {
34
46
  width: 80,
35
- height: 80,
36
- }
37
-
38
- class Image extends PureComponent {
39
- constructor(props) {
40
- super(props)
41
- this.beforeUpload = this.beforeUpload.bind(this)
42
- this.handleMouseDown = this.handleMouseDown.bind(this)
43
- this.handleKeyDown = this.handleKeyDown.bind(this)
44
- this.state = {
45
- urlInvalid: false,
46
- }
47
- this.timeout = null
47
+ height: 80
48
+ };
49
+
50
+ var Image =
51
+ /*#__PURE__*/
52
+ function (_PureComponent) {
53
+ _inheritsLoose(Image, _PureComponent);
54
+
55
+ function Image(props) {
56
+ var _this;
57
+
58
+ _this = _PureComponent.call(this, props) || this;
59
+ _this.beforeUpload = _this.beforeUpload.bind(_assertThisInitialized(_assertThisInitialized(_this)));
60
+ _this.handleMouseDown = _this.handleMouseDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));
61
+ _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));
62
+ _this.state = {
63
+ urlInvalid: false
64
+ };
65
+ _this.timeout = null;
66
+ return _this;
48
67
  }
49
68
 
50
- beforeUpload(blob, validatorHandle) {
51
- return new Promise((resolve, reject) => {
52
- const { imageSize } = this.props.validator
53
- const file = {}
54
- const reader = new FileReader()
55
-
56
- reader.onload = e => {
57
- const data = e.target.result
58
- file.data = data
59
-
60
- const image = new window.Image()
61
- image.onerror = () => {
62
- this.setState(
63
- immer(draft => {
64
- draft.urlInvalid = true
65
- })
66
- )
67
- reject()
68
- }
69
- image.onload = () => {
69
+ var _proto = Image.prototype;
70
+
71
+ _proto.beforeUpload = function beforeUpload(blob, validatorHandle) {
72
+ var _this2 = this;
73
+
74
+ return new Promise(function (resolve, reject) {
75
+ var imageSize = _this2.props.validator.imageSize;
76
+ var file = {};
77
+ var reader = new FileReader();
78
+
79
+ reader.onload = function (e) {
80
+ var data = e.target.result;
81
+ file.data = data;
82
+ var image = new window.Image();
83
+
84
+ image.onerror = function () {
85
+ _this2.setState(immer(function (draft) {
86
+ draft.urlInvalid = true;
87
+ }));
88
+
89
+ reject();
90
+ };
91
+
92
+ image.onload = function () {
70
93
  if (!imageSize) {
71
- resolve(file)
72
- return
94
+ resolve(file);
95
+ return;
73
96
  }
74
- const res = imageSize(image)
97
+
98
+ var res = imageSize(image);
99
+
75
100
  if (res instanceof Error) {
76
- if (!validatorHandle(res, blob)) reject()
77
- file.status = ERROR
78
- file.message = res.message
101
+ if (!validatorHandle(res, blob)) reject();
102
+ file.status = ERROR;
103
+ file.message = res.message;
79
104
  }
80
- resolve(file)
81
- }
82
- image.src = data
83
- }
84
105
 
85
- reader.readAsDataURL(blob)
86
- })
87
- }
106
+ resolve(file);
107
+ };
88
108
 
89
- handleKeyDown(e) {
90
- this.setState({ urlInvalid: false })
91
- if (e.keyCode === 13) e.target.click()
92
- }
109
+ image.src = data;
110
+ };
93
111
 
94
- handleMouseDown() {
95
- this.setState({ urlInvalid: false })
96
- }
112
+ reader.readAsDataURL(blob);
113
+ });
114
+ };
115
+
116
+ _proto.handleKeyDown = function handleKeyDown(e) {
117
+ this.setState({
118
+ urlInvalid: false
119
+ });
120
+ if (e.keyCode === 13) e.target.click();
121
+ };
122
+
123
+ _proto.handleMouseDown = function handleMouseDown() {
124
+ this.setState({
125
+ urlInvalid: false
126
+ });
127
+ };
128
+
129
+ _proto.render = function render() {
130
+ var _this3 = this;
131
+
132
+ var _this$props = this.props,
133
+ children = _this$props.children,
134
+ width = _this$props.width,
135
+ height = _this$props.height,
136
+ ignorePreview = _this$props.ignorePreview,
137
+ others = _objectWithoutPropertiesLoose(_this$props, ["children", "width", "height", "ignorePreview"]);
138
+
139
+ var urlInvalid = this.state.urlInvalid;
97
140
 
98
- render() {
99
- const { children, width, height, ignorePreview, ...others } = this.props
100
- const { urlInvalid } = this.state
101
141
  if (urlInvalid) {
102
- clearTimeout(this.timeout)
103
- this.timeout = setTimeout(() => {
104
- this.setState({ urlInvalid: false })
105
- }, 3000)
142
+ clearTimeout(this.timeout);
143
+ this.timeout = setTimeout(function () {
144
+ _this3.setState({
145
+ urlInvalid: false
146
+ });
147
+ }, 3000);
106
148
  }
107
149
 
108
- const style = { width, height }
109
-
110
- return (
111
- <Upload {...others} imageStyle={style} beforeUpload={ignorePreview ? undefined : this.beforeUpload}>
112
- <Handler
113
- disabled={this.props.disabled}
114
- style={style}
115
- onKeyDown={this.handleKeyDown}
116
- onMouseDown={this.handleMouseDown}
117
- urlInvalid={urlInvalid}
118
- >
119
- {children}
120
- </Handler>
121
- {urlInvalid && (
122
- <div style={{ width: '100%', position: 'relative' }}>
123
- <div className={uploadClass('url-invalid-message')}>{getLocale('urlInvalidMsg')}</div>
124
- </div>
125
- )}
126
- </Upload>
127
- )
128
- }
129
- }
150
+ var style = {
151
+ width: width,
152
+ height: height
153
+ };
154
+ return React.createElement(Upload, _extends({}, others, {
155
+ imageStyle: style,
156
+ beforeUpload: ignorePreview ? undefined : this.beforeUpload
157
+ }), React.createElement(Handler, {
158
+ disabled: this.props.disabled,
159
+ style: style,
160
+ onKeyDown: this.handleKeyDown,
161
+ onMouseDown: this.handleMouseDown,
162
+ urlInvalid: urlInvalid
163
+ }, children), urlInvalid && React.createElement("div", {
164
+ style: {
165
+ width: '100%',
166
+ position: 'relative'
167
+ }
168
+ }, React.createElement("div", {
169
+ className: uploadClass('url-invalid-message')
170
+ }, getLocale('urlInvalidMsg'))));
171
+ };
172
+
173
+ return Image;
174
+ }(PureComponent);
130
175
 
131
176
  Image.propTypes = {
132
177
  accept: PropTypes.string,
@@ -135,19 +180,17 @@ Image.propTypes = {
135
180
  recoverAble: PropTypes.bool,
136
181
  validator: PropTypes.shape({
137
182
  imageSize: PropTypes.func,
138
- size: PropTypes.func,
183
+ size: PropTypes.func
139
184
  }),
140
185
  width: PropTypes.number,
141
186
  disabled: PropTypes.bool,
142
187
  ignorePreview: PropTypes.bool,
143
- GapProps: PropTypes.shape({}),
144
- }
145
-
188
+ GapProps: PropTypes.shape({})
189
+ };
146
190
  Image.defaultProps = {
147
191
  accept: 'image/*',
148
192
  height: 80,
149
193
  validator: {},
150
- width: 80,
151
- }
152
-
153
- export default Image
194
+ width: 80
195
+ };
196
+ export default Image;
@@ -1,45 +1,66 @@
1
- import React, { PureComponent } from 'react'
2
- import PropTypes from 'prop-types'
3
- import Progress from '../Progress'
4
- import { uploadClass } from './styles'
5
- import Image from '../Image'
6
- import { ERROR } from './request'
7
-
8
- class ImageFile extends PureComponent {
9
- constructor(props) {
10
- super(props)
11
- this.handleRemove = this.handleRemove.bind(this)
12
- }
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
3
+ import React, { PureComponent } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import Progress from '../Progress';
6
+ import { uploadClass } from './styles';
7
+ import Image from '../Image';
8
+ import { ERROR } from './request';
13
9
 
14
- handleRemove() {
15
- this.props.onRemove(this.props.id)
16
- }
10
+ var ImageFile =
11
+ /*#__PURE__*/
12
+ function (_PureComponent) {
13
+ _inheritsLoose(ImageFile, _PureComponent);
17
14
 
18
- render() {
19
- const { process, status, style, data, message } = this.props
20
- const className = uploadClass('image-item', status === ERROR && 'error')
21
-
22
- return (
23
- <div style={style} className={className}>
24
- {data && <Image src={data} fit="center" width="auto" height={0} className={uploadClass('image-bg')} />}
25
-
26
- {message && <div className={uploadClass('message')}>{message}</div>}
27
-
28
- <span className={uploadClass('delete')} onClick={this.handleRemove} />
29
-
30
- <div className={uploadClass('progress-bg')}>
31
- <Progress
32
- className={uploadClass('progress')}
33
- color="#f2f2f2"
34
- background="rgba(0,0,0,0.5)"
35
- value={process}
36
- strokeWidth={2}
37
- />
38
- </div>
39
- </div>
40
- )
15
+ function ImageFile(props) {
16
+ var _this;
17
+
18
+ _this = _PureComponent.call(this, props) || this;
19
+ _this.handleRemove = _this.handleRemove.bind(_assertThisInitialized(_assertThisInitialized(_this)));
20
+ return _this;
41
21
  }
42
- }
22
+
23
+ var _proto = ImageFile.prototype;
24
+
25
+ _proto.handleRemove = function handleRemove() {
26
+ this.props.onRemove(this.props.id);
27
+ };
28
+
29
+ _proto.render = function render() {
30
+ var _this$props = this.props,
31
+ process = _this$props.process,
32
+ status = _this$props.status,
33
+ style = _this$props.style,
34
+ data = _this$props.data,
35
+ message = _this$props.message;
36
+ var className = uploadClass('image-item', status === ERROR && 'error');
37
+ return React.createElement("div", {
38
+ style: style,
39
+ className: className
40
+ }, data && React.createElement(Image, {
41
+ src: data,
42
+ fit: "center",
43
+ width: "auto",
44
+ height: 0,
45
+ className: uploadClass('image-bg')
46
+ }), message && React.createElement("div", {
47
+ className: uploadClass('message')
48
+ }, message), React.createElement("span", {
49
+ className: uploadClass('delete'),
50
+ onClick: this.handleRemove
51
+ }), React.createElement("div", {
52
+ className: uploadClass('progress-bg')
53
+ }, React.createElement(Progress, {
54
+ className: uploadClass('progress'),
55
+ color: "#f2f2f2",
56
+ background: "rgba(0,0,0,0.5)",
57
+ value: process,
58
+ strokeWidth: 2
59
+ })));
60
+ };
61
+
62
+ return ImageFile;
63
+ }(PureComponent);
43
64
 
44
65
  ImageFile.propTypes = {
45
66
  id: PropTypes.string,
@@ -48,7 +69,6 @@ ImageFile.propTypes = {
48
69
  process: PropTypes.number,
49
70
  status: PropTypes.number,
50
71
  style: PropTypes.object,
51
- data: PropTypes.string,
52
- }
53
-
54
- export default ImageFile
72
+ data: PropTypes.string
73
+ };
74
+ export default ImageFile;