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/Icon/index.js CHANGED
@@ -1,31 +1,48 @@
1
- import React from 'react'
2
- import Icon from './Icon'
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import Icon from './Icon';
4
+ var links = {};
5
+ var scripts = {};
6
+ export default function (url, fontFamily, prefix) {
7
+ if (fontFamily === void 0) {
8
+ fontFamily = 'iconfont';
9
+ }
3
10
 
4
- const links = {}
5
- const scripts = {}
11
+ if (prefix === void 0) {
12
+ prefix = 'icon';
13
+ }
6
14
 
7
- export default function(url, fontFamily = 'iconfont', prefix = 'icon') {
8
15
  if (typeof url !== 'string') {
9
- console.error(`Shineout Icon url must be a string, but get ${url}`)
10
- return null
16
+ console.error("Shineout Icon url must be a string, but get " + url);
17
+ return null;
11
18
  }
12
- const ext = url.substr(url.lastIndexOf('.') + 1)
19
+
20
+ var ext = url.substr(url.lastIndexOf('.') + 1);
21
+
13
22
  if (ext === 'css' && !links[url]) {
14
- links[url] = true
15
- const link = document.createElement('link')
16
- link.setAttribute('rel', 'stylesheet')
17
- link.setAttribute('type', 'text/css')
18
- link.setAttribute('href', url)
19
- document.head.appendChild(link)
23
+ links[url] = true;
24
+ var link = document.createElement('link');
25
+ link.setAttribute('rel', 'stylesheet');
26
+ link.setAttribute('type', 'text/css');
27
+ link.setAttribute('href', url);
28
+ document.head.appendChild(link);
20
29
  }
30
+
21
31
  if (ext === 'js' && !scripts[url]) {
22
- const script = document.createElement('script')
23
- scripts[url] = script
24
- script.setAttribute('src', url)
25
- document.body.appendChild(script)
32
+ var script = document.createElement('script');
33
+ scripts[url] = script;
34
+ script.setAttribute('src', url);
35
+ document.body.appendChild(script);
26
36
  }
27
37
 
28
- const wrapperIcon = props => <Icon ext={ext} fontFamily={fontFamily} prefix={prefix} {...props} />
29
- wrapperIcon.isShineoutIcon = true
30
- return wrapperIcon
31
- }
38
+ var wrapperIcon = function wrapperIcon(props) {
39
+ return React.createElement(Icon, _extends({
40
+ ext: ext,
41
+ fontFamily: fontFamily,
42
+ prefix: prefix
43
+ }, props));
44
+ };
45
+
46
+ wrapperIcon.isShineoutIcon = true;
47
+ return wrapperIcon;
48
+ }
@@ -1,4 +1,3 @@
1
- import iconLess from './icon.less'
2
- import genaration from '../../utils/classname'
3
-
4
- export const iconClass = genaration(iconLess, 'icon')
1
+ import iconLess from './icon.less';
2
+ import genaration from '../../utils/classname';
3
+ export var iconClass = genaration(iconLess, 'icon');
@@ -1,125 +1,140 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
- import immer from 'immer'
4
- import { PureComponent } from '../component'
5
- import normalizeWheel from '../utils/dom/normalizeWheel'
6
- import { imageClass } from './styles'
7
- import icons from '../icons'
8
- import Magnify from './Magnify'
9
- import { docSize } from '../utils/dom/document'
10
-
11
- class Gallery extends PureComponent {
12
- constructor(props) {
13
- super(props)
14
-
15
- this.state = {
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
2
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import immer from 'immer';
6
+ import { PureComponent } from '../component';
7
+ import normalizeWheel from '../utils/dom/normalizeWheel';
8
+ import { imageClass } from './styles';
9
+ import icons from '../icons';
10
+ import Magnify from './Magnify';
11
+ import { docSize } from '../utils/dom/document';
12
+
13
+ var Gallery =
14
+ /*#__PURE__*/
15
+ function (_PureComponent) {
16
+ _inheritsLoose(Gallery, _PureComponent);
17
+
18
+ function Gallery(props) {
19
+ var _this;
20
+
21
+ _this = _PureComponent.call(this, props) || this;
22
+ _this.state = {
16
23
  current: props.current,
17
- direction: 'init',
18
- }
19
-
20
- this.handleScroll = this.handleScroll.bind(this)
21
- this.lockScroll = this.lockScroll.bind(this)
22
-
23
- this.scrollX = 0
24
- this.rawScroll = false
25
- }
26
-
27
- componentDidMount() {
28
- super.componentDidMount()
29
- document.addEventListener('wheel', this.handleScroll, { passive: false })
30
- }
31
-
32
- componentWillUnmount() {
33
- super.componentWillUnmount()
34
- document.removeEventListener('wheel', this.handleScroll, { passive: false })
35
- }
36
-
37
- lockScroll(status) {
38
- this.rawScroll = status
39
- }
40
-
41
- handleClick(direction) {
42
- const { length } = this.props.images
43
- this.setState(
44
- immer(draft => {
45
- draft.current += direction
46
- if (draft.current < 0) draft.current = 0
47
- else if (draft.current >= length) draft.current = length - 1
48
- else draft.direction = direction === 1 ? 'forward' : 'backward'
49
- }),
50
- () => {
51
- setTimeout(() => {
52
- this.setState({ direction: 'init' })
53
- }, 400)
54
- }
55
- )
56
- }
57
-
58
- handleScroll(e) {
59
- if (this.rawScroll) return
60
- e.preventDefault()
61
- if (this.scrollX !== 0) return
62
- const wheel = normalizeWheel(e)
63
- this.scrollX += wheel.spinX
64
-
65
- if (this.scrollX < 0) this.handleClick(-1)
66
- if (this.scrollX > 0) this.handleClick(1)
67
-
68
- this.scrollTimer = setTimeout(() => {
69
- this.scrollX = 0
70
- }, 1000)
24
+ direction: 'init'
25
+ };
26
+ _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_assertThisInitialized(_this)));
27
+ _this.lockScroll = _this.lockScroll.bind(_assertThisInitialized(_assertThisInitialized(_this)));
28
+ _this.scrollX = 0;
29
+ _this.rawScroll = false;
30
+ return _this;
71
31
  }
72
32
 
73
- renderImage(image, pos) {
74
- const windowHeight = docSize.height
75
- const windowWidth = docSize.width
33
+ var _proto = Gallery.prototype;
34
+
35
+ _proto.componentDidMount = function componentDidMount() {
36
+ _PureComponent.prototype.componentDidMount.call(this);
37
+
38
+ document.addEventListener('wheel', this.handleScroll, {
39
+ passive: false
40
+ });
41
+ };
42
+
43
+ _proto.componentWillUnmount = function componentWillUnmount() {
44
+ _PureComponent.prototype.componentWillUnmount.call(this);
45
+
46
+ document.removeEventListener('wheel', this.handleScroll, {
47
+ passive: false
48
+ });
49
+ };
50
+
51
+ _proto.lockScroll = function lockScroll(status) {
52
+ this.rawScroll = status;
53
+ };
54
+
55
+ _proto.handleClick = function handleClick(direction) {
56
+ var _this2 = this;
57
+
58
+ var length = this.props.images.length;
59
+ this.setState(immer(function (draft) {
60
+ draft.current += direction;
61
+ if (draft.current < 0) draft.current = 0;else if (draft.current >= length) draft.current = length - 1;else draft.direction = direction === 1 ? 'forward' : 'backward';
62
+ }), function () {
63
+ setTimeout(function () {
64
+ _this2.setState({
65
+ direction: 'init'
66
+ });
67
+ }, 400);
68
+ });
69
+ };
70
+
71
+ _proto.handleScroll = function handleScroll(e) {
72
+ var _this3 = this;
73
+
74
+ if (this.rawScroll) return;
75
+ e.preventDefault();
76
+ if (this.scrollX !== 0) return;
77
+ var wheel = normalizeWheel(e);
78
+ this.scrollX += wheel.spinX;
79
+ if (this.scrollX < 0) this.handleClick(-1);
80
+ if (this.scrollX > 0) this.handleClick(1);
81
+ this.scrollTimer = setTimeout(function () {
82
+ _this3.scrollX = 0;
83
+ }, 1000);
84
+ };
85
+
86
+ _proto.renderImage = function renderImage(image, pos) {
87
+ var windowHeight = docSize.height;
88
+ var windowWidth = docSize.width;
89
+ var onClick;
76
90
 
77
- let onClick
78
91
  if (pos !== 'center') {
79
- onClick = this.handleClick.bind(this, pos === 'left' ? -1 : 1)
92
+ onClick = this.handleClick.bind(this, pos === 'left' ? -1 : 1);
80
93
  }
81
94
 
82
- return (
83
- <div key={image.key} className={imageClass(pos, this.state.direction)} onClick={onClick}>
84
- <a onClick={this.props.onClose} className={imageClass('close')}>
85
- {icons.Close}
86
- </a>
87
- <Magnify
88
- maxWidth={windowWidth - 400}
89
- maxHeight={windowHeight - 160}
90
- position={pos}
91
- src={image.src}
92
- lockScroll={this.lockScroll}
93
- />
94
- </div>
95
- )
96
- }
97
-
98
- render() {
99
- const { current } = this.state
100
- const { images, onClose } = this.props
101
- const currentImage = images[current]
102
-
103
- const result = []
104
-
105
- result.push(<div key="overlay" className={imageClass('overlay')} onClick={onClose} />)
106
- result.push(this.renderImage(currentImage, 'center'))
107
-
108
- if (images[current - 1]) result.push(this.renderImage(images[current - 1], 'left'))
109
- if (images[current + 1]) result.push(this.renderImage(images[current + 1], 'right'))
110
-
111
- return result
112
- }
113
- }
95
+ return React.createElement("div", {
96
+ key: image.key,
97
+ className: imageClass(pos, this.state.direction),
98
+ onClick: onClick
99
+ }, React.createElement("a", {
100
+ onClick: this.props.onClose,
101
+ className: imageClass('close')
102
+ }, icons.Close), React.createElement(Magnify, {
103
+ maxWidth: windowWidth - 400,
104
+ maxHeight: windowHeight - 160,
105
+ position: pos,
106
+ src: image.src,
107
+ lockScroll: this.lockScroll
108
+ }));
109
+ };
110
+
111
+ _proto.render = function render() {
112
+ var current = this.state.current;
113
+ var _this$props = this.props,
114
+ images = _this$props.images,
115
+ onClose = _this$props.onClose;
116
+ var currentImage = images[current];
117
+ var result = [];
118
+ result.push(React.createElement("div", {
119
+ key: "overlay",
120
+ className: imageClass('overlay'),
121
+ onClick: onClose
122
+ }));
123
+ result.push(this.renderImage(currentImage, 'center'));
124
+ if (images[current - 1]) result.push(this.renderImage(images[current - 1], 'left'));
125
+ if (images[current + 1]) result.push(this.renderImage(images[current + 1], 'right'));
126
+ return result;
127
+ };
128
+
129
+ return Gallery;
130
+ }(PureComponent);
114
131
 
115
132
  Gallery.propTypes = {
116
133
  current: PropTypes.number,
117
134
  images: PropTypes.array.isRequired,
118
- onClose: PropTypes.func.isRequired,
119
- }
120
-
135
+ onClose: PropTypes.func.isRequired
136
+ };
121
137
  Gallery.defaultProps = {
122
- current: 0,
123
- }
124
-
125
- export default Gallery
138
+ current: 0
139
+ };
140
+ export default Gallery;
package/es/Image/Group.js CHANGED
@@ -1,44 +1,68 @@
1
- import React, { PureComponent, Children, cloneElement } from 'react'
2
- import PropTypes from 'prop-types'
3
- import showGallery from './events'
4
- import { IMAGE } from './Image'
5
- import { imageClass } from './styles'
6
-
7
- class Group extends PureComponent {
8
- handleClick(index) {
9
- const { children } = this.props
10
- const images = []
11
- let current = 0
12
- Children.toArray(children).forEach((child, i) => {
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
4
+ import React, { PureComponent, Children, cloneElement } from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import showGallery from './events';
7
+ import { IMAGE } from './Image';
8
+ import { imageClass } from './styles';
9
+
10
+ var Group =
11
+ /*#__PURE__*/
12
+ function (_PureComponent) {
13
+ _inheritsLoose(Group, _PureComponent);
14
+
15
+ function Group() {
16
+ return _PureComponent.apply(this, arguments) || this;
17
+ }
18
+
19
+ var _proto = Group.prototype;
20
+
21
+ _proto.handleClick = function handleClick(index) {
22
+ var children = this.props.children;
23
+ var images = [];
24
+ var current = 0;
25
+ Children.toArray(children).forEach(function (child, i) {
13
26
  if (child && child.type && child.type.symbolType === IMAGE) {
14
- if (index === i) current = images.length
15
- const { src, href } = child.props
16
- images.push({ thumb: src, src: href || src, key: i })
27
+ if (index === i) current = images.length;
28
+ var _child$props = child.props,
29
+ src = _child$props.src,
30
+ href = _child$props.href;
31
+ images.push({
32
+ thumb: src,
33
+ src: href || src,
34
+ key: i
35
+ });
17
36
  }
18
- })
37
+ });
38
+ showGallery(images, current);
39
+ };
19
40
 
20
- showGallery(images, current)
21
- }
41
+ _proto.render = function render() {
42
+ var _this = this;
22
43
 
23
- render() {
24
- const { children, pile, style, ...props } = this.props
25
- return (
26
- <div className={imageClass('group', pile && 'pile')} style={style}>
27
- {Children.toArray(this.props.children).map((child, i) =>
28
- cloneElement(child, {
29
- ...props,
30
- onClick: this.handleClick.bind(this, i),
31
- })
32
- )}
33
- </div>
34
- )
35
- }
36
- }
44
+ var _this$props = this.props,
45
+ children = _this$props.children,
46
+ pile = _this$props.pile,
47
+ style = _this$props.style,
48
+ props = _objectWithoutPropertiesLoose(_this$props, ["children", "pile", "style"]);
49
+
50
+ return React.createElement("div", {
51
+ className: imageClass('group', pile && 'pile'),
52
+ style: style
53
+ }, Children.toArray(this.props.children).map(function (child, i) {
54
+ return cloneElement(child, _objectSpread({}, props, {
55
+ onClick: _this.handleClick.bind(_this, i)
56
+ }));
57
+ }));
58
+ };
59
+
60
+ return Group;
61
+ }(PureComponent);
37
62
 
38
63
  Group.propTypes = {
39
64
  children: PropTypes.oneOfType([PropTypes.element, PropTypes.array]),
40
65
  pile: PropTypes.bool,
41
- style: PropTypes.object,
42
- }
43
-
44
- export default Group
66
+ style: PropTypes.object
67
+ };
68
+ export default Group;