@laozei/element-ui 2.16.1 → 2.16.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 (343) hide show
  1. package/lib/alert.js +419 -0
  2. package/lib/aside.js +276 -0
  3. package/lib/autocomplete.js +951 -0
  4. package/lib/avatar.js +362 -0
  5. package/lib/backtop.js +400 -0
  6. package/lib/badge.js +333 -0
  7. package/lib/breadcrumb-item.js +321 -0
  8. package/lib/breadcrumb.js +292 -0
  9. package/lib/button-group.js +261 -0
  10. package/lib/button.js +356 -0
  11. package/lib/calendar.js +935 -0
  12. package/lib/card.js +296 -0
  13. package/lib/carousel-item.js +433 -0
  14. package/lib/carousel.js +705 -0
  15. package/lib/cascader-panel.js +1563 -0
  16. package/lib/cascader.js +1435 -0
  17. package/lib/checkbox-button.js +582 -0
  18. package/lib/checkbox-group.js +312 -0
  19. package/lib/checkbox.js +626 -0
  20. package/lib/col.js +176 -0
  21. package/lib/collapse-item.js +496 -0
  22. package/lib/collapse.js +328 -0
  23. package/lib/color-picker.js +1957 -0
  24. package/lib/container.js +287 -0
  25. package/lib/date-picker.js +6363 -0
  26. package/lib/descriptions-item.js +139 -0
  27. package/lib/descriptions.js +456 -0
  28. package/lib/dialog.js +597 -0
  29. package/lib/directives/mousewheel.js +26 -0
  30. package/lib/directives/repeat-click.js +33 -0
  31. package/lib/divider.js +312 -0
  32. package/lib/drawer.js +591 -0
  33. package/lib/dropdown-item.js +315 -0
  34. package/lib/dropdown-menu.js +350 -0
  35. package/lib/dropdown.js +642 -0
  36. package/lib/element-ui.common.js +43935 -0
  37. package/lib/empty.js +729 -0
  38. package/lib/footer.js +276 -0
  39. package/lib/form-item.js +828 -0
  40. package/lib/form.js +465 -0
  41. package/lib/header.js +276 -0
  42. package/lib/icon.js +264 -0
  43. package/lib/image.js +1139 -0
  44. package/lib/index.js +1 -0
  45. package/lib/infinite-scroll.js +299 -0
  46. package/lib/input-number.js +751 -0
  47. package/lib/input.js +997 -0
  48. package/lib/link.js +329 -0
  49. package/lib/loading.js +630 -0
  50. package/lib/locale/format.js +56 -0
  51. package/lib/locale/index.js +61 -0
  52. package/lib/locale/lang/af-ZA.js +126 -0
  53. package/lib/locale/lang/ar.js +125 -0
  54. package/lib/locale/lang/az.js +126 -0
  55. package/lib/locale/lang/bg.js +126 -0
  56. package/lib/locale/lang/bn.js +126 -0
  57. package/lib/locale/lang/ca.js +125 -0
  58. package/lib/locale/lang/cs-CZ.js +128 -0
  59. package/lib/locale/lang/da.js +125 -0
  60. package/lib/locale/lang/de.js +127 -0
  61. package/lib/locale/lang/ee.js +126 -0
  62. package/lib/locale/lang/el.js +126 -0
  63. package/lib/locale/lang/en.js +126 -0
  64. package/lib/locale/lang/eo.js +126 -0
  65. package/lib/locale/lang/es.js +125 -0
  66. package/lib/locale/lang/eu.js +126 -0
  67. package/lib/locale/lang/fa.js +126 -0
  68. package/lib/locale/lang/fi.js +126 -0
  69. package/lib/locale/lang/fr.js +125 -0
  70. package/lib/locale/lang/he.js +126 -0
  71. package/lib/locale/lang/hr.js +126 -0
  72. package/lib/locale/lang/hu.js +125 -0
  73. package/lib/locale/lang/hy-AM.js +126 -0
  74. package/lib/locale/lang/id.js +126 -0
  75. package/lib/locale/lang/is.js +126 -0
  76. package/lib/locale/lang/it.js +125 -0
  77. package/lib/locale/lang/ja.js +126 -0
  78. package/lib/locale/lang/kg.js +126 -0
  79. package/lib/locale/lang/km.js +126 -0
  80. package/lib/locale/lang/ko.js +126 -0
  81. package/lib/locale/lang/ku.js +126 -0
  82. package/lib/locale/lang/kz.js +126 -0
  83. package/lib/locale/lang/lo-LA.js +126 -0
  84. package/lib/locale/lang/lt.js +126 -0
  85. package/lib/locale/lang/lv.js +126 -0
  86. package/lib/locale/lang/mn.js +126 -0
  87. package/lib/locale/lang/ms.js +125 -0
  88. package/lib/locale/lang/nb-NO.js +125 -0
  89. package/lib/locale/lang/nl.js +126 -0
  90. package/lib/locale/lang/pl.js +126 -0
  91. package/lib/locale/lang/pt-br.js +126 -0
  92. package/lib/locale/lang/pt.js +126 -0
  93. package/lib/locale/lang/ro.js +126 -0
  94. package/lib/locale/lang/ru-RU.js +126 -0
  95. package/lib/locale/lang/si.js +126 -0
  96. package/lib/locale/lang/sk.js +128 -0
  97. package/lib/locale/lang/sl.js +126 -0
  98. package/lib/locale/lang/sr-Latn.js +126 -0
  99. package/lib/locale/lang/sr.js +126 -0
  100. package/lib/locale/lang/sv-SE.js +126 -0
  101. package/lib/locale/lang/sw.js +126 -0
  102. package/lib/locale/lang/ta.js +125 -0
  103. package/lib/locale/lang/th.js +126 -0
  104. package/lib/locale/lang/tk.js +126 -0
  105. package/lib/locale/lang/tr-TR.js +126 -0
  106. package/lib/locale/lang/ua.js +126 -0
  107. package/lib/locale/lang/ug-CN.js +126 -0
  108. package/lib/locale/lang/uz-UZ.js +126 -0
  109. package/lib/locale/lang/vi.js +126 -0
  110. package/lib/locale/lang/zh-CN.js +126 -0
  111. package/lib/locale/lang/zh-TW.js +126 -0
  112. package/lib/main.js +263 -0
  113. package/lib/menu-item-group.js +307 -0
  114. package/lib/menu-item.js +490 -0
  115. package/lib/menu.js +864 -0
  116. package/lib/message-box.js +1191 -0
  117. package/lib/message.js +547 -0
  118. package/lib/mixins/emitter.js +36 -0
  119. package/lib/mixins/focus.js +15 -0
  120. package/lib/mixins/locale.js +17 -0
  121. package/lib/mixins/migrating.js +69 -0
  122. package/lib/notification.js +614 -0
  123. package/lib/option-group.js +343 -0
  124. package/lib/option.js +474 -0
  125. package/lib/page-header.js +318 -0
  126. package/lib/pagination.js +946 -0
  127. package/lib/popconfirm.js +456 -0
  128. package/lib/popover.js +616 -0
  129. package/lib/popper-offset.js +16 -0
  130. package/lib/progress.js +592 -0
  131. package/lib/radio-button.js +462 -0
  132. package/lib/radio-group.js +390 -0
  133. package/lib/radio.js +496 -0
  134. package/lib/rate.js +669 -0
  135. package/lib/result.js +593 -0
  136. package/lib/row.js +148 -0
  137. package/lib/scrollbar.js +422 -0
  138. package/lib/select.js +2174 -0
  139. package/lib/skeleton-item.js +345 -0
  140. package/lib/skeleton.js +371 -0
  141. package/lib/slider.js +1201 -0
  142. package/lib/spinner.js +300 -0
  143. package/lib/statistic.js +533 -0
  144. package/lib/step.js +521 -0
  145. package/lib/steps.js +341 -0
  146. package/lib/submenu.js +700 -0
  147. package/lib/switch.js +553 -0
  148. package/lib/tab-pane.js +331 -0
  149. package/lib/table-column.js +951 -0
  150. package/lib/table.js +5026 -0
  151. package/lib/tabs.js +925 -0
  152. package/lib/tag.js +303 -0
  153. package/lib/theme-chalk/alert.css +1 -0
  154. package/lib/theme-chalk/aside.css +1 -0
  155. package/lib/theme-chalk/autocomplete.css +1 -0
  156. package/lib/theme-chalk/avatar.css +1 -0
  157. package/lib/theme-chalk/backtop.css +1 -0
  158. package/lib/theme-chalk/badge.css +1 -0
  159. package/lib/theme-chalk/base.css +1 -0
  160. package/lib/theme-chalk/breadcrumb-item.css +0 -0
  161. package/lib/theme-chalk/breadcrumb.css +1 -0
  162. package/lib/theme-chalk/button-group.css +0 -0
  163. package/lib/theme-chalk/button.css +1 -0
  164. package/lib/theme-chalk/calendar.css +1 -0
  165. package/lib/theme-chalk/card.css +1 -0
  166. package/lib/theme-chalk/carousel-item.css +1 -0
  167. package/lib/theme-chalk/carousel.css +1 -0
  168. package/lib/theme-chalk/cascader-panel.css +1 -0
  169. package/lib/theme-chalk/cascader.css +1 -0
  170. package/lib/theme-chalk/checkbox-button.css +0 -0
  171. package/lib/theme-chalk/checkbox-group.css +0 -0
  172. package/lib/theme-chalk/checkbox.css +1 -0
  173. package/lib/theme-chalk/col.css +1 -0
  174. package/lib/theme-chalk/collapse-item.css +0 -0
  175. package/lib/theme-chalk/collapse.css +1 -0
  176. package/lib/theme-chalk/color-picker.css +1 -0
  177. package/lib/theme-chalk/container.css +1 -0
  178. package/lib/theme-chalk/date-picker.css +1 -0
  179. package/lib/theme-chalk/descriptions-item.css +1 -0
  180. package/lib/theme-chalk/descriptions.css +1 -0
  181. package/lib/theme-chalk/dialog.css +1 -0
  182. package/lib/theme-chalk/display.css +1 -0
  183. package/lib/theme-chalk/divider.css +1 -0
  184. package/lib/theme-chalk/drawer.css +1 -0
  185. package/lib/theme-chalk/dropdown-item.css +0 -0
  186. package/lib/theme-chalk/dropdown-menu.css +0 -0
  187. package/lib/theme-chalk/dropdown.css +1 -0
  188. package/lib/theme-chalk/empty.css +1 -0
  189. package/lib/theme-chalk/fonts/element-icons.ttf +0 -0
  190. package/lib/theme-chalk/fonts/element-icons.woff +0 -0
  191. package/lib/theme-chalk/footer.css +1 -0
  192. package/lib/theme-chalk/form-item.css +0 -0
  193. package/lib/theme-chalk/form.css +1 -0
  194. package/lib/theme-chalk/header.css +1 -0
  195. package/lib/theme-chalk/icon.css +1 -0
  196. package/lib/theme-chalk/image.css +1 -0
  197. package/lib/theme-chalk/index.css +1 -0
  198. package/lib/theme-chalk/infinite-scroll.css +0 -0
  199. package/lib/theme-chalk/infiniteScroll.css +0 -0
  200. package/lib/theme-chalk/input-number.css +1 -0
  201. package/lib/theme-chalk/input.css +1 -0
  202. package/lib/theme-chalk/link.css +1 -0
  203. package/lib/theme-chalk/loading.css +1 -0
  204. package/lib/theme-chalk/main.css +1 -0
  205. package/lib/theme-chalk/menu-item-group.css +0 -0
  206. package/lib/theme-chalk/menu-item.css +0 -0
  207. package/lib/theme-chalk/menu.css +1 -0
  208. package/lib/theme-chalk/message-box.css +1 -0
  209. package/lib/theme-chalk/message.css +1 -0
  210. package/lib/theme-chalk/notification.css +1 -0
  211. package/lib/theme-chalk/option-group.css +1 -0
  212. package/lib/theme-chalk/option.css +1 -0
  213. package/lib/theme-chalk/page-header.css +1 -0
  214. package/lib/theme-chalk/pagination.css +1 -0
  215. package/lib/theme-chalk/popconfirm.css +1 -0
  216. package/lib/theme-chalk/popover.css +1 -0
  217. package/lib/theme-chalk/popper.css +1 -0
  218. package/lib/theme-chalk/progress.css +1 -0
  219. package/lib/theme-chalk/radio-button.css +1 -0
  220. package/lib/theme-chalk/radio-group.css +1 -0
  221. package/lib/theme-chalk/radio.css +1 -0
  222. package/lib/theme-chalk/rate.css +1 -0
  223. package/lib/theme-chalk/reset.css +1 -0
  224. package/lib/theme-chalk/result.css +1 -0
  225. package/lib/theme-chalk/row.css +1 -0
  226. package/lib/theme-chalk/scrollbar.css +1 -0
  227. package/lib/theme-chalk/select-dropdown.css +1 -0
  228. package/lib/theme-chalk/select.css +1 -0
  229. package/lib/theme-chalk/skeleton-item.css +1 -0
  230. package/lib/theme-chalk/skeleton.css +1 -0
  231. package/lib/theme-chalk/slider.css +1 -0
  232. package/lib/theme-chalk/spinner.css +1 -0
  233. package/lib/theme-chalk/statistic.css +1 -0
  234. package/lib/theme-chalk/step.css +1 -0
  235. package/lib/theme-chalk/steps.css +1 -0
  236. package/lib/theme-chalk/submenu.css +0 -0
  237. package/lib/theme-chalk/switch.css +1 -0
  238. package/lib/theme-chalk/tab-pane.css +0 -0
  239. package/lib/theme-chalk/table-column.css +1 -0
  240. package/lib/theme-chalk/table.css +1 -0
  241. package/lib/theme-chalk/tabs.css +1 -0
  242. package/lib/theme-chalk/tag.css +1 -0
  243. package/lib/theme-chalk/time-picker.css +1 -0
  244. package/lib/theme-chalk/time-select.css +1 -0
  245. package/lib/theme-chalk/timeline-item.css +1 -0
  246. package/lib/theme-chalk/timeline.css +1 -0
  247. package/lib/theme-chalk/tooltip.css +1 -0
  248. package/lib/theme-chalk/transfer.css +1 -0
  249. package/lib/theme-chalk/tree.css +1 -0
  250. package/lib/theme-chalk/upload.css +1 -0
  251. package/lib/time-picker.js +2983 -0
  252. package/lib/time-select.js +1782 -0
  253. package/lib/timeline-item.js +370 -0
  254. package/lib/timeline.js +274 -0
  255. package/lib/tooltip.js +423 -0
  256. package/lib/transfer.js +1104 -0
  257. package/lib/transitions/collapse-transition.js +91 -0
  258. package/lib/tree.js +2265 -0
  259. package/lib/umd/locale/af-ZA.js +142 -0
  260. package/lib/umd/locale/ar.js +141 -0
  261. package/lib/umd/locale/az.js +141 -0
  262. package/lib/umd/locale/bg.js +142 -0
  263. package/lib/umd/locale/bn.js +141 -0
  264. package/lib/umd/locale/ca.js +141 -0
  265. package/lib/umd/locale/cs-CZ.js +144 -0
  266. package/lib/umd/locale/da.js +141 -0
  267. package/lib/umd/locale/de.js +143 -0
  268. package/lib/umd/locale/ee.js +142 -0
  269. package/lib/umd/locale/el.js +142 -0
  270. package/lib/umd/locale/en.js +142 -0
  271. package/lib/umd/locale/eo.js +142 -0
  272. package/lib/umd/locale/es.js +141 -0
  273. package/lib/umd/locale/eu.js +142 -0
  274. package/lib/umd/locale/fa.js +142 -0
  275. package/lib/umd/locale/fi.js +142 -0
  276. package/lib/umd/locale/fr.js +141 -0
  277. package/lib/umd/locale/he.js +142 -0
  278. package/lib/umd/locale/hr.js +142 -0
  279. package/lib/umd/locale/hu.js +141 -0
  280. package/lib/umd/locale/hy-AM.js +142 -0
  281. package/lib/umd/locale/id.js +142 -0
  282. package/lib/umd/locale/is.js +142 -0
  283. package/lib/umd/locale/it.js +141 -0
  284. package/lib/umd/locale/ja.js +142 -0
  285. package/lib/umd/locale/kg.js +142 -0
  286. package/lib/umd/locale/km.js +142 -0
  287. package/lib/umd/locale/ko.js +142 -0
  288. package/lib/umd/locale/ku.js +142 -0
  289. package/lib/umd/locale/kz.js +142 -0
  290. package/lib/umd/locale/lo-LA.js +141 -0
  291. package/lib/umd/locale/lt.js +142 -0
  292. package/lib/umd/locale/lv.js +142 -0
  293. package/lib/umd/locale/mn.js +142 -0
  294. package/lib/umd/locale/ms.js +141 -0
  295. package/lib/umd/locale/nb-NO.js +141 -0
  296. package/lib/umd/locale/nl.js +142 -0
  297. package/lib/umd/locale/pl.js +142 -0
  298. package/lib/umd/locale/pt-br.js +142 -0
  299. package/lib/umd/locale/pt.js +142 -0
  300. package/lib/umd/locale/ro.js +142 -0
  301. package/lib/umd/locale/ru-RU.js +142 -0
  302. package/lib/umd/locale/si.js +142 -0
  303. package/lib/umd/locale/sk.js +144 -0
  304. package/lib/umd/locale/sl.js +142 -0
  305. package/lib/umd/locale/sr-Latn.js +142 -0
  306. package/lib/umd/locale/sr.js +142 -0
  307. package/lib/umd/locale/sv-SE.js +142 -0
  308. package/lib/umd/locale/sw.js +142 -0
  309. package/lib/umd/locale/ta.js +141 -0
  310. package/lib/umd/locale/th.js +142 -0
  311. package/lib/umd/locale/tk.js +142 -0
  312. package/lib/umd/locale/tr-TR.js +142 -0
  313. package/lib/umd/locale/ua.js +142 -0
  314. package/lib/umd/locale/ug-CN.js +142 -0
  315. package/lib/umd/locale/uz-UZ.js +142 -0
  316. package/lib/umd/locale/vi.js +142 -0
  317. package/lib/umd/locale/zh-CN.js +142 -0
  318. package/lib/umd/locale/zh-TW.js +142 -0
  319. package/lib/upload.js +1398 -0
  320. package/lib/utils/after-leave.js +35 -0
  321. package/lib/utils/aria-dialog.js +104 -0
  322. package/lib/utils/aria-utils.js +126 -0
  323. package/lib/utils/clickoutside.js +79 -0
  324. package/lib/utils/date-util.js +310 -0
  325. package/lib/utils/date.js +369 -0
  326. package/lib/utils/dom.js +234 -0
  327. package/lib/utils/menu/aria-menubar.js +24 -0
  328. package/lib/utils/menu/aria-menuitem.js +62 -0
  329. package/lib/utils/menu/aria-submenu.js +69 -0
  330. package/lib/utils/merge.js +21 -0
  331. package/lib/utils/popper.js +1291 -0
  332. package/lib/utils/popup/index.js +233 -0
  333. package/lib/utils/popup/popup-manager.js +205 -0
  334. package/lib/utils/resize-event.js +59 -0
  335. package/lib/utils/scroll-into-view.js +38 -0
  336. package/lib/utils/scrollbar-width.js +39 -0
  337. package/lib/utils/shared.js +12 -0
  338. package/lib/utils/types.js +52 -0
  339. package/lib/utils/util.js +297 -0
  340. package/lib/utils/vdom.js +13 -0
  341. package/lib/utils/vue-popper.js +202 -0
  342. package/package.json +1 -1
  343. package/src/index.js +1 -1
package/lib/image.js ADDED
@@ -0,0 +1,1139 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
+ /******/ }
42
+ /******/ };
43
+ /******/
44
+ /******/ // define __esModule on exports
45
+ /******/ __webpack_require__.r = function(exports) {
46
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ /******/ }
49
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
+ /******/ };
51
+ /******/
52
+ /******/ // create a fake namespace object
53
+ /******/ // mode & 1: value is a module id, require it
54
+ /******/ // mode & 2: merge all properties of value into the ns
55
+ /******/ // mode & 4: return value when already ns object
56
+ /******/ // mode & 8|1: behave like require
57
+ /******/ __webpack_require__.t = function(value, mode) {
58
+ /******/ if(mode & 1) value = __webpack_require__(value);
59
+ /******/ if(mode & 8) return value;
60
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
+ /******/ var ns = Object.create(null);
62
+ /******/ __webpack_require__.r(ns);
63
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
+ /******/ return ns;
66
+ /******/ };
67
+ /******/
68
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
69
+ /******/ __webpack_require__.n = function(module) {
70
+ /******/ var getter = module && module.__esModule ?
71
+ /******/ function getDefault() { return module['default']; } :
72
+ /******/ function getModuleExports() { return module; };
73
+ /******/ __webpack_require__.d(getter, 'a', getter);
74
+ /******/ return getter;
75
+ /******/ };
76
+ /******/
77
+ /******/ // Object.prototype.hasOwnProperty.call
78
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
+ /******/
80
+ /******/ // __webpack_public_path__
81
+ /******/ __webpack_require__.p = "/dist/";
82
+ /******/
83
+ /******/
84
+ /******/ // Load entry module and return exports
85
+ /******/ return __webpack_require__(__webpack_require__.s = 64);
86
+ /******/ })
87
+ /************************************************************************/
88
+ /******/ ({
89
+
90
+ /***/ 0:
91
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
+
93
+ "use strict";
94
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
95
+ /* globals __VUE_SSR_CONTEXT__ */
96
+
97
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
98
+ // This module is a runtime utility for cleaner component module output and will
99
+ // be included in the final webpack user bundle.
100
+
101
+ function normalizeComponent (
102
+ scriptExports,
103
+ render,
104
+ staticRenderFns,
105
+ functionalTemplate,
106
+ injectStyles,
107
+ scopeId,
108
+ moduleIdentifier, /* server only */
109
+ shadowMode /* vue-cli only */
110
+ ) {
111
+ // Vue.extend constructor export interop
112
+ var options = typeof scriptExports === 'function'
113
+ ? scriptExports.options
114
+ : scriptExports
115
+
116
+ // render functions
117
+ if (render) {
118
+ options.render = render
119
+ options.staticRenderFns = staticRenderFns
120
+ options._compiled = true
121
+ }
122
+
123
+ // functional template
124
+ if (functionalTemplate) {
125
+ options.functional = true
126
+ }
127
+
128
+ // scopedId
129
+ if (scopeId) {
130
+ options._scopeId = 'data-v-' + scopeId
131
+ }
132
+
133
+ var hook
134
+ if (moduleIdentifier) { // server build
135
+ hook = function (context) {
136
+ // 2.3 injection
137
+ context =
138
+ context || // cached call
139
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
140
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
141
+ // 2.2 with runInNewContext: true
142
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
143
+ context = __VUE_SSR_CONTEXT__
144
+ }
145
+ // inject component styles
146
+ if (injectStyles) {
147
+ injectStyles.call(this, context)
148
+ }
149
+ // register component module identifier for async chunk inferrence
150
+ if (context && context._registeredComponents) {
151
+ context._registeredComponents.add(moduleIdentifier)
152
+ }
153
+ }
154
+ // used by ssr in case component is cached and beforeCreate
155
+ // never gets called
156
+ options._ssrRegister = hook
157
+ } else if (injectStyles) {
158
+ hook = shadowMode
159
+ ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
160
+ : injectStyles
161
+ }
162
+
163
+ if (hook) {
164
+ if (options.functional) {
165
+ // for template-only hot-reload because in that case the render fn doesn't
166
+ // go through the normalizer
167
+ options._injectStyles = hook
168
+ // register for functioal component in vue file
169
+ var originalRender = options.render
170
+ options.render = function renderWithStyleInjection (h, context) {
171
+ hook.call(context)
172
+ return originalRender(h, context)
173
+ }
174
+ } else {
175
+ // inject component registration as beforeCreate hook
176
+ var existing = options.beforeCreate
177
+ options.beforeCreate = existing
178
+ ? [].concat(existing, hook)
179
+ : [hook]
180
+ }
181
+ }
182
+
183
+ return {
184
+ exports: scriptExports,
185
+ options: options
186
+ }
187
+ }
188
+
189
+
190
+ /***/ }),
191
+
192
+ /***/ 10:
193
+ /***/ (function(module, exports) {
194
+
195
+ module.exports = require("lodash-es");
196
+
197
+ /***/ }),
198
+
199
+ /***/ 14:
200
+ /***/ (function(module, exports) {
201
+
202
+ module.exports = require("element-ui/lib/utils/popup");
203
+
204
+ /***/ }),
205
+
206
+ /***/ 18:
207
+ /***/ (function(module, exports) {
208
+
209
+ module.exports = require("element-ui/lib/utils/types");
210
+
211
+ /***/ }),
212
+
213
+ /***/ 2:
214
+ /***/ (function(module, exports) {
215
+
216
+ module.exports = require("element-ui/lib/utils/dom");
217
+
218
+ /***/ }),
219
+
220
+ /***/ 3:
221
+ /***/ (function(module, exports) {
222
+
223
+ module.exports = require("element-ui/lib/utils/util");
224
+
225
+ /***/ }),
226
+
227
+ /***/ 6:
228
+ /***/ (function(module, exports) {
229
+
230
+ module.exports = require("element-ui/lib/mixins/locale");
231
+
232
+ /***/ }),
233
+
234
+ /***/ 64:
235
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
236
+
237
+ "use strict";
238
+ __webpack_require__.r(__webpack_exports__);
239
+
240
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=template&id=44d84a7c&
241
+ var render = function() {
242
+ var _vm = this
243
+ var _h = _vm.$createElement
244
+ var _c = _vm._self._c || _h
245
+ return _c(
246
+ "div",
247
+ { staticClass: "el-image" },
248
+ [
249
+ _vm.loading
250
+ ? _vm._t("placeholder", [
251
+ _c("div", { staticClass: "el-image__placeholder" })
252
+ ])
253
+ : _vm.error
254
+ ? _vm._t("error", [
255
+ _c("div", { staticClass: "el-image__error" }, [
256
+ _vm._v(_vm._s(_vm.t("el.image.error")))
257
+ ])
258
+ ])
259
+ : _c(
260
+ "img",
261
+ _vm._g(
262
+ _vm._b(
263
+ {
264
+ staticClass: "el-image__inner",
265
+ class: {
266
+ "el-image__inner--center": _vm.alignCenter,
267
+ "el-image__preview": _vm.preview
268
+ },
269
+ style: _vm.imageStyle,
270
+ attrs: { src: _vm.src },
271
+ on: { click: _vm.clickHandler }
272
+ },
273
+ "img",
274
+ _vm.$attrs,
275
+ false
276
+ ),
277
+ _vm.$listeners
278
+ )
279
+ ),
280
+ _vm.preview
281
+ ? [
282
+ _vm.showViewer
283
+ ? _c("image-viewer", {
284
+ attrs: {
285
+ "z-index": _vm.zIndex,
286
+ "initial-index": _vm.imageIndex,
287
+ "on-close": _vm.closeViewer,
288
+ "url-list": _vm.previewSrcList
289
+ }
290
+ })
291
+ : _vm._e()
292
+ ]
293
+ : _vm._e()
294
+ ],
295
+ 2
296
+ )
297
+ }
298
+ var staticRenderFns = []
299
+ render._withStripped = true
300
+
301
+
302
+ // CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=template&id=44d84a7c&
303
+
304
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307&
305
+ var image_viewervue_type_template_id_5e73b307_render = function() {
306
+ var _vm = this
307
+ var _h = _vm.$createElement
308
+ var _c = _vm._self._c || _h
309
+ return _c("transition", { attrs: { name: "viewer-fade" } }, [
310
+ _c(
311
+ "div",
312
+ {
313
+ ref: "el-image-viewer__wrapper",
314
+ staticClass: "el-image-viewer__wrapper",
315
+ style: { "z-index": _vm.viewerZIndex },
316
+ attrs: { tabindex: "-1" }
317
+ },
318
+ [
319
+ _c("div", {
320
+ staticClass: "el-image-viewer__mask",
321
+ on: {
322
+ click: function($event) {
323
+ if ($event.target !== $event.currentTarget) {
324
+ return null
325
+ }
326
+ return _vm.handleMaskClick($event)
327
+ }
328
+ }
329
+ }),
330
+ _c(
331
+ "span",
332
+ {
333
+ staticClass: "el-image-viewer__btn el-image-viewer__close",
334
+ on: { click: _vm.hide }
335
+ },
336
+ [_c("i", { staticClass: "el-icon-close" })]
337
+ ),
338
+ !_vm.isSingle
339
+ ? [
340
+ _c(
341
+ "span",
342
+ {
343
+ staticClass: "el-image-viewer__btn el-image-viewer__prev",
344
+ class: { "is-disabled": !_vm.infinite && _vm.isFirst },
345
+ on: { click: _vm.prev }
346
+ },
347
+ [_c("i", { staticClass: "el-icon-arrow-left" })]
348
+ ),
349
+ _c(
350
+ "span",
351
+ {
352
+ staticClass: "el-image-viewer__btn el-image-viewer__next",
353
+ class: { "is-disabled": !_vm.infinite && _vm.isLast },
354
+ on: { click: _vm.next }
355
+ },
356
+ [_c("i", { staticClass: "el-icon-arrow-right" })]
357
+ )
358
+ ]
359
+ : _vm._e(),
360
+ _c(
361
+ "div",
362
+ { staticClass: "el-image-viewer__btn el-image-viewer__actions" },
363
+ [
364
+ _c("div", { staticClass: "el-image-viewer__actions__inner" }, [
365
+ _c("i", {
366
+ staticClass: "el-icon-zoom-out",
367
+ on: {
368
+ click: function($event) {
369
+ _vm.handleActions("zoomOut")
370
+ }
371
+ }
372
+ }),
373
+ _c("i", {
374
+ staticClass: "el-icon-zoom-in",
375
+ on: {
376
+ click: function($event) {
377
+ _vm.handleActions("zoomIn")
378
+ }
379
+ }
380
+ }),
381
+ _c("i", { staticClass: "el-image-viewer__actions__divider" }),
382
+ _c("i", { class: _vm.mode.icon, on: { click: _vm.toggleMode } }),
383
+ _c("i", { staticClass: "el-image-viewer__actions__divider" }),
384
+ _c("i", {
385
+ staticClass: "el-icon-refresh-left",
386
+ on: {
387
+ click: function($event) {
388
+ _vm.handleActions("anticlocelise")
389
+ }
390
+ }
391
+ }),
392
+ _c("i", {
393
+ staticClass: "el-icon-refresh-right",
394
+ on: {
395
+ click: function($event) {
396
+ _vm.handleActions("clocelise")
397
+ }
398
+ }
399
+ })
400
+ ])
401
+ ]
402
+ ),
403
+ _c(
404
+ "div",
405
+ { staticClass: "el-image-viewer__canvas" },
406
+ _vm._l(_vm.urlList, function(url, i) {
407
+ return i === _vm.index
408
+ ? _c("img", {
409
+ key: url,
410
+ ref: "img",
411
+ refInFor: true,
412
+ staticClass: "el-image-viewer__img",
413
+ style: _vm.imgStyle,
414
+ attrs: { src: _vm.currentImg },
415
+ on: {
416
+ load: _vm.handleImgLoad,
417
+ error: _vm.handleImgError,
418
+ mousedown: _vm.handleMouseDown
419
+ }
420
+ })
421
+ : _vm._e()
422
+ }),
423
+ 0
424
+ )
425
+ ],
426
+ 2
427
+ )
428
+ ])
429
+ }
430
+ var image_viewervue_type_template_id_5e73b307_staticRenderFns = []
431
+ image_viewervue_type_template_id_5e73b307_render._withStripped = true
432
+
433
+
434
+ // CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307&
435
+
436
+ // EXTERNAL MODULE: external "element-ui/lib/utils/dom"
437
+ var dom_ = __webpack_require__(2);
438
+
439
+ // EXTERNAL MODULE: external "element-ui/lib/utils/util"
440
+ var util_ = __webpack_require__(3);
441
+
442
+ // EXTERNAL MODULE: external "element-ui/lib/utils/popup"
443
+ var popup_ = __webpack_require__(14);
444
+
445
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=script&lang=js&
446
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
447
+
448
+ //
449
+ //
450
+ //
451
+ //
452
+ //
453
+ //
454
+ //
455
+ //
456
+ //
457
+ //
458
+ //
459
+ //
460
+ //
461
+ //
462
+ //
463
+ //
464
+ //
465
+ //
466
+ //
467
+ //
468
+ //
469
+ //
470
+ //
471
+ //
472
+ //
473
+ //
474
+ //
475
+ //
476
+ //
477
+ //
478
+ //
479
+ //
480
+ //
481
+ //
482
+ //
483
+ //
484
+ //
485
+ //
486
+ //
487
+ //
488
+ //
489
+ //
490
+ //
491
+ //
492
+ //
493
+ //
494
+ //
495
+ //
496
+ //
497
+ //
498
+ //
499
+ //
500
+ //
501
+
502
+
503
+
504
+
505
+
506
+ var Mode = {
507
+ CONTAIN: {
508
+ name: 'contain',
509
+ icon: 'el-icon-full-screen'
510
+ },
511
+ ORIGINAL: {
512
+ name: 'original',
513
+ icon: 'el-icon-c-scale-to-original'
514
+ }
515
+ };
516
+
517
+ var mousewheelEventName = Object(util_["isFirefox"])() ? 'DOMMouseScroll' : 'mousewheel';
518
+
519
+ /* harmony default export */ var image_viewervue_type_script_lang_js_ = ({
520
+ name: 'elImageViewer',
521
+
522
+ props: {
523
+ urlList: {
524
+ type: Array,
525
+ default: function _default() {
526
+ return [];
527
+ }
528
+ },
529
+ zIndex: {
530
+ type: Number,
531
+ default: 2000
532
+ },
533
+ onSwitch: {
534
+ type: Function,
535
+ default: function _default() {}
536
+ },
537
+ onClose: {
538
+ type: Function,
539
+ default: function _default() {}
540
+ },
541
+ initialIndex: {
542
+ type: Number,
543
+ default: 0
544
+ },
545
+ appendToBody: {
546
+ type: Boolean,
547
+ default: true
548
+ },
549
+ maskClosable: {
550
+ type: Boolean,
551
+ default: true
552
+ }
553
+ },
554
+
555
+ data: function data() {
556
+ return {
557
+ index: this.initialIndex,
558
+ isShow: false,
559
+ infinite: true,
560
+ loading: false,
561
+ mode: Mode.CONTAIN,
562
+ transform: {
563
+ scale: 1,
564
+ deg: 0,
565
+ offsetX: 0,
566
+ offsetY: 0,
567
+ enableTransition: false
568
+ }
569
+ };
570
+ },
571
+
572
+ computed: {
573
+ isSingle: function isSingle() {
574
+ return this.urlList.length <= 1;
575
+ },
576
+ isFirst: function isFirst() {
577
+ return this.index === 0;
578
+ },
579
+ isLast: function isLast() {
580
+ return this.index === this.urlList.length - 1;
581
+ },
582
+ currentImg: function currentImg() {
583
+ return this.urlList[this.index];
584
+ },
585
+ imgStyle: function imgStyle() {
586
+ var _transform = this.transform,
587
+ scale = _transform.scale,
588
+ deg = _transform.deg,
589
+ offsetX = _transform.offsetX,
590
+ offsetY = _transform.offsetY,
591
+ enableTransition = _transform.enableTransition;
592
+
593
+ var style = {
594
+ transform: 'scale(' + scale + ') rotate(' + deg + 'deg)',
595
+ transition: enableTransition ? 'transform .3s' : '',
596
+ 'margin-left': offsetX + 'px',
597
+ 'margin-top': offsetY + 'px'
598
+ };
599
+ if (this.mode === Mode.CONTAIN) {
600
+ style.maxWidth = style.maxHeight = '100%';
601
+ }
602
+ return style;
603
+ },
604
+ viewerZIndex: function viewerZIndex() {
605
+ var nextZIndex = popup_["PopupManager"].nextZIndex();
606
+ return this.zIndex > nextZIndex ? this.zIndex : nextZIndex;
607
+ }
608
+ },
609
+ watch: {
610
+ index: {
611
+ handler: function handler(val) {
612
+ this.reset();
613
+ this.onSwitch(val);
614
+ }
615
+ },
616
+ currentImg: function currentImg(val) {
617
+ var _this = this;
618
+
619
+ this.$nextTick(function (_) {
620
+ var $img = _this.$refs.img[0];
621
+ if (!$img.complete) {
622
+ _this.loading = true;
623
+ }
624
+ });
625
+ }
626
+ },
627
+ methods: {
628
+ hide: function hide() {
629
+ this.deviceSupportUninstall();
630
+ this.onClose();
631
+ },
632
+ deviceSupportInstall: function deviceSupportInstall() {
633
+ var _this2 = this;
634
+
635
+ this._keyDownHandler = function (e) {
636
+ e.stopPropagation();
637
+ var keyCode = e.keyCode;
638
+ switch (keyCode) {
639
+ // ESC
640
+ case 27:
641
+ _this2.hide();
642
+ break;
643
+ // SPACE
644
+ case 32:
645
+ _this2.toggleMode();
646
+ break;
647
+ // LEFT_ARROW
648
+ case 37:
649
+ _this2.prev();
650
+ break;
651
+ // UP_ARROW
652
+ case 38:
653
+ _this2.handleActions('zoomIn');
654
+ break;
655
+ // RIGHT_ARROW
656
+ case 39:
657
+ _this2.next();
658
+ break;
659
+ // DOWN_ARROW
660
+ case 40:
661
+ _this2.handleActions('zoomOut');
662
+ break;
663
+ }
664
+ };
665
+ this._mouseWheelHandler = Object(util_["rafThrottle"])(function (e) {
666
+ var delta = e.wheelDelta ? e.wheelDelta : -e.detail;
667
+ if (delta > 0) {
668
+ _this2.handleActions('zoomIn', {
669
+ zoomRate: 0.015,
670
+ enableTransition: false
671
+ });
672
+ } else {
673
+ _this2.handleActions('zoomOut', {
674
+ zoomRate: 0.015,
675
+ enableTransition: false
676
+ });
677
+ }
678
+ });
679
+ Object(dom_["on"])(document, 'keydown', this._keyDownHandler);
680
+ Object(dom_["on"])(document, mousewheelEventName, this._mouseWheelHandler);
681
+ },
682
+ deviceSupportUninstall: function deviceSupportUninstall() {
683
+ Object(dom_["off"])(document, 'keydown', this._keyDownHandler);
684
+ Object(dom_["off"])(document, mousewheelEventName, this._mouseWheelHandler);
685
+ this._keyDownHandler = null;
686
+ this._mouseWheelHandler = null;
687
+ },
688
+ handleImgLoad: function handleImgLoad(e) {
689
+ this.loading = false;
690
+ },
691
+ handleImgError: function handleImgError(e) {
692
+ this.loading = false;
693
+ e.target.alt = '加载失败';
694
+ },
695
+ handleMouseDown: function handleMouseDown(e) {
696
+ var _this3 = this;
697
+
698
+ if (this.loading || e.button !== 0) return;
699
+
700
+ var _transform2 = this.transform,
701
+ offsetX = _transform2.offsetX,
702
+ offsetY = _transform2.offsetY;
703
+
704
+ var startX = e.pageX;
705
+ var startY = e.pageY;
706
+ this._dragHandler = Object(util_["rafThrottle"])(function (ev) {
707
+ _this3.transform.offsetX = offsetX + ev.pageX - startX;
708
+ _this3.transform.offsetY = offsetY + ev.pageY - startY;
709
+ });
710
+ Object(dom_["on"])(document, 'mousemove', this._dragHandler);
711
+ Object(dom_["on"])(document, 'mouseup', function (ev) {
712
+ Object(dom_["off"])(document, 'mousemove', _this3._dragHandler);
713
+ });
714
+
715
+ e.preventDefault();
716
+ },
717
+ handleMaskClick: function handleMaskClick() {
718
+ if (this.maskClosable) {
719
+ this.hide();
720
+ }
721
+ },
722
+ reset: function reset() {
723
+ this.transform = {
724
+ scale: 1,
725
+ deg: 0,
726
+ offsetX: 0,
727
+ offsetY: 0,
728
+ enableTransition: false
729
+ };
730
+ },
731
+ toggleMode: function toggleMode() {
732
+ if (this.loading) return;
733
+
734
+ var modeNames = Object.keys(Mode);
735
+ var modeValues = Object.values(Mode);
736
+ var index = modeValues.indexOf(this.mode);
737
+ var nextIndex = (index + 1) % modeNames.length;
738
+ this.mode = Mode[modeNames[nextIndex]];
739
+ this.reset();
740
+ },
741
+ prev: function prev() {
742
+ if (this.isFirst && !this.infinite) return;
743
+ var len = this.urlList.length;
744
+ this.index = (this.index - 1 + len) % len;
745
+ },
746
+ next: function next() {
747
+ if (this.isLast && !this.infinite) return;
748
+ var len = this.urlList.length;
749
+ this.index = (this.index + 1) % len;
750
+ },
751
+ handleActions: function handleActions(action) {
752
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
753
+
754
+ if (this.loading) return;
755
+
756
+ var _zoomRate$rotateDeg$e = _extends({
757
+ zoomRate: 0.2,
758
+ rotateDeg: 90,
759
+ enableTransition: true
760
+ }, options),
761
+ zoomRate = _zoomRate$rotateDeg$e.zoomRate,
762
+ rotateDeg = _zoomRate$rotateDeg$e.rotateDeg,
763
+ enableTransition = _zoomRate$rotateDeg$e.enableTransition;
764
+
765
+ var transform = this.transform;
766
+
767
+ switch (action) {
768
+ case 'zoomOut':
769
+ if (transform.scale > 0.2) {
770
+ transform.scale = parseFloat((transform.scale - zoomRate).toFixed(3));
771
+ }
772
+ break;
773
+ case 'zoomIn':
774
+ transform.scale = parseFloat((transform.scale + zoomRate).toFixed(3));
775
+ break;
776
+ case 'clocelise':
777
+ transform.deg += rotateDeg;
778
+ break;
779
+ case 'anticlocelise':
780
+ transform.deg -= rotateDeg;
781
+ break;
782
+ }
783
+ transform.enableTransition = enableTransition;
784
+ }
785
+ },
786
+ mounted: function mounted() {
787
+ this.deviceSupportInstall();
788
+ if (this.appendToBody) {
789
+ document.body.appendChild(this.$el);
790
+ }
791
+ // add tabindex then wrapper can be focusable via Javascript
792
+ // focus wrapper so arrow key can't cause inner scroll behavior underneath
793
+ this.$refs['el-image-viewer__wrapper'].focus();
794
+ },
795
+ destroyed: function destroyed() {
796
+ // if appendToBody is true, remove DOM node after destroy
797
+ if (this.appendToBody && this.$el && this.$el.parentNode) {
798
+ this.$el.parentNode.removeChild(this.$el);
799
+ }
800
+ }
801
+ });
802
+ // CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=script&lang=js&
803
+ /* harmony default export */ var src_image_viewervue_type_script_lang_js_ = (image_viewervue_type_script_lang_js_);
804
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
805
+ var componentNormalizer = __webpack_require__(0);
806
+
807
+ // CONCATENATED MODULE: ./packages/image/src/image-viewer.vue
808
+
809
+
810
+
811
+
812
+
813
+ /* normalize component */
814
+
815
+ var component = Object(componentNormalizer["a" /* default */])(
816
+ src_image_viewervue_type_script_lang_js_,
817
+ image_viewervue_type_template_id_5e73b307_render,
818
+ image_viewervue_type_template_id_5e73b307_staticRenderFns,
819
+ false,
820
+ null,
821
+ null,
822
+ null
823
+
824
+ )
825
+
826
+ /* hot reload */
827
+ if (false) { var api; }
828
+ component.options.__file = "packages/image/src/image-viewer.vue"
829
+ /* harmony default export */ var image_viewer = (component.exports);
830
+ // EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
831
+ var locale_ = __webpack_require__(6);
832
+ var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
833
+
834
+ // EXTERNAL MODULE: external "element-ui/lib/utils/types"
835
+ var types_ = __webpack_require__(18);
836
+
837
+ // EXTERNAL MODULE: external "lodash-es"
838
+ var external_lodash_es_ = __webpack_require__(10);
839
+
840
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=script&lang=js&
841
+ //
842
+ //
843
+ //
844
+ //
845
+ //
846
+ //
847
+ //
848
+ //
849
+ //
850
+ //
851
+ //
852
+ //
853
+ //
854
+ //
855
+ //
856
+ //
857
+ //
858
+ //
859
+ //
860
+ //
861
+ //
862
+ //
863
+ //
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+ var isSupportObjectFit = function isSupportObjectFit() {
872
+ return document.documentElement.style.objectFit !== undefined;
873
+ };
874
+
875
+ var ObjectFit = {
876
+ NONE: 'none',
877
+ CONTAIN: 'contain',
878
+ COVER: 'cover',
879
+ FILL: 'fill',
880
+ SCALE_DOWN: 'scale-down'
881
+ };
882
+
883
+ var prevOverflow = '';
884
+
885
+ /* harmony default export */ var mainvue_type_script_lang_js_ = ({
886
+ name: 'ElImage',
887
+
888
+ mixins: [locale_default.a],
889
+ inheritAttrs: false,
890
+
891
+ components: {
892
+ ImageViewer: image_viewer
893
+ },
894
+
895
+ props: {
896
+ src: String,
897
+ fit: String,
898
+ lazy: Boolean,
899
+ scrollContainer: {},
900
+ previewSrcList: {
901
+ type: Array,
902
+ default: function _default() {
903
+ return [];
904
+ }
905
+ },
906
+ zIndex: {
907
+ type: Number,
908
+ default: 2000
909
+ },
910
+ initialIndex: Number
911
+ },
912
+
913
+ data: function data() {
914
+ return {
915
+ loading: true,
916
+ error: false,
917
+ show: !this.lazy,
918
+ imageWidth: 0,
919
+ imageHeight: 0,
920
+ showViewer: false
921
+ };
922
+ },
923
+
924
+
925
+ computed: {
926
+ imageStyle: function imageStyle() {
927
+ var fit = this.fit;
928
+
929
+ if (!this.$isServer && fit) {
930
+ return isSupportObjectFit() ? { 'object-fit': fit } : this.getImageStyle(fit);
931
+ }
932
+ return {};
933
+ },
934
+ alignCenter: function alignCenter() {
935
+ return !this.$isServer && !isSupportObjectFit() && this.fit !== ObjectFit.FILL;
936
+ },
937
+ preview: function preview() {
938
+ var previewSrcList = this.previewSrcList;
939
+
940
+ return Array.isArray(previewSrcList) && previewSrcList.length > 0;
941
+ },
942
+ imageIndex: function imageIndex() {
943
+ var previewIndex = 0;
944
+ var initialIndex = this.initialIndex;
945
+ if (initialIndex >= 0) {
946
+ previewIndex = initialIndex;
947
+ return previewIndex;
948
+ }
949
+ var srcIndex = this.previewSrcList.indexOf(this.src);
950
+ if (srcIndex >= 0) {
951
+ previewIndex = srcIndex;
952
+ return previewIndex;
953
+ }
954
+ return previewIndex;
955
+ }
956
+ },
957
+
958
+ watch: {
959
+ src: function src(val) {
960
+ this.show && this.loadImage();
961
+ },
962
+ show: function show(val) {
963
+ val && this.loadImage();
964
+ }
965
+ },
966
+
967
+ mounted: function mounted() {
968
+ if (this.lazy) {
969
+ this.addLazyLoadListener();
970
+ } else {
971
+ this.loadImage();
972
+ }
973
+ },
974
+ beforeDestroy: function beforeDestroy() {
975
+ this.lazy && this.removeLazyLoadListener();
976
+ },
977
+
978
+
979
+ methods: {
980
+ loadImage: function loadImage() {
981
+ var _this = this;
982
+
983
+ if (this.$isServer) return;
984
+
985
+ // reset status
986
+ this.loading = true;
987
+ this.error = false;
988
+
989
+ var img = new Image();
990
+ img.onload = function (e) {
991
+ return _this.handleLoad(e, img);
992
+ };
993
+ img.onerror = this.handleError.bind(this);
994
+
995
+ // bind html attrs
996
+ // so it can behave consistently
997
+ Object.keys(this.$attrs).forEach(function (key) {
998
+ var value = _this.$attrs[key];
999
+ img.setAttribute(key, value);
1000
+ });
1001
+ img.src = this.src;
1002
+ },
1003
+ handleLoad: function handleLoad(e, img) {
1004
+ this.imageWidth = img.width;
1005
+ this.imageHeight = img.height;
1006
+ this.loading = false;
1007
+ this.error = false;
1008
+ },
1009
+ handleError: function handleError(e) {
1010
+ this.loading = false;
1011
+ this.error = true;
1012
+ this.$emit('error', e);
1013
+ },
1014
+ handleLazyLoad: function handleLazyLoad() {
1015
+ if (Object(dom_["isInContainer"])(this.$el, this._scrollContainer)) {
1016
+ this.show = true;
1017
+ this.removeLazyLoadListener();
1018
+ }
1019
+ },
1020
+ addLazyLoadListener: function addLazyLoadListener() {
1021
+ if (this.$isServer) return;
1022
+
1023
+ var scrollContainer = this.scrollContainer;
1024
+
1025
+ var _scrollContainer = null;
1026
+
1027
+ if (Object(types_["isHtmlElement"])(scrollContainer)) {
1028
+ _scrollContainer = scrollContainer;
1029
+ } else if (Object(types_["isString"])(scrollContainer)) {
1030
+ _scrollContainer = document.querySelector(scrollContainer);
1031
+ } else {
1032
+ _scrollContainer = Object(dom_["getScrollContainer"])(this.$el);
1033
+ }
1034
+
1035
+ if (_scrollContainer) {
1036
+ this._scrollContainer = _scrollContainer;
1037
+ this._lazyLoadHandler = Object(external_lodash_es_["throttle"])(this.handleLazyLoad, 200);
1038
+ Object(dom_["on"])(_scrollContainer, 'scroll', this._lazyLoadHandler);
1039
+ this.handleLazyLoad();
1040
+ }
1041
+ },
1042
+ removeLazyLoadListener: function removeLazyLoadListener() {
1043
+ var _scrollContainer = this._scrollContainer,
1044
+ _lazyLoadHandler = this._lazyLoadHandler;
1045
+
1046
+
1047
+ if (this.$isServer || !_scrollContainer || !_lazyLoadHandler) return;
1048
+
1049
+ Object(dom_["off"])(_scrollContainer, 'scroll', _lazyLoadHandler);
1050
+ this._scrollContainer = null;
1051
+ this._lazyLoadHandler = null;
1052
+ },
1053
+
1054
+ /**
1055
+ * simulate object-fit behavior to compatible with IE11 and other browsers which not support object-fit
1056
+ */
1057
+ getImageStyle: function getImageStyle(fit) {
1058
+ var imageWidth = this.imageWidth,
1059
+ imageHeight = this.imageHeight;
1060
+ var _$el = this.$el,
1061
+ containerWidth = _$el.clientWidth,
1062
+ containerHeight = _$el.clientHeight;
1063
+
1064
+
1065
+ if (!imageWidth || !imageHeight || !containerWidth || !containerHeight) return {};
1066
+
1067
+ var imageAspectRatio = imageWidth / imageHeight;
1068
+ var containerAspectRatio = containerWidth / containerHeight;
1069
+
1070
+ if (fit === ObjectFit.SCALE_DOWN) {
1071
+ var isSmaller = imageWidth < containerWidth && imageHeight < containerHeight;
1072
+ fit = isSmaller ? ObjectFit.NONE : ObjectFit.CONTAIN;
1073
+ }
1074
+
1075
+ switch (fit) {
1076
+ case ObjectFit.NONE:
1077
+ return { width: 'auto', height: 'auto' };
1078
+ case ObjectFit.CONTAIN:
1079
+ return imageAspectRatio < containerAspectRatio ? { width: 'auto' } : { height: 'auto' };
1080
+ case ObjectFit.COVER:
1081
+ return imageAspectRatio < containerAspectRatio ? { height: 'auto' } : { width: 'auto' };
1082
+ default:
1083
+ return {};
1084
+ }
1085
+ },
1086
+ clickHandler: function clickHandler() {
1087
+ // don't show viewer when preview is false
1088
+ if (!this.preview) {
1089
+ return;
1090
+ }
1091
+ // prevent body scroll
1092
+ prevOverflow = document.body.style.overflow;
1093
+ document.body.style.overflow = 'hidden';
1094
+ this.showViewer = true;
1095
+ },
1096
+ closeViewer: function closeViewer() {
1097
+ document.body.style.overflow = prevOverflow;
1098
+ this.showViewer = false;
1099
+ }
1100
+ }
1101
+ });
1102
+ // CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=script&lang=js&
1103
+ /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_);
1104
+ // CONCATENATED MODULE: ./packages/image/src/main.vue
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+ /* normalize component */
1111
+
1112
+ var main_component = Object(componentNormalizer["a" /* default */])(
1113
+ src_mainvue_type_script_lang_js_,
1114
+ render,
1115
+ staticRenderFns,
1116
+ false,
1117
+ null,
1118
+ null,
1119
+ null
1120
+
1121
+ )
1122
+
1123
+ /* hot reload */
1124
+ if (false) { var main_api; }
1125
+ main_component.options.__file = "packages/image/src/main.vue"
1126
+ /* harmony default export */ var main = (main_component.exports);
1127
+ // CONCATENATED MODULE: ./packages/image/index.js
1128
+
1129
+
1130
+ /* istanbul ignore next */
1131
+ main.install = function (Vue) {
1132
+ Vue.component(main.name, main);
1133
+ };
1134
+
1135
+ /* harmony default export */ var packages_image = __webpack_exports__["default"] = (main);
1136
+
1137
+ /***/ })
1138
+
1139
+ /******/ });