@nutui/nutui 2.3.4 → 2.3.7

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 (228) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/.DS_Store +0 -0
  3. package/dist/assets/img/grid.png +0 -0
  4. package/dist/nutui.css +4 -2
  5. package/dist/nutui.css.map +1 -1
  6. package/dist/nutui.js +393 -154
  7. package/dist/nutui.js.map +1 -1
  8. package/dist/nutui.min.css +2 -2
  9. package/dist/nutui.min.js +3 -3
  10. package/dist/nutui.min.js.map +1 -1
  11. package/dist/nutui.scss +2 -1
  12. package/dist/packages/actionsheet/actionsheet.css +1 -1
  13. package/dist/packages/actionsheet/actionsheet.js +1 -1
  14. package/dist/packages/address/address.css +1 -1
  15. package/dist/packages/address/address.js +2 -2
  16. package/dist/packages/address/address.js.map +1 -1
  17. package/dist/packages/avatar/avatar.css +1 -1
  18. package/dist/packages/avatar/avatar.js +2 -2
  19. package/dist/packages/avatar/avatar.js.map +1 -1
  20. package/dist/packages/backtop/backtop.css +1 -1
  21. package/dist/packages/backtop/backtop.js +2 -2
  22. package/dist/packages/backtop/backtop.js.map +1 -1
  23. package/dist/packages/badge/badge.css +1 -1
  24. package/dist/packages/badge/badge.js +2 -2
  25. package/dist/packages/badge/badge.js.map +1 -1
  26. package/dist/packages/button/button.css +1 -1
  27. package/dist/packages/button/button.js +1 -1
  28. package/dist/packages/buttongroup/buttongroup.css +1 -1
  29. package/dist/packages/buttongroup/buttongroup.js +1 -1
  30. package/dist/packages/calendar/calendar.css +1 -1
  31. package/dist/packages/calendar/calendar.js +2 -2
  32. package/dist/packages/calendar/calendar.js.map +1 -1
  33. package/dist/packages/calendar/calendar.vue +1 -1
  34. package/dist/packages/cell/cell.css +1 -1
  35. package/dist/packages/cell/cell.js +2 -2
  36. package/dist/packages/cell/cell.js.map +1 -1
  37. package/dist/packages/checkbox/checkbox.css +1 -1
  38. package/dist/packages/checkbox/checkbox.js +2 -2
  39. package/dist/packages/checkboxgroup/checkboxgroup.css +1 -1
  40. package/dist/packages/checkboxgroup/checkboxgroup.js +2 -2
  41. package/dist/packages/checkboxgroup/checkboxgroup.js.map +1 -1
  42. package/dist/packages/circleprogress/circleprogress.css +1 -1
  43. package/dist/packages/circleprogress/circleprogress.js +2 -2
  44. package/dist/packages/circleprogress/circleprogress.js.map +1 -1
  45. package/dist/packages/col/col.css +1 -1
  46. package/dist/packages/col/col.js +1 -1
  47. package/dist/packages/collapse/collapse.css +1 -1
  48. package/dist/packages/collapse/collapse.js +2 -2
  49. package/dist/packages/collapse/collapse.js.map +1 -1
  50. package/dist/packages/collapseitem/collapseitem.css +1 -1
  51. package/dist/packages/collapseitem/collapseitem.js +2 -2
  52. package/dist/packages/collapseitem/collapseitem.js.map +1 -1
  53. package/dist/packages/countdown/countdown.css +1 -1
  54. package/dist/packages/countdown/countdown.js +2 -2
  55. package/dist/packages/countdown/countdown.js.map +1 -1
  56. package/dist/packages/countup/countup.css +2 -2
  57. package/dist/packages/countup/countup.js +2 -2
  58. package/dist/packages/countup/countup.js.map +1 -1
  59. package/dist/packages/countup/countup.scss +2 -1
  60. package/dist/packages/countup/countup.vue +22 -10
  61. package/dist/packages/coupon/coupon.css +1 -1
  62. package/dist/packages/coupon/coupon.js +2 -2
  63. package/dist/packages/coupon/coupon.js.map +1 -1
  64. package/dist/packages/datepicker/datepicker.css +1 -1
  65. package/dist/packages/datepicker/datepicker.js +2 -2
  66. package/dist/packages/datepicker/datepicker.js.map +1 -1
  67. package/dist/packages/dialog/dialog.css +1 -1
  68. package/dist/packages/dialog/dialog.js +2 -2
  69. package/dist/packages/dialog/dialog.js.map +1 -1
  70. package/dist/packages/drag/drag.css +1 -1
  71. package/dist/packages/drag/drag.js +2 -2
  72. package/dist/packages/drag/drag.js.map +1 -1
  73. package/dist/packages/elevator/elevator.css +1 -1
  74. package/dist/packages/elevator/elevator.js +2 -2
  75. package/dist/packages/elevator/elevator.js.map +1 -1
  76. package/dist/packages/fixednav/fixednav.css +1 -1
  77. package/dist/packages/fixednav/fixednav.js +2 -2
  78. package/dist/packages/fixednav/fixednav.js.map +1 -1
  79. package/dist/packages/flex/flex.css +1 -1
  80. package/dist/packages/flex/flex.js +2 -2
  81. package/dist/packages/flex/flex.js.map +1 -1
  82. package/dist/packages/icon/icon.css +1 -1
  83. package/dist/packages/icon/icon.js +1 -1
  84. package/dist/packages/imagepicker/imagepicker.css +1 -1
  85. package/dist/packages/imagepicker/imagepicker.js +2 -2
  86. package/dist/packages/imagepicker/imagepicker.js.map +1 -1
  87. package/dist/packages/infiniteloading/infiniteloading.css +1 -1
  88. package/dist/packages/infiniteloading/infiniteloading.js +2 -2
  89. package/dist/packages/infiniteloading/infiniteloading.js.map +1 -1
  90. package/dist/packages/infiniteloading/infiniteloading.vue +5 -1
  91. package/dist/packages/lazyload/lazyload.css +1 -1
  92. package/dist/packages/lazyload/lazyload.js +2 -2
  93. package/dist/packages/lazyload/lazyload.js.map +1 -1
  94. package/dist/packages/leftslip/leftslip.css +1 -1
  95. package/dist/packages/leftslip/leftslip.js +2 -2
  96. package/dist/packages/leftslip/leftslip.js.map +1 -1
  97. package/dist/packages/luckdraw/luckdraw.css +1 -1
  98. package/dist/packages/luckdraw/luckdraw.js +2 -2
  99. package/dist/packages/luckdraw/luckdraw.js.map +1 -1
  100. package/dist/packages/luckycard/luckycard.css +1 -1
  101. package/dist/packages/luckycard/luckycard.js +2 -2
  102. package/dist/packages/luckycard/luckycard.js.map +1 -1
  103. package/dist/packages/magic/magic.css +1 -1
  104. package/dist/packages/magic/magic.js +2 -2
  105. package/dist/packages/magic/magic.js.map +1 -1
  106. package/dist/packages/menu/menu.css +1 -1
  107. package/dist/packages/menu/menu.js +2 -2
  108. package/dist/packages/menu/menu.js.map +1 -1
  109. package/dist/packages/navbar/navbar.css +1 -1
  110. package/dist/packages/navbar/navbar.js +2 -2
  111. package/dist/packages/navbar/navbar.js.map +1 -1
  112. package/dist/packages/ninegrid/animation.scss +223 -0
  113. package/dist/packages/ninegrid/index.js +8 -0
  114. package/dist/packages/ninegrid/ninegrid.css +5 -0
  115. package/dist/packages/ninegrid/ninegrid.js +7 -0
  116. package/dist/packages/ninegrid/ninegrid.js.map +1 -0
  117. package/dist/packages/ninegrid/ninegrid.scss +132 -0
  118. package/dist/packages/ninegrid/ninegrid.vue +144 -0
  119. package/dist/packages/noticebar/noticebar.css +1 -1
  120. package/dist/packages/noticebar/noticebar.js +2 -2
  121. package/dist/packages/noticebar/noticebar.js.map +1 -1
  122. package/dist/packages/notify/notify.css +1 -1
  123. package/dist/packages/notify/notify.js +2 -2
  124. package/dist/packages/notify/notify.js.map +1 -1
  125. package/dist/packages/numberkeyboard/numberkeyboard.css +1 -1
  126. package/dist/packages/numberkeyboard/numberkeyboard.js +2 -2
  127. package/dist/packages/numberkeyboard/numberkeyboard.js.map +1 -1
  128. package/dist/packages/picker/picker.css +1 -1
  129. package/dist/packages/picker/picker.js +2 -2
  130. package/dist/packages/picker/picker.js.map +1 -1
  131. package/dist/packages/popup/popup.css +1 -1
  132. package/dist/packages/popup/popup.js +1 -1
  133. package/dist/packages/price/price.css +1 -1
  134. package/dist/packages/price/price.js +2 -2
  135. package/dist/packages/price/price.js.map +1 -1
  136. package/dist/packages/progress/progress.css +1 -1
  137. package/dist/packages/progress/progress.js +2 -2
  138. package/dist/packages/progress/progress.js.map +1 -1
  139. package/dist/packages/radio/radio.css +1 -1
  140. package/dist/packages/radio/radio.js +2 -2
  141. package/dist/packages/radio/radio.js.map +1 -1
  142. package/dist/packages/radiogroup/radiogroup.css +1 -1
  143. package/dist/packages/radiogroup/radiogroup.js +2 -2
  144. package/dist/packages/radiogroup/radiogroup.js.map +1 -1
  145. package/dist/packages/range/range.css +1 -1
  146. package/dist/packages/range/range.js +2 -2
  147. package/dist/packages/range/range.js.map +1 -1
  148. package/dist/packages/rate/rate.css +1 -1
  149. package/dist/packages/rate/rate.js +2 -2
  150. package/dist/packages/rate/rate.js.map +1 -1
  151. package/dist/packages/row/row.css +1 -1
  152. package/dist/packages/row/row.js +1 -1
  153. package/dist/packages/scroller/scroller.css +1 -1
  154. package/dist/packages/scroller/scroller.js +2 -2
  155. package/dist/packages/scroller/scroller.js.map +1 -1
  156. package/dist/packages/scroller/scroller.vue +5 -0
  157. package/dist/packages/scroller/vertical-scroll.vue +7 -2
  158. package/dist/packages/searchbar/searchbar.css +1 -1
  159. package/dist/packages/searchbar/searchbar.js +2 -2
  160. package/dist/packages/searchbar/searchbar.js.map +1 -1
  161. package/dist/packages/shortpassword/shortpassword.css +1 -1
  162. package/dist/packages/shortpassword/shortpassword.js +2 -2
  163. package/dist/packages/shortpassword/shortpassword.js.map +1 -1
  164. package/dist/packages/sidenavbar/sidenavbar.css +1 -1
  165. package/dist/packages/sidenavbar/sidenavbar.js +2 -2
  166. package/dist/packages/sidenavbar/sidenavbar.js.map +1 -1
  167. package/dist/packages/sidenavbaritem/sidenavbaritem.css +1 -1
  168. package/dist/packages/sidenavbaritem/sidenavbaritem.js +1 -1
  169. package/dist/packages/signature/signature.css +1 -1
  170. package/dist/packages/signature/signature.js +2 -2
  171. package/dist/packages/signature/signature.js.map +1 -1
  172. package/dist/packages/skeleton/skeleton.css +1 -1
  173. package/dist/packages/skeleton/skeleton.js +2 -2
  174. package/dist/packages/skeleton/skeleton.js.map +1 -1
  175. package/dist/packages/slider/slider.css +1 -1
  176. package/dist/packages/slider/slider.js +2 -2
  177. package/dist/packages/slider/slider.js.map +1 -1
  178. package/dist/packages/stepper/stepper.css +1 -1
  179. package/dist/packages/stepper/stepper.js +2 -2
  180. package/dist/packages/stepper/stepper.js.map +1 -1
  181. package/dist/packages/steps/steps.css +1 -1
  182. package/dist/packages/steps/steps.js +2 -2
  183. package/dist/packages/steps/steps.js.map +1 -1
  184. package/dist/packages/subsidenavbar/subsidenavbar.css +1 -1
  185. package/dist/packages/subsidenavbar/subsidenavbar.js +1 -1
  186. package/dist/packages/swiper/swiper.css +1 -1
  187. package/dist/packages/swiper/swiper.js +2 -2
  188. package/dist/packages/swiper/swiper.js.map +1 -1
  189. package/dist/packages/switch/switch.css +1 -1
  190. package/dist/packages/switch/switch.js +2 -2
  191. package/dist/packages/switch/switch.js.map +1 -1
  192. package/dist/packages/tab/tab.css +1 -1
  193. package/dist/packages/tab/tab.js +2 -2
  194. package/dist/packages/tab/tab.js.map +1 -1
  195. package/dist/packages/tab/tab.vue +1 -0
  196. package/dist/packages/tabbar/tabbar.css +1 -1
  197. package/dist/packages/tabbar/tabbar.js +2 -2
  198. package/dist/packages/tabbar/tabbar.js.map +1 -1
  199. package/dist/packages/tabbar/tabbar.vue +1 -1
  200. package/dist/packages/tabpanel/tabpanel.css +1 -1
  201. package/dist/packages/tabpanel/tabpanel.js +2 -2
  202. package/dist/packages/tabpanel/tabpanel.js.map +1 -1
  203. package/dist/packages/tabselect/tabselect.css +1 -1
  204. package/dist/packages/tabselect/tabselect.js +2 -2
  205. package/dist/packages/tabselect/tabselect.js.map +1 -1
  206. package/dist/packages/textbox/textbox.css +1 -1
  207. package/dist/packages/textbox/textbox.js +2 -2
  208. package/dist/packages/textbox/textbox.js.map +1 -1
  209. package/dist/packages/textinput/textinput.css +1 -1
  210. package/dist/packages/textinput/textinput.js +2 -2
  211. package/dist/packages/textinput/textinput.js.map +1 -1
  212. package/dist/packages/timeline/timeline.css +1 -1
  213. package/dist/packages/timeline/timeline.js +2 -2
  214. package/dist/packages/timeline/timeline.js.map +1 -1
  215. package/dist/packages/timelineitem/timelineitem.css +1 -1
  216. package/dist/packages/timelineitem/timelineitem.js +2 -2
  217. package/dist/packages/timelineitem/timelineitem.js.map +1 -1
  218. package/dist/packages/toast/toast.css +1 -1
  219. package/dist/packages/toast/toast.js +2 -2
  220. package/dist/packages/toast/toast.js.map +1 -1
  221. package/dist/packages/uploader/uploader.css +1 -1
  222. package/dist/packages/uploader/uploader.js +2 -2
  223. package/dist/packages/uploader/uploader.js.map +1 -1
  224. package/dist/packages/video/video.css +1 -1
  225. package/dist/packages/video/video.js +2 -2
  226. package/dist/packages/video/video.js.map +1 -1
  227. package/dist/types/nutui.d.ts +1 -0
  228. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/./src/packages/infiniteloading/infiniteloading.vue?ee66","webpack://[name]/./src/packages/infiniteloading/infiniteloading.vue?4076","webpack://[name]/src/packages/infiniteloading/infiniteloading.vue","webpack://[name]/./src/packages/infiniteloading/infiniteloading.vue","webpack://[name]/./src/packages/infiniteloading/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","props","hasMore","type","Boolean","default","isLoading","threshold","Number","useWindow","useCapture","isShowMod","isShowBottomTips","unloadMoreTxt","String","scrollChange","Function","containerId","data","startX","startY","diffX","diffY","beforeScrollTop","slotUnloadMore","slotLoading","mounted","scrollEl","parentElement","scrollListener","$slots","unloadMore","loading","methods","touchStartHandle","e","changedTouches","pageX","pageY","console","log","message","touchMoveHandle","endX","endY","getParentElement","document","querySelector","el","parentNode","addEventListener","handleScroll","window","requestAniFrame","calculateTopPosition","offsetTop","offsetParent","getWindowScrollTop","undefined","pageYOffset","isScrollAtBottom","offsetDistance","$refs","scroller","offsetHeight","windowScrollTop","innerHeight","scrollHeight","clientHeight","scrollTop","resScrollTop","$emit","activated","keepAlive","deactivated","removeEventListener","destroyed","_vm","_h","$createElement","_c","_self","ref","staticClass","on","$event","_t","_v","_e","_s","InfiniteLoading","install","Vue","component"],"mappings":"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","file":"infiniteloading/infiniteloading.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"infiniteloading\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"infiniteloading\"] = factory();\n\telse\n\t\troot[\"infiniteloading\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 190);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"scroller\",staticClass:\"nut-infiniteloading\",on:{\"touchstart\":function($event){return _vm.touchStartHandle($event)},\"touchmove\":function($event){return _vm.touchMoveHandle($event)}}},[_vm._t(\"default\"),_vm._v(\" \"),_c('div',{staticClass:\"load-more\"},[(_vm.isShowBottomTips)?_c('div',{staticClass:\"bottom-tips\"},[(_vm.isLoading)?[(!_vm.slotLoading)?[_c('i',{staticClass:\"loading-hint\"}),_c('span',{staticClass:\"loading-txt\"},[_vm._v(\"加载中...\")])]:_vm._t(\"loading\")]:(!_vm.hasMore)?[(!_vm.slotUnloadMore)?_c('span',{staticClass:\"tips-txt\"},[_vm._v(_vm._s(_vm.unloadMoreTxt))]):_vm._t(\"unloadMore\")]:_vm._e()],2):_vm._e()])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./infiniteloading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./infiniteloading.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-infiniteloading\" ref=\"scroller\" @touchstart=\"touchStartHandle($event)\" @touchmove=\"touchMoveHandle($event)\">\n <slot></slot>\n <div class=\"load-more\">\n <div class=\"bottom-tips\" v-if=\"isShowBottomTips\">\n <template v-if=\"isLoading\">\n <template v-if=\"!slotLoading\"> <i class=\"loading-hint\"></i><span class=\"loading-txt\">加载中...</span> </template>\n <slot name=\"loading\" v-else></slot>\n </template>\n\n <template v-else-if=\"!hasMore\">\n <span class=\"tips-txt\" v-if=\"!slotUnloadMore\">{{ unloadMoreTxt }}</span>\n <slot name=\"unloadMore\" v-else></slot>\n </template>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: 'nut-infiniteloading',\n props: {\n hasMore: {\n type: Boolean,\n default: true\n },\n isLoading: {\n type: Boolean,\n default: false\n },\n threshold: {\n type: Number,\n default: 200\n },\n useWindow: {\n type: Boolean,\n default: true\n },\n useCapture: {\n type: Boolean,\n default: false\n },\n isShowMod: {\n type: Boolean,\n default: false\n },\n isShowBottomTips: {\n type: Boolean,\n default: true\n },\n unloadMoreTxt: {\n type: String,\n default: '哎呀,这里是底部了啦'\n },\n scrollChange: {\n type: Function\n },\n containerId: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n startX: 0,\n startY: 0,\n diffX: 0,\n diffY: 0,\n beforeScrollTop: 0,\n slotUnloadMore: false,\n slotLoading: false\n };\n },\n\n mounted: function() {\n const parentElement = this.getParentElement(this.$el);\n let scrollEl = window;\n if (this.useWindow === false) {\n scrollEl = parentElement;\n }\n this.scrollEl = scrollEl;\n this.scrollListener();\n\n this.slotUnloadMore = this.$slots.unloadMore ? true : false;\n this.slotLoading = this.$slots.loading ? true : false;\n },\n\n methods: {\n touchStartHandle(e) {\n try {\n this.startX = Number(e.changedTouches[0].pageX);\n this.startY = Number(e.changedTouches[0].pageY);\n } catch (e) {\n console.log(e.message);\n }\n },\n touchMoveHandle(e) {\n let endX = Number(e.changedTouches[0].pageX);\n let endY = Number(e.changedTouches[0].pageY);\n this.diffX = endX - this.startX;\n this.diffY = endY - this.startY;\n },\n getParentElement(el) {\n if (this.containerId) {\n return document.querySelector(`#${this.containerId}`);\n }\n return el && el.parentNode;\n },\n scrollListener() {\n this.scrollEl.addEventListener('scroll', this.handleScroll, this.useCapture);\n window.addEventListener('resize', this.handleScroll, this.useCapture);\n },\n\n requestAniFrame() {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function(callback) {\n window.setTimeout(callback, 1000 / 60);\n }\n );\n },\n\n handleScroll() {\n this.requestAniFrame()(() => {\n if (!this.isScrollAtBottom() || !this.hasMore || this.isLoading || !this.isShowMod) {\n return false;\n } else {\n this.$emit('loadmore');\n }\n });\n },\n\n calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n },\n\n getWindowScrollTop() {\n return window.pageYOffset !== undefined\n ? window.pageYOffset\n : (document.documentElement || document.body.parentNode || document.body).scrollTop;\n },\n\n isScrollAtBottom() {\n let offsetDistance;\n\n let resScrollTop = 0;\n\n const windowScrollTop = this.getWindowScrollTop();\n\n if (this.useWindow) {\n offsetDistance = this.calculateTopPosition(this.$refs.scroller) + this.$refs.scroller.offsetHeight - windowScrollTop - window.innerHeight;\n } else {\n const { scrollHeight, clientHeight, scrollTop } = this.scrollEl;\n\n offsetDistance = scrollHeight - clientHeight - scrollTop;\n resScrollTop = scrollTop;\n }\n this.$emit('scrollChange', this.useWindow ? windowScrollTop : resScrollTop);\n // 保证是往下滑动的\n let beforeScrollTop = this.beforeScrollTop;\n this.beforeScrollTop = windowScrollTop;\n\n return offsetDistance <= this.threshold && windowScrollTop >= this.beforeScrollTop;\n }\n },\n\n activated() {\n if (this.keepAlive) {\n this.keepAlive = false;\n this.scrollListener();\n }\n },\n\n deactivated() {\n this.keepAlive = true;\n this.scrollEl.removeEventListener('scroll', this.handleScroll, this.useCapture);\n window.removeEventListener('resize', this.handleScroll, this.useCapture);\n },\n\n destroyed() {\n this.scrollEl.removeEventListener('scroll', this.handleScroll, this.useCapture);\n window.removeEventListener('resize', this.handleScroll, this.useCapture);\n }\n};\n</script>\n","import { render, staticRenderFns } from \"./infiniteloading.vue?vue&type=template&id=1eebeea8&\"\nimport script from \"./infiniteloading.vue?vue&type=script&lang=js&\"\nexport * from \"./infiniteloading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import InfiniteLoading from './infiniteloading.vue';\nimport './infiniteloading.scss';\n\nInfiniteLoading.install = function(Vue) {\n Vue.component(InfiniteLoading.name, InfiniteLoading);\n};\n\nexport default InfiniteLoading;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/./src/packages/infiniteloading/infiniteloading.vue?e064","webpack://[name]/./src/packages/infiniteloading/infiniteloading.vue?4076","webpack://[name]/src/packages/infiniteloading/infiniteloading.vue","webpack://[name]/./src/packages/infiniteloading/infiniteloading.vue","webpack://[name]/./src/packages/infiniteloading/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","props","hasMore","type","Boolean","default","isLoading","threshold","Number","useWindow","useCapture","isShowMod","isShowBottomTips","unloadMoreTxt","String","loadingTxt","scrollChange","Function","containerId","data","startX","startY","diffX","diffY","beforeScrollTop","slotUnloadMore","slotLoading","mounted","scrollEl","parentElement","scrollListener","$slots","unloadMore","loading","methods","touchStartHandle","e","changedTouches","pageX","pageY","console","log","message","touchMoveHandle","endX","endY","getParentElement","document","querySelector","el","parentNode","addEventListener","handleScroll","window","requestAniFrame","calculateTopPosition","offsetTop","offsetParent","getWindowScrollTop","undefined","pageYOffset","isScrollAtBottom","offsetDistance","$refs","scroller","offsetHeight","windowScrollTop","innerHeight","scrollHeight","clientHeight","scrollTop","resScrollTop","$emit","activated","keepAlive","deactivated","removeEventListener","destroyed","_vm","_h","$createElement","_c","_self","ref","staticClass","on","$event","_t","_v","_s","_e","InfiniteLoading","install","Vue","component"],"mappings":"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","file":"infiniteloading/infiniteloading.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"infiniteloading\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"infiniteloading\"] = factory();\n\telse\n\t\troot[\"infiniteloading\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 191);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"scroller\",staticClass:\"nut-infiniteloading\",on:{\"touchstart\":function($event){return _vm.touchStartHandle($event)},\"touchmove\":function($event){return _vm.touchMoveHandle($event)}}},[_vm._t(\"default\"),_vm._v(\" \"),_c('div',{staticClass:\"load-more\"},[(_vm.isShowBottomTips)?_c('div',{staticClass:\"bottom-tips\"},[(_vm.isLoading)?[(!_vm.slotLoading)?[_c('i',{staticClass:\"loading-hint\"}),_c('span',{staticClass:\"loading-txt\"},[_vm._v(_vm._s(_vm.loadingTxt))])]:_vm._t(\"loading\")]:(!_vm.hasMore)?[(!_vm.slotUnloadMore)?_c('span',{staticClass:\"tips-txt\"},[_vm._v(_vm._s(_vm.unloadMoreTxt))]):_vm._t(\"unloadMore\")]:_vm._e()],2):_vm._e()])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./infiniteloading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./infiniteloading.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-infiniteloading\" ref=\"scroller\" @touchstart=\"touchStartHandle($event)\" @touchmove=\"touchMoveHandle($event)\">\n <slot></slot>\n <div class=\"load-more\">\n <div class=\"bottom-tips\" v-if=\"isShowBottomTips\">\n <template v-if=\"isLoading\">\n <template v-if=\"!slotLoading\"> <i class=\"loading-hint\"></i><span class=\"loading-txt\">{{loadingTxt}}</span> </template>\n <slot name=\"loading\" v-else></slot>\n </template>\n\n <template v-else-if=\"!hasMore\">\n <span class=\"tips-txt\" v-if=\"!slotUnloadMore\">{{ unloadMoreTxt }}</span>\n <slot name=\"unloadMore\" v-else></slot>\n </template>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: 'nut-infiniteloading',\n props: {\n hasMore: {\n type: Boolean,\n default: true\n },\n isLoading: {\n type: Boolean,\n default: false\n },\n threshold: {\n type: Number,\n default: 200\n },\n useWindow: {\n type: Boolean,\n default: true\n },\n useCapture: {\n type: Boolean,\n default: false\n },\n isShowMod: {\n type: Boolean,\n default: false\n },\n isShowBottomTips: {\n type: Boolean,\n default: true\n },\n unloadMoreTxt: {\n type: String,\n default: '哎呀,这里是底部了啦'\n },\n loadingTxt: {\n type: String,\n default: '加载中...'\n },\n scrollChange: {\n type: Function\n },\n containerId: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n startX: 0,\n startY: 0,\n diffX: 0,\n diffY: 0,\n beforeScrollTop: 0,\n slotUnloadMore: false,\n slotLoading: false\n };\n },\n\n mounted: function() {\n const parentElement = this.getParentElement(this.$el);\n let scrollEl = window;\n if (this.useWindow === false) {\n scrollEl = parentElement;\n }\n this.scrollEl = scrollEl;\n this.scrollListener();\n\n this.slotUnloadMore = this.$slots.unloadMore ? true : false;\n this.slotLoading = this.$slots.loading ? true : false;\n },\n\n methods: {\n touchStartHandle(e) {\n try {\n this.startX = Number(e.changedTouches[0].pageX);\n this.startY = Number(e.changedTouches[0].pageY);\n } catch (e) {\n console.log(e.message);\n }\n },\n touchMoveHandle(e) {\n let endX = Number(e.changedTouches[0].pageX);\n let endY = Number(e.changedTouches[0].pageY);\n this.diffX = endX - this.startX;\n this.diffY = endY - this.startY;\n },\n getParentElement(el) {\n if (this.containerId) {\n return document.querySelector(`#${this.containerId}`);\n }\n return el && el.parentNode;\n },\n scrollListener() {\n this.scrollEl.addEventListener('scroll', this.handleScroll, this.useCapture);\n window.addEventListener('resize', this.handleScroll, this.useCapture);\n },\n\n requestAniFrame() {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function(callback) {\n window.setTimeout(callback, 1000 / 60);\n }\n );\n },\n\n handleScroll() {\n this.requestAniFrame()(() => {\n if (!this.isScrollAtBottom() || !this.hasMore || this.isLoading || !this.isShowMod) {\n return false;\n } else {\n this.$emit('loadmore');\n }\n });\n },\n\n calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n },\n\n getWindowScrollTop() {\n return window.pageYOffset !== undefined\n ? window.pageYOffset\n : (document.documentElement || document.body.parentNode || document.body).scrollTop;\n },\n\n isScrollAtBottom() {\n let offsetDistance;\n\n let resScrollTop = 0;\n\n const windowScrollTop = this.getWindowScrollTop();\n\n if (this.useWindow) {\n offsetDistance = this.calculateTopPosition(this.$refs.scroller) + this.$refs.scroller.offsetHeight - windowScrollTop - window.innerHeight;\n } else {\n const { scrollHeight, clientHeight, scrollTop } = this.scrollEl;\n\n offsetDistance = scrollHeight - clientHeight - scrollTop;\n resScrollTop = scrollTop;\n }\n this.$emit('scrollChange', this.useWindow ? windowScrollTop : resScrollTop);\n // 保证是往下滑动的\n let beforeScrollTop = this.beforeScrollTop;\n this.beforeScrollTop = windowScrollTop;\n\n return offsetDistance <= this.threshold && windowScrollTop >= this.beforeScrollTop;\n }\n },\n\n activated() {\n if (this.keepAlive) {\n this.keepAlive = false;\n this.scrollListener();\n }\n },\n\n deactivated() {\n this.keepAlive = true;\n this.scrollEl.removeEventListener('scroll', this.handleScroll, this.useCapture);\n window.removeEventListener('resize', this.handleScroll, this.useCapture);\n },\n\n destroyed() {\n this.scrollEl.removeEventListener('scroll', this.handleScroll, this.useCapture);\n window.removeEventListener('resize', this.handleScroll, this.useCapture);\n }\n};\n</script>\n","import { render, staticRenderFns } from \"./infiniteloading.vue?vue&type=template&id=48fb25f8&\"\nimport script from \"./infiniteloading.vue?vue&type=script&lang=js&\"\nexport * from \"./infiniteloading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import InfiniteLoading from './infiniteloading.vue';\nimport './infiniteloading.scss';\n\nInfiniteLoading.install = function(Vue) {\n Vue.component(InfiniteLoading.name, InfiniteLoading);\n};\n\nexport default InfiniteLoading;\n"],"sourceRoot":""}
@@ -4,7 +4,7 @@
4
4
  <div class="load-more">
5
5
  <div class="bottom-tips" v-if="isShowBottomTips">
6
6
  <template v-if="isLoading">
7
- <template v-if="!slotLoading"> <i class="loading-hint"></i><span class="loading-txt">加载中...</span> </template>
7
+ <template v-if="!slotLoading"> <i class="loading-hint"></i><span class="loading-txt">{{loadingTxt}}</span> </template>
8
8
  <slot name="loading" v-else></slot>
9
9
  </template>
10
10
 
@@ -52,6 +52,10 @@ export default {
52
52
  type: String,
53
53
  default: '哎呀,这里是底部了啦'
54
54
  },
55
+ loadingTxt: {
56
+ type: String,
57
+ default: '加载中...'
58
+ },
55
59
  scrollChange: {
56
60
  type: Function
57
61
  },
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v2.3.4 - lazyload.css, 2e03fecba27c2ec4fc69, Thu Jul 15 2021 22:33:51 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v2.3.7 - lazyload.css, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
3
3
  * (c) 2017-2020 JDC
4
4
  * Released under the MIT License.
5
5
  */.lazyloadDemo>div,.lazyloadDemo img{width:100%;background-color:#ddd}.lazyloadDemo>div{height:220px;overflow:hidden;background-size:100% 100%}
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * @nutui/nutui v2.3.4 - lazyload.js, 2e03fecba27c2ec4fc69, Thu Jul 15 2021 22:33:51 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v2.3.7 - lazyload.js, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
3
3
  * (c) 2017-2020 JDC
4
4
  * Released under the MIT License.
5
5
  */
6
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("lazyload",[],t):"object"==typeof exports?exports.lazyload=t():e.lazyload=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=212)}({127:function(e,t,n){},212:function(e,t,n){"use strict";n.r(t);
6
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("lazyload",[],t):"object"==typeof exports?exports.lazyload=t():e.lazyload=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=214)}({127:function(e,t,n){},214:function(e,t,n){"use strict";n.r(t);
7
7
  /*!
8
8
  * Vue-Lazyload.js v1.3.3
9
9
  * (c) 2019 Awe <hilongjw@gmail.com>
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-lazyload/vue-lazyload.esm.js","webpack://[name]/./src/packages/lazyload/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","length","descriptor","configurable","writable","protoProps","staticProps","isPrimitive","toString","kindOf","val","type","Boolean","String","Number","Function","slice","Array","isArray","RegExp","Date","isBuffer","len","arguments","isObject$1","extend","receiver","objects","getOwnPropertySymbols","isEnumerable","propertyIsEnumerable","provider","names","j","assignSymbols","hasOwn","assignDeep","inBrowser","window","hasIntersectionObserver","IntersectionObserverEntry","intersectionRatio","checkIntersectionObserver","modeType","CustomEvent","Event","event","params","bubbles","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","remove","arr","item","index","indexOf","splice","getBestSelectionFromSrcset","el","scale","tagName","getAttribute","options","result","containerWidth","parentNode","offsetWidth","spaceIndex","tmpSrc","tmpWidth","trim","split","map","lastIndexOf","substr","parseInt","push","sort","a","b","bestSelectedSrc","tmpOption","next","find","fn","getDPR","devicePixelRatio","supportWebp","support","createElement","style","visibility","innerHTML","body","appendChild","removeChild","err","supportsPassive","opts","addEventListener","e","testSupportsPassive","_","on","func","capture","passive","off","removeEventListener","loadImageAsync","resolve","reject","image","Image","src","Error","onload","naturalHeight","naturalWidth","onerror","prop","getComputedStyle","getPropertyValue","overflow","noop","ImageCache","_ref","max","_caches","has","free","shift","ReactiveListener","error","loading","bindType","$parent","elRenderer","imageCache","attempt","rect","_imageCache","performanceData","init","now","loadStart","loadEnd","filter","initState","render","dataset","setAttribute","state","loaded","rendered","_ref2","oldSrc","getBoundingClientRect","getRect","top","innerHeight","preLoad","bottom","preLoadTop","left","innerWidth","right","_this","keys","ObjectKeys","cb","_this2","data","silent","console","warn","_this3","onFinish","log","renderLoading","adapter","record","add","cache","time","DEFAULT_URL","DEFAULT_EVENTS","DEFAULT_OBSERVER_OPTIONS","rootMargin","threshold","Lazy","Vue","action","delay","timeout","lastRun","throttleWait","dispatchEvent","_ref$silent","listenEvents","hasbind","observer","observerOptions","version","ListenerQueue","TargetIndex","TargetQueue","ListenEvents","_initEvent","lazyLoadHandler","_lazyLoadHandler","elapsed","context","args","runCallback","apply","setTimeout","setMode","list","performance","vm","_addListenerTarget","_observer","observe","$el","binding","vnode","some","update","nextTick","_valueFormatter2","_valueFormatter","container","modifiers","$refs","getElementById","HTMLElement","parent","documentElement","test","scrollParent","newListener","arg","_elRenderer","_valueFormatter3","exist","unobserve","existItem","_removeListenerTarget","$destroy","forEach","listener","_initListen","_initIntersectionObserver","childrenCount","id","listened","_this4","start","_this5","_this6","listeners","$on","$once","$off","$emit","inCache","_this7","freeList","checkInView","load","_this8","IntersectionObserver","_observerHandler","entries","_this9","entry","isIntersecting","LazyComponent","lazy","tag","default","h","show","$slots","mounted","addLazyBox","beforeDestroy","removeComponent","methods","destroy","LazyContainerMananger","lazyContainerMananger","_queue","LazyContainer$1","clear","defaultOptions","selector","LazyContainer","_ref3","getImgs","arrLike","ArrayFrom","querySelectorAll","LazyImage","lazyManager","attrs","renderSrc","watch","created","_lazyManager$_valueFo","install","LazyClass","lazyContainer","isVue2","$Lazyload","lazyComponent","component","lazyImage","directive","componentUpdated","unbind","newValue","oldValue","$els","Lazyload"],"mappings":"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","file":"lazyload/lazyload.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"lazyload\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"lazyload\"] = factory();\n\telse\n\t\troot[\"lazyload\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 212);\n","/*!\n * Vue-Lazyload.js v1.3.3\n * (c) 2019 Awe <hilongjw@gmail.com>\n * Released under the MIT License.\n */\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n/*!\n * is-primitive <https://github.com/jonschlinkert/is-primitive>\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n// see http://jsperf.com/testing-value-is-primitive/7\n\nvar isPrimitive = function isPrimitive(value) {\n return value == null || typeof value !== 'function' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object';\n};\n\n/*!\n * assign-symbols <https://github.com/jonschlinkert/assign-symbols>\n *\n * Copyright (c) 2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\nvar assignSymbols = function assignSymbols(receiver, objects) {\n if (receiver === null || typeof receiver === 'undefined') {\n throw new TypeError('expected first argument to be an object.');\n }\n\n if (typeof objects === 'undefined' || typeof Symbol === 'undefined') {\n return receiver;\n }\n\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return receiver;\n }\n\n var isEnumerable = Object.prototype.propertyIsEnumerable;\n var target = Object(receiver);\n var len = arguments.length,\n i = 0;\n\n while (++i < len) {\n var provider = Object(arguments[i]);\n var names = Object.getOwnPropertySymbols(provider);\n\n for (var j = 0; j < names.length; j++) {\n var key = names[j];\n\n if (isEnumerable.call(provider, key)) {\n target[key] = provider[key];\n }\n }\n }\n return target;\n};\n\nvar toString = Object.prototype.toString;\n\n/**\n * Get the native `typeof` a value.\n *\n * @param {*} `val`\n * @return {*} Native javascript type\n */\n\nvar kindOf = function kindOf(val) {\n var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n\n // primitivies\n if (type === 'undefined') {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n if (val === true || val === false || val instanceof Boolean) {\n return 'boolean';\n }\n if (type === 'string' || val instanceof String) {\n return 'string';\n }\n if (type === 'number' || val instanceof Number) {\n return 'number';\n }\n\n // functions\n if (type === 'function' || val instanceof Function) {\n if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') {\n return 'generatorfunction';\n }\n return 'function';\n }\n\n // array\n if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) {\n return 'array';\n }\n\n // check for instances of RegExp and Date before calling `toString`\n if (val instanceof RegExp) {\n return 'regexp';\n }\n if (val instanceof Date) {\n return 'date';\n }\n\n // other objects\n type = toString.call(val);\n\n if (type === '[object RegExp]') {\n return 'regexp';\n }\n if (type === '[object Date]') {\n return 'date';\n }\n if (type === '[object Arguments]') {\n return 'arguments';\n }\n if (type === '[object Error]') {\n return 'error';\n }\n if (type === '[object Promise]') {\n return 'promise';\n }\n\n // buffer\n if (isBuffer(val)) {\n return 'buffer';\n }\n\n // es6: Map, WeakMap, Set, WeakSet\n if (type === '[object Set]') {\n return 'set';\n }\n if (type === '[object WeakSet]') {\n return 'weakset';\n }\n if (type === '[object Map]') {\n return 'map';\n }\n if (type === '[object WeakMap]') {\n return 'weakmap';\n }\n if (type === '[object Symbol]') {\n return 'symbol';\n }\n\n if (type === '[object Map Iterator]') {\n return 'mapiterator';\n }\n if (type === '[object Set Iterator]') {\n return 'setiterator';\n }\n if (type === '[object String Iterator]') {\n return 'stringiterator';\n }\n if (type === '[object Array Iterator]') {\n return 'arrayiterator';\n }\n\n // typed arrays\n if (type === '[object Int8Array]') {\n return 'int8array';\n }\n if (type === '[object Uint8Array]') {\n return 'uint8array';\n }\n if (type === '[object Uint8ClampedArray]') {\n return 'uint8clampedarray';\n }\n if (type === '[object Int16Array]') {\n return 'int16array';\n }\n if (type === '[object Uint16Array]') {\n return 'uint16array';\n }\n if (type === '[object Int32Array]') {\n return 'int32array';\n }\n if (type === '[object Uint32Array]') {\n return 'uint32array';\n }\n if (type === '[object Float32Array]') {\n return 'float32array';\n }\n if (type === '[object Float64Array]') {\n return 'float64array';\n }\n\n // must be a plain object\n return 'object';\n};\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n return val.constructor && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\nfunction assign(target /*, objects*/) {\n target = target || {};\n var len = arguments.length,\n i = 0;\n if (len === 1) {\n return target;\n }\n while (++i < len) {\n var val = arguments[i];\n if (isPrimitive(target)) {\n target = val;\n }\n if (isObject$1(val)) {\n extend(target, val);\n }\n }\n return target;\n}\n\n/**\n * Shallow extend\n */\n\nfunction extend(target, obj) {\n assignSymbols(target, obj);\n\n for (var key in obj) {\n if (key !== '__proto__' && hasOwn(obj, key)) {\n var val = obj[key];\n if (isObject$1(val)) {\n if (kindOf(target[key]) === 'undefined' && kindOf(val) === 'function') {\n target[key] = val;\n }\n target[key] = assign(target[key] || {}, val);\n } else {\n target[key] = val;\n }\n }\n }\n return target;\n}\n\n/**\n * Returns true if the object is a plain object or a function.\n */\n\nfunction isObject$1(obj) {\n return kindOf(obj) === 'object' || kindOf(obj) === 'function';\n}\n\n/**\n * Returns true if the given `key` is an own property of `obj`.\n */\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\n/**\n * Expose `assign`\n */\n\nvar assignDeep = assign;\n\nvar inBrowser = typeof window !== 'undefined';\nvar hasIntersectionObserver = checkIntersectionObserver();\n\nfunction checkIntersectionObserver() {\n if (inBrowser && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function get$$1() {\n return this.intersectionRatio > 0;\n }\n });\n }\n return true;\n }\n return false;\n}\n\nvar modeType = {\n event: 'event',\n observer: 'observer'\n\n // CustomEvent polyfill\n};var CustomEvent = function () {\n if (!inBrowser) return;\n if (typeof window.CustomEvent === 'function') return window.CustomEvent;\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n CustomEvent.prototype = window.Event.prototype;\n return CustomEvent;\n}();\n\nfunction remove(arr, item) {\n if (!arr.length) return;\n var index = arr.indexOf(item);\n if (index > -1) return arr.splice(index, 1);\n}\n\nfunction some(arr, fn) {\n var has = false;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n has = true;\n break;\n }\n }\n return has;\n}\n\nfunction getBestSelectionFromSrcset(el, scale) {\n if (el.tagName !== 'IMG' || !el.getAttribute('data-srcset')) return;\n\n var options = el.getAttribute('data-srcset');\n var result = [];\n var container = el.parentNode;\n var containerWidth = container.offsetWidth * scale;\n\n var spaceIndex = void 0;\n var tmpSrc = void 0;\n var tmpWidth = void 0;\n\n options = options.trim().split(',');\n\n options.map(function (item) {\n item = item.trim();\n spaceIndex = item.lastIndexOf(' ');\n if (spaceIndex === -1) {\n tmpSrc = item;\n tmpWidth = 999998;\n } else {\n tmpSrc = item.substr(0, spaceIndex);\n tmpWidth = parseInt(item.substr(spaceIndex + 1, item.length - spaceIndex - 2), 10);\n }\n result.push([tmpWidth, tmpSrc]);\n });\n\n result.sort(function (a, b) {\n if (a[0] < b[0]) {\n return 1;\n }\n if (a[0] > b[0]) {\n return -1;\n }\n if (a[0] === b[0]) {\n if (b[1].indexOf('.webp', b[1].length - 5) !== -1) {\n return 1;\n }\n if (a[1].indexOf('.webp', a[1].length - 5) !== -1) {\n return -1;\n }\n }\n return 0;\n });\n var bestSelectedSrc = '';\n var tmpOption = void 0;\n\n for (var i = 0; i < result.length; i++) {\n tmpOption = result[i];\n bestSelectedSrc = tmpOption[1];\n var next = result[i + 1];\n if (next && next[0] < containerWidth) {\n bestSelectedSrc = tmpOption[1];\n break;\n } else if (!next) {\n bestSelectedSrc = tmpOption[1];\n break;\n }\n }\n\n return bestSelectedSrc;\n}\n\nfunction find(arr, fn) {\n var item = void 0;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n item = arr[i];\n break;\n }\n }\n return item;\n}\n\nvar getDPR = function getDPR() {\n var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return inBrowser ? window.devicePixelRatio || scale : scale;\n};\n\nfunction supportWebp() {\n if (!inBrowser) return false;\n\n var support = true;\n var d = document;\n\n try {\n var el = d.createElement('object');\n el.type = 'image/webp';\n el.style.visibility = 'hidden';\n el.innerHTML = '!';\n d.body.appendChild(el);\n support = !el.offsetWidth;\n d.body.removeChild(el);\n } catch (err) {\n support = false;\n }\n\n return support;\n}\n\nfunction throttle(action, delay) {\n var timeout = null;\n var lastRun = 0;\n return function () {\n if (timeout) {\n return;\n }\n var elapsed = Date.now() - lastRun;\n var context = this;\n var args = arguments;\n var runCallback = function runCallback() {\n lastRun = Date.now();\n timeout = false;\n action.apply(context, args);\n };\n if (elapsed >= delay) {\n runCallback();\n } else {\n timeout = setTimeout(runCallback, delay);\n }\n };\n}\n\nfunction testSupportsPassive() {\n if (!inBrowser) return;\n var support = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get$$1() {\n support = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return support;\n}\n\nvar supportsPassive = testSupportsPassive();\n\nvar _ = {\n on: function on(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (supportsPassive) {\n el.addEventListener(type, func, {\n capture: capture,\n passive: true\n });\n } else {\n el.addEventListener(type, func, capture);\n }\n },\n off: function off(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n el.removeEventListener(type, func, capture);\n }\n};\n\nvar loadImageAsync = function loadImageAsync(item, resolve, reject) {\n var image = new Image();\n if (!item || !item.src) {\n var err = new Error('image src is required');\n return reject(err);\n }\n\n image.src = item.src;\n\n image.onload = function () {\n resolve({\n naturalHeight: image.naturalHeight,\n naturalWidth: image.naturalWidth,\n src: image.src\n });\n };\n\n image.onerror = function (e) {\n reject(e);\n };\n};\n\nvar style = function style(el, prop) {\n return typeof getComputedStyle !== 'undefined' ? getComputedStyle(el, null).getPropertyValue(prop) : el.style[prop];\n};\n\nvar overflow = function overflow(el) {\n return style(el, 'overflow') + style(el, 'overflow-y') + style(el, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(el) {\n if (!inBrowser) return;\n if (!(el instanceof HTMLElement)) {\n return window;\n }\n\n var parent = el;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nfunction isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n}\n\nfunction ObjectKeys(obj) {\n if (!(obj instanceof Object)) return [];\n if (Object.keys) {\n return Object.keys(obj);\n } else {\n var keys = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n return keys;\n }\n}\n\nfunction ArrayFrom(arrLike) {\n var len = arrLike.length;\n var list = [];\n for (var i = 0; i < len; i++) {\n list.push(arrLike[i]);\n }\n return list;\n}\n\nfunction noop() {}\n\nvar ImageCache = function () {\n function ImageCache(_ref) {\n var max = _ref.max;\n classCallCheck(this, ImageCache);\n\n this.options = {\n max: max || 100\n };\n this._caches = [];\n }\n\n createClass(ImageCache, [{\n key: 'has',\n value: function has(key) {\n return this._caches.indexOf(key) > -1;\n }\n }, {\n key: 'add',\n value: function add(key) {\n if (this.has(key)) return;\n this._caches.push(key);\n if (this._caches.length > this.options.max) {\n this.free();\n }\n }\n }, {\n key: 'free',\n value: function free() {\n this._caches.shift();\n }\n }]);\n return ImageCache;\n}();\n\n// el: {\n// state,\n// src,\n// error,\n// loading\n// }\n\nvar ReactiveListener = function () {\n function ReactiveListener(_ref) {\n var el = _ref.el,\n src = _ref.src,\n error = _ref.error,\n loading = _ref.loading,\n bindType = _ref.bindType,\n $parent = _ref.$parent,\n options = _ref.options,\n elRenderer = _ref.elRenderer,\n imageCache = _ref.imageCache;\n classCallCheck(this, ReactiveListener);\n\n this.el = el;\n this.src = src;\n this.error = error;\n this.loading = loading;\n this.bindType = bindType;\n this.attempt = 0;\n\n this.naturalHeight = 0;\n this.naturalWidth = 0;\n\n this.options = options;\n\n this.rect = null;\n\n this.$parent = $parent;\n this.elRenderer = elRenderer;\n this._imageCache = imageCache;\n this.performanceData = {\n init: Date.now(),\n loadStart: 0,\n loadEnd: 0\n };\n\n this.filter();\n this.initState();\n this.render('loading', false);\n }\n\n /*\n * init listener state\n * @return\n */\n\n\n createClass(ReactiveListener, [{\n key: 'initState',\n value: function initState() {\n if ('dataset' in this.el) {\n this.el.dataset.src = this.src;\n } else {\n this.el.setAttribute('data-src', this.src);\n }\n\n this.state = {\n loading: false,\n error: false,\n loaded: false,\n rendered: false\n };\n }\n\n /*\n * record performance\n * @return\n */\n\n }, {\n key: 'record',\n value: function record(event) {\n this.performanceData[event] = Date.now();\n }\n\n /*\n * update image listener data\n * @param {String} image uri\n * @param {String} loading image uri\n * @param {String} error image uri\n * @return\n */\n\n }, {\n key: 'update',\n value: function update(_ref2) {\n var src = _ref2.src,\n loading = _ref2.loading,\n error = _ref2.error;\n\n var oldSrc = this.src;\n this.src = src;\n this.loading = loading;\n this.error = error;\n this.filter();\n if (oldSrc !== this.src) {\n this.attempt = 0;\n this.initState();\n }\n }\n\n /*\n * get el node rect\n * @return\n */\n\n }, {\n key: 'getRect',\n value: function getRect() {\n this.rect = this.el.getBoundingClientRect();\n }\n\n /*\n * check el is in view\n * @return {Boolean} el is in view\n */\n\n }, {\n key: 'checkInView',\n value: function checkInView() {\n this.getRect();\n return this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0;\n }\n\n /*\n * listener filter\n */\n\n }, {\n key: 'filter',\n value: function filter() {\n var _this = this;\n\n ObjectKeys(this.options.filter).map(function (key) {\n _this.options.filter[key](_this, _this.options);\n });\n }\n\n /*\n * render loading first\n * @params cb:Function\n * @return\n */\n\n }, {\n key: 'renderLoading',\n value: function renderLoading(cb) {\n var _this2 = this;\n\n this.state.loading = true;\n loadImageAsync({\n src: this.loading\n }, function (data) {\n _this2.render('loading', false);\n _this2.state.loading = false;\n cb();\n }, function () {\n // handler `loading image` load failed\n cb();\n _this2.state.loading = false;\n if (!_this2.options.silent) console.warn('VueLazyload log: load failed with loading image(' + _this2.loading + ')');\n });\n }\n\n /*\n * try load image and render it\n * @return\n */\n\n }, {\n key: 'load',\n value: function load() {\n var _this3 = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.attempt > this.options.attempt - 1 && this.state.error) {\n if (!this.options.silent) console.log('VueLazyload log: ' + this.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n if (this.state.rendered && this.state.loaded) return;\n if (this._imageCache.has(this.src)) {\n this.state.loaded = true;\n this.render('loaded', true);\n this.state.rendered = true;\n return onFinish();\n }\n\n this.renderLoading(function () {\n _this3.attempt++;\n\n _this3.options.adapter['beforeLoad'] && _this3.options.adapter['beforeLoad'](_this3, _this3.options);\n _this3.record('loadStart');\n\n loadImageAsync({\n src: _this3.src\n }, function (data) {\n _this3.naturalHeight = data.naturalHeight;\n _this3.naturalWidth = data.naturalWidth;\n _this3.state.loaded = true;\n _this3.state.error = false;\n _this3.record('loadEnd');\n _this3.render('loaded', false);\n _this3.state.rendered = true;\n _this3._imageCache.add(_this3.src);\n onFinish();\n }, function (err) {\n !_this3.options.silent && console.error(err);\n _this3.state.error = true;\n _this3.state.loaded = false;\n _this3.render('error', false);\n });\n });\n }\n\n /*\n * render image\n * @param {String} state to render // ['loading', 'src', 'error']\n * @param {String} is form cache\n * @return\n */\n\n }, {\n key: 'render',\n value: function render(state, cache) {\n this.elRenderer(this, state, cache);\n }\n\n /*\n * output performance data\n * @return {Object} performance data\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var state = 'loading';\n var time = 0;\n\n if (this.state.loaded) {\n state = 'loaded';\n time = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1000;\n }\n\n if (this.state.error) state = 'error';\n\n return {\n src: this.src,\n state: state,\n time: time\n };\n }\n\n /*\n * $destroy\n * @return\n */\n\n }, {\n key: '$destroy',\n value: function $destroy() {\n this.el = null;\n this.src = null;\n this.error = null;\n this.loading = null;\n this.bindType = null;\n this.attempt = 0;\n }\n }]);\n return ReactiveListener;\n}();\n\nvar DEFAULT_URL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nvar DEFAULT_EVENTS = ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'];\nvar DEFAULT_OBSERVER_OPTIONS = {\n rootMargin: '0px',\n threshold: 0\n};\n\nvar Lazy = function (Vue) {\n return function () {\n function Lazy(_ref) {\n var preLoad = _ref.preLoad,\n error = _ref.error,\n throttleWait = _ref.throttleWait,\n preLoadTop = _ref.preLoadTop,\n dispatchEvent = _ref.dispatchEvent,\n loading = _ref.loading,\n attempt = _ref.attempt,\n _ref$silent = _ref.silent,\n silent = _ref$silent === undefined ? true : _ref$silent,\n scale = _ref.scale,\n listenEvents = _ref.listenEvents,\n hasbind = _ref.hasbind,\n filter = _ref.filter,\n adapter = _ref.adapter,\n observer = _ref.observer,\n observerOptions = _ref.observerOptions;\n classCallCheck(this, Lazy);\n\n this.version = '1.3.3';\n this.mode = modeType.event;\n this.ListenerQueue = [];\n this.TargetIndex = 0;\n this.TargetQueue = [];\n this.options = {\n silent: silent,\n dispatchEvent: !!dispatchEvent,\n throttleWait: throttleWait || 200,\n preLoad: preLoad || 1.3,\n preLoadTop: preLoadTop || 0,\n error: error || DEFAULT_URL,\n loading: loading || DEFAULT_URL,\n attempt: attempt || 3,\n scale: scale || getDPR(scale),\n ListenEvents: listenEvents || DEFAULT_EVENTS,\n hasbind: false,\n supportWebp: supportWebp(),\n filter: filter || {},\n adapter: adapter || {},\n observer: !!observer,\n observerOptions: observerOptions || DEFAULT_OBSERVER_OPTIONS\n };\n this._initEvent();\n this._imageCache = new ImageCache({ max: 200 });\n this.lazyLoadHandler = throttle(this._lazyLoadHandler.bind(this), this.options.throttleWait);\n\n this.setMode(this.options.observer ? modeType.observer : modeType.event);\n }\n\n /**\n * update config\n * @param {Object} config params\n * @return\n */\n\n\n createClass(Lazy, [{\n key: 'config',\n value: function config() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n assignDeep(this.options, options);\n }\n\n /**\n * output listener's load performance\n * @return {Array}\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var list = [];\n\n this.ListenerQueue.map(function (item) {\n list.push(item.performance());\n });\n\n return list;\n }\n\n /*\n * add lazy component to queue\n * @param {Vue} vm lazy component instance\n * @return\n */\n\n }, {\n key: 'addLazyBox',\n value: function addLazyBox(vm) {\n this.ListenerQueue.push(vm);\n if (inBrowser) {\n this._addListenerTarget(window);\n this._observer && this._observer.observe(vm.el);\n if (vm.$el && vm.$el.parentNode) {\n this._addListenerTarget(vm.$el.parentNode);\n }\n }\n }\n\n /*\n * add image listener to queue\n * @param {DOM} el\n * @param {object} binding vue directive binding\n * @param {vnode} vnode vue directive vnode\n * @return\n */\n\n }, {\n key: 'add',\n value: function add(el, binding, vnode) {\n var _this = this;\n\n if (some(this.ListenerQueue, function (item) {\n return item.el === el;\n })) {\n this.update(el, binding);\n return Vue.nextTick(this.lazyLoadHandler);\n }\n\n var _valueFormatter2 = this._valueFormatter(binding.value),\n src = _valueFormatter2.src,\n loading = _valueFormatter2.loading,\n error = _valueFormatter2.error;\n\n Vue.nextTick(function () {\n src = getBestSelectionFromSrcset(el, _this.options.scale) || src;\n _this._observer && _this._observer.observe(el);\n\n var container = Object.keys(binding.modifiers)[0];\n var $parent = void 0;\n\n if (container) {\n $parent = vnode.context.$refs[container];\n // if there is container passed in, try ref first, then fallback to getElementById to support the original usage\n $parent = $parent ? $parent.$el || $parent : document.getElementById(container);\n }\n\n if (!$parent) {\n $parent = scrollParent(el);\n }\n\n var newListener = new ReactiveListener({\n bindType: binding.arg,\n $parent: $parent,\n el: el,\n loading: loading,\n error: error,\n src: src,\n elRenderer: _this._elRenderer.bind(_this),\n options: _this.options,\n imageCache: _this._imageCache\n });\n\n _this.ListenerQueue.push(newListener);\n\n if (inBrowser) {\n _this._addListenerTarget(window);\n _this._addListenerTarget($parent);\n }\n\n _this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this.lazyLoadHandler();\n });\n });\n }\n\n /**\n * update image src\n * @param {DOM} el\n * @param {object} vue directive binding\n * @return\n */\n\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var _this2 = this;\n\n var _valueFormatter3 = this._valueFormatter(binding.value),\n src = _valueFormatter3.src,\n loading = _valueFormatter3.loading,\n error = _valueFormatter3.error;\n\n src = getBestSelectionFromSrcset(el, this.options.scale) || src;\n\n var exist = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (!exist) {\n this.add(el, binding, vnode);\n } else {\n exist.update({\n src: src,\n loading: loading,\n error: error\n });\n }\n if (this._observer) {\n this._observer.unobserve(el);\n this._observer.observe(el);\n }\n this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this2.lazyLoadHandler();\n });\n }\n\n /**\n * remove listener form list\n * @param {DOM} el\n * @return\n */\n\n }, {\n key: 'remove',\n value: function remove$$1(el) {\n if (!el) return;\n this._observer && this._observer.unobserve(el);\n var existItem = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (existItem) {\n this._removeListenerTarget(existItem.$parent);\n this._removeListenerTarget(window);\n remove(this.ListenerQueue, existItem);\n existItem.$destroy();\n }\n }\n\n /*\n * remove lazy components form list\n * @param {Vue} vm Vue instance\n * @return\n */\n\n }, {\n key: 'removeComponent',\n value: function removeComponent(vm) {\n if (!vm) return;\n remove(this.ListenerQueue, vm);\n this._observer && this._observer.unobserve(vm.el);\n if (vm.$parent && vm.$el.parentNode) {\n this._removeListenerTarget(vm.$el.parentNode);\n }\n this._removeListenerTarget(window);\n }\n }, {\n key: 'setMode',\n value: function setMode(mode) {\n var _this3 = this;\n\n if (!hasIntersectionObserver && mode === modeType.observer) {\n mode = modeType.event;\n }\n\n this.mode = mode; // event or observer\n\n if (mode === modeType.event) {\n if (this._observer) {\n this.ListenerQueue.forEach(function (listener) {\n _this3._observer.unobserve(listener.el);\n });\n this._observer = null;\n }\n\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, true);\n });\n } else {\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, false);\n });\n this._initIntersectionObserver();\n }\n }\n\n /*\n *** Private functions ***\n */\n\n /*\n * add listener target\n * @param {DOM} el listener target\n * @return\n */\n\n }, {\n key: '_addListenerTarget',\n value: function _addListenerTarget(el) {\n if (!el) return;\n var target = find(this.TargetQueue, function (target) {\n return target.el === el;\n });\n if (!target) {\n target = {\n el: el,\n id: ++this.TargetIndex,\n childrenCount: 1,\n listened: true\n };\n this.mode === modeType.event && this._initListen(target.el, true);\n this.TargetQueue.push(target);\n } else {\n target.childrenCount++;\n }\n return this.TargetIndex;\n }\n\n /*\n * remove listener target or reduce target childrenCount\n * @param {DOM} el or window\n * @return\n */\n\n }, {\n key: '_removeListenerTarget',\n value: function _removeListenerTarget(el) {\n var _this4 = this;\n\n this.TargetQueue.forEach(function (target, index) {\n if (target.el === el) {\n target.childrenCount--;\n if (!target.childrenCount) {\n _this4._initListen(target.el, false);\n _this4.TargetQueue.splice(index, 1);\n target = null;\n }\n }\n });\n }\n\n /*\n * add or remove eventlistener\n * @param {DOM} el DOM or Window\n * @param {boolean} start flag\n * @return\n */\n\n }, {\n key: '_initListen',\n value: function _initListen(el, start) {\n var _this5 = this;\n\n this.options.ListenEvents.forEach(function (evt) {\n return _[start ? 'on' : 'off'](el, evt, _this5.lazyLoadHandler);\n });\n }\n }, {\n key: '_initEvent',\n value: function _initEvent() {\n var _this6 = this;\n\n this.Event = {\n listeners: {\n loading: [],\n loaded: [],\n error: []\n }\n };\n\n this.$on = function (event, func) {\n if (!_this6.Event.listeners[event]) _this6.Event.listeners[event] = [];\n _this6.Event.listeners[event].push(func);\n };\n\n this.$once = function (event, func) {\n var vm = _this6;\n function on() {\n vm.$off(event, on);\n func.apply(vm, arguments);\n }\n _this6.$on(event, on);\n };\n\n this.$off = function (event, func) {\n if (!func) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].length = 0;\n return;\n }\n remove(_this6.Event.listeners[event], func);\n };\n\n this.$emit = function (event, context, inCache) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].forEach(function (func) {\n return func(context, inCache);\n });\n };\n }\n\n /**\n * find nodes which in viewport and trigger load\n * @return\n */\n\n }, {\n key: '_lazyLoadHandler',\n value: function _lazyLoadHandler() {\n var _this7 = this;\n\n var freeList = [];\n this.ListenerQueue.forEach(function (listener, index) {\n if (!listener.el || !listener.el.parentNode) {\n freeList.push(listener);\n }\n var catIn = listener.checkInView();\n if (!catIn) return;\n listener.load();\n });\n freeList.forEach(function (item) {\n remove(_this7.ListenerQueue, item);\n item.$destroy();\n });\n }\n /**\n * init IntersectionObserver\n * set mode to observer\n * @return\n */\n\n }, {\n key: '_initIntersectionObserver',\n value: function _initIntersectionObserver() {\n var _this8 = this;\n\n if (!hasIntersectionObserver) return;\n this._observer = new IntersectionObserver(this._observerHandler.bind(this), this.options.observerOptions);\n if (this.ListenerQueue.length) {\n this.ListenerQueue.forEach(function (listener) {\n _this8._observer.observe(listener.el);\n });\n }\n }\n\n /**\n * init IntersectionObserver\n * @return\n */\n\n }, {\n key: '_observerHandler',\n value: function _observerHandler(entries, observer) {\n var _this9 = this;\n\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n _this9.ListenerQueue.forEach(function (listener) {\n if (listener.el === entry.target) {\n if (listener.state.loaded) return _this9._observer.unobserve(listener.el);\n listener.load();\n }\n });\n }\n });\n }\n\n /**\n * set element attribute with image'url and state\n * @param {object} lazyload listener object\n * @param {string} state will be rendered\n * @param {bool} inCache is rendered from cache\n * @return\n */\n\n }, {\n key: '_elRenderer',\n value: function _elRenderer(listener, state, cache) {\n if (!listener.el) return;\n var el = listener.el,\n bindType = listener.bindType;\n\n\n var src = void 0;\n switch (state) {\n case 'loading':\n src = listener.loading;\n break;\n case 'error':\n src = listener.error;\n break;\n default:\n src = listener.src;\n break;\n }\n\n if (bindType) {\n el.style[bindType] = 'url(\"' + src + '\")';\n } else if (el.getAttribute('src') !== src) {\n el.setAttribute('src', src);\n }\n\n el.setAttribute('lazy', state);\n\n this.$emit(state, listener, cache);\n this.options.adapter[state] && this.options.adapter[state](listener, this.options);\n\n if (this.options.dispatchEvent) {\n var event = new CustomEvent(state, {\n detail: listener\n });\n el.dispatchEvent(event);\n }\n }\n\n /**\n * generate loading loaded error image url\n * @param {string} image's src\n * @return {object} image's loading, loaded, error url\n */\n\n }, {\n key: '_valueFormatter',\n value: function _valueFormatter(value) {\n var src = value;\n var loading = this.options.loading;\n var error = this.options.error;\n\n // value is object\n if (isObject(value)) {\n if (!value.src && !this.options.silent) console.error('Vue Lazyload warning: miss src with ' + value);\n src = value.src;\n loading = value.loading || this.options.loading;\n error = value.error || this.options.error;\n }\n return {\n src: src,\n loading: loading,\n error: error\n };\n }\n }]);\n return Lazy;\n }();\n};\n\nvar LazyComponent = (function (lazy) {\n return {\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render(h) {\n if (this.show === false) {\n return h(this.tag);\n }\n return h(this.tag, null, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n state: {\n loaded: false\n },\n rect: {},\n show: false\n };\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazy.addLazyBox(this);\n lazy.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazy.removeComponent(this);\n },\n\n methods: {\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazy.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazy.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n this.show = true;\n this.state.loaded = true;\n this.$emit('show', this);\n },\n destroy: function destroy() {\n return this.$destroy;\n }\n }\n };\n});\n\nvar LazyContainerMananger = function () {\n function LazyContainerMananger(_ref) {\n var lazy = _ref.lazy;\n classCallCheck(this, LazyContainerMananger);\n\n this.lazy = lazy;\n lazy.lazyContainerMananger = this;\n this._queue = [];\n }\n\n createClass(LazyContainerMananger, [{\n key: 'bind',\n value: function bind(el, binding, vnode) {\n var container = new LazyContainer$1({ el: el, binding: binding, vnode: vnode, lazy: this.lazy });\n this._queue.push(container);\n }\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.update({ el: el, binding: binding, vnode: vnode });\n }\n }, {\n key: 'unbind',\n value: function unbind(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.clear();\n remove(this._queue, container);\n }\n }]);\n return LazyContainerMananger;\n}();\n\nvar defaultOptions = {\n selector: 'img'\n};\n\nvar LazyContainer$1 = function () {\n function LazyContainer(_ref2) {\n var el = _ref2.el,\n binding = _ref2.binding,\n vnode = _ref2.vnode,\n lazy = _ref2.lazy;\n classCallCheck(this, LazyContainer);\n\n this.el = null;\n this.vnode = vnode;\n this.binding = binding;\n this.options = {};\n this.lazy = lazy;\n\n this._queue = [];\n this.update({ el: el, binding: binding });\n }\n\n createClass(LazyContainer, [{\n key: 'update',\n value: function update(_ref3) {\n var _this = this;\n\n var el = _ref3.el,\n binding = _ref3.binding;\n\n this.el = el;\n this.options = assignDeep({}, defaultOptions, binding.value);\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n _this.lazy.add(el, assignDeep({}, _this.binding, {\n value: {\n src: 'dataset' in el ? el.dataset.src : el.getAttribute('data-src'),\n error: ('dataset' in el ? el.dataset.error : el.getAttribute('data-error')) || _this.options.error,\n loading: ('dataset' in el ? el.dataset.loading : el.getAttribute('data-loading')) || _this.options.loading\n }\n }), _this.vnode);\n });\n }\n }, {\n key: 'getImgs',\n value: function getImgs() {\n return ArrayFrom(this.el.querySelectorAll(this.options.selector));\n }\n }, {\n key: 'clear',\n value: function clear() {\n var _this2 = this;\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n return _this2.lazy.remove(el);\n });\n\n this.vnode = null;\n this.binding = null;\n this.lazy = null;\n }\n }]);\n return LazyContainer;\n}();\n\nvar LazyImage = (function (lazyManager) {\n return {\n props: {\n src: [String, Object],\n tag: {\n type: String,\n default: 'img'\n }\n },\n render: function render(h) {\n return h(this.tag, {\n attrs: {\n src: this.renderSrc\n }\n }, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n options: {\n src: '',\n error: '',\n loading: '',\n attempt: lazyManager.options.attempt\n },\n state: {\n loaded: false,\n error: false,\n attempt: 0\n },\n rect: {},\n renderSrc: ''\n };\n },\n\n watch: {\n src: function src() {\n this.init();\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n }\n },\n created: function created() {\n this.init();\n this.renderSrc = this.options.loading;\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazyManager.removeComponent(this);\n },\n\n methods: {\n init: function init() {\n var _lazyManager$_valueFo = lazyManager._valueFormatter(this.src),\n src = _lazyManager$_valueFo.src,\n loading = _lazyManager$_valueFo.loading,\n error = _lazyManager$_valueFo.error;\n\n this.state.loaded = false;\n this.options.src = src;\n this.options.error = error;\n this.options.loading = loading;\n this.renderSrc = this.options.loading;\n },\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazyManager.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazyManager.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n var _this = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.state.attempt > this.options.attempt - 1 && this.state.error) {\n if (!lazyManager.options.silent) console.log('VueLazyload log: ' + this.options.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n var src = this.options.src;\n loadImageAsync({ src: src }, function (_ref) {\n var src = _ref.src;\n\n _this.renderSrc = src;\n _this.state.loaded = true;\n }, function (e) {\n _this.state.attempt++;\n _this.renderSrc = _this.options.error;\n _this.state.error = true;\n });\n }\n }\n };\n});\n\nvar index = {\n /*\n * install function\n * @param {Vue} Vue\n * @param {object} options lazyload options\n */\n install: function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n var lazyContainer = new LazyContainerMananger({ lazy: lazy });\n\n var isVue2 = Vue.version.split('.')[0] === '2';\n\n Vue.prototype.$Lazyload = lazy;\n\n if (options.lazyComponent) {\n Vue.component('lazy-component', LazyComponent(lazy));\n }\n\n if (options.lazyImage) {\n Vue.component('lazy-image', LazyImage(lazy));\n }\n\n if (isVue2) {\n Vue.directive('lazy', {\n bind: lazy.add.bind(lazy),\n update: lazy.update.bind(lazy),\n componentUpdated: lazy.lazyLoadHandler.bind(lazy),\n unbind: lazy.remove.bind(lazy)\n });\n Vue.directive('lazy-container', {\n bind: lazyContainer.bind.bind(lazyContainer),\n componentUpdated: lazyContainer.update.bind(lazyContainer),\n unbind: lazyContainer.unbind.bind(lazyContainer)\n });\n } else {\n Vue.directive('lazy', {\n bind: lazy.lazyLoadHandler.bind(lazy),\n update: function update(newValue, oldValue) {\n assignDeep(this.vm.$refs, this.vm.$els);\n lazy.add(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazy.remove(this.el);\n }\n });\n\n Vue.directive('lazy-container', {\n update: function update(newValue, oldValue) {\n lazyContainer.update(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazyContainer.unbind(this.el);\n }\n });\n }\n }\n};\n\nexport default index;\n","import Lazyload from 'vue-lazyload';\nLazyload.name = 'vue-lazyload';\nimport './lazyload.scss';\nexport default Lazyload;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-lazyload/vue-lazyload.esm.js","webpack://[name]/./src/packages/lazyload/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","length","descriptor","configurable","writable","protoProps","staticProps","isPrimitive","toString","kindOf","val","type","Boolean","String","Number","Function","slice","Array","isArray","RegExp","Date","isBuffer","len","arguments","isObject$1","extend","receiver","objects","getOwnPropertySymbols","isEnumerable","propertyIsEnumerable","provider","names","j","assignSymbols","hasOwn","assignDeep","inBrowser","window","hasIntersectionObserver","IntersectionObserverEntry","intersectionRatio","checkIntersectionObserver","modeType","CustomEvent","Event","event","params","bubbles","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","remove","arr","item","index","indexOf","splice","getBestSelectionFromSrcset","el","scale","tagName","getAttribute","options","result","containerWidth","parentNode","offsetWidth","spaceIndex","tmpSrc","tmpWidth","trim","split","map","lastIndexOf","substr","parseInt","push","sort","a","b","bestSelectedSrc","tmpOption","next","find","fn","getDPR","devicePixelRatio","supportWebp","support","createElement","style","visibility","innerHTML","body","appendChild","removeChild","err","supportsPassive","opts","addEventListener","e","testSupportsPassive","_","on","func","capture","passive","off","removeEventListener","loadImageAsync","resolve","reject","image","Image","src","Error","onload","naturalHeight","naturalWidth","onerror","prop","getComputedStyle","getPropertyValue","overflow","noop","ImageCache","_ref","max","_caches","has","free","shift","ReactiveListener","error","loading","bindType","$parent","elRenderer","imageCache","attempt","rect","_imageCache","performanceData","init","now","loadStart","loadEnd","filter","initState","render","dataset","setAttribute","state","loaded","rendered","_ref2","oldSrc","getBoundingClientRect","getRect","top","innerHeight","preLoad","bottom","preLoadTop","left","innerWidth","right","_this","keys","ObjectKeys","cb","_this2","data","silent","console","warn","_this3","onFinish","log","renderLoading","adapter","record","add","cache","time","DEFAULT_URL","DEFAULT_EVENTS","DEFAULT_OBSERVER_OPTIONS","rootMargin","threshold","Lazy","Vue","action","delay","timeout","lastRun","throttleWait","dispatchEvent","_ref$silent","listenEvents","hasbind","observer","observerOptions","version","ListenerQueue","TargetIndex","TargetQueue","ListenEvents","_initEvent","lazyLoadHandler","_lazyLoadHandler","elapsed","context","args","runCallback","apply","setTimeout","setMode","list","performance","vm","_addListenerTarget","_observer","observe","$el","binding","vnode","some","update","nextTick","_valueFormatter2","_valueFormatter","container","modifiers","$refs","getElementById","HTMLElement","parent","documentElement","test","scrollParent","newListener","arg","_elRenderer","_valueFormatter3","exist","unobserve","existItem","_removeListenerTarget","$destroy","forEach","listener","_initListen","_initIntersectionObserver","childrenCount","id","listened","_this4","start","_this5","_this6","listeners","$on","$once","$off","$emit","inCache","_this7","freeList","checkInView","load","_this8","IntersectionObserver","_observerHandler","entries","_this9","entry","isIntersecting","LazyComponent","lazy","tag","default","h","show","$slots","mounted","addLazyBox","beforeDestroy","removeComponent","methods","destroy","LazyContainerMananger","lazyContainerMananger","_queue","LazyContainer$1","clear","defaultOptions","selector","LazyContainer","_ref3","getImgs","arrLike","ArrayFrom","querySelectorAll","LazyImage","lazyManager","attrs","renderSrc","watch","created","_lazyManager$_valueFo","install","LazyClass","lazyContainer","isVue2","$Lazyload","lazyComponent","component","lazyImage","directive","componentUpdated","unbind","newValue","oldValue","$els","Lazyload"],"mappings":";;;;;CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,WAAY,GAAIH,GACG,iBAAZC,QACdA,QAAkB,SAAID,IAEtBD,EAAe,SAAIC,IARrB,CASoB,oBAATK,KAAuBA,KAAOC,MAAO,WAChD,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUR,QAGnC,IAAIC,EAASK,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,GAAG,EACHV,QAAS,IAUV,OANAW,EAAQH,GAAUI,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASO,GAG/DN,EAAOS,GAAI,EAGJT,EAAOD,QA0Df,OArDAO,EAAoBM,EAAIF,EAGxBJ,EAAoBO,EAAIR,EAGxBC,EAAoBQ,EAAI,SAASf,EAASgB,EAAMC,GAC3CV,EAAoBW,EAAElB,EAASgB,IAClCG,OAAOC,eAAepB,EAASgB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEV,EAAoBgB,EAAI,SAASvB,GACX,oBAAXwB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAepB,EAASwB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAepB,EAAS,aAAc,CAAE0B,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBQ,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAASjC,GAChC,IAAIgB,EAAShB,GAAUA,EAAO4B,WAC7B,WAAwB,OAAO5B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAM,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG7B,EAAoBgC,EAAI,KAIjBhC,EAAoBA,EAAoBiC,EAAI,K;;;;;;AC7ErD,IAAIC,EAA4B,mBAAXjB,QAAoD,iBAApBA,OAAOkB,SAAwB,SAAUC,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,mBAAXnB,QAAyBmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,GAavHE,EAAiB,SAAUC,EAAUC,GACvC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,sCAIpBC,EAAc,WAChB,SAASC,EAAiBC,EAAQC,GAChC,IAAK,IAAI3C,EAAI,EAAGA,EAAI2C,EAAMC,OAAQ5C,IAAK,CACrC,IAAI6C,EAAaF,EAAM3C,GACvB6C,EAAWjC,WAAaiC,EAAWjC,aAAc,EACjDiC,EAAWC,cAAe,EACtB,UAAWD,IAAYA,EAAWE,UAAW,GACjDrC,OAAOC,eAAe+B,EAAQG,EAAWtB,IAAKsB,IAIlD,OAAO,SAAUP,EAAaU,EAAYC,GAGxC,OAFID,GAAYP,EAAiBH,EAAYV,UAAWoB,GACpDC,GAAaR,EAAiBH,EAAaW,GACxCX,GAdO,GA2BdY,EAAc,SAAqBjC,GACrC,OAAgB,MAATA,GAAkC,mBAAVA,GAA0F,iBAAhD,IAAVA,EAAwB,YAAce,EAAQf,KA2C3G,EAAWP,OAAOkB,UAAUuB,SAS5BC,EAAS,SAAgBC,GAC3B,IAAIC,OAAsB,IAARD,EAAsB,YAAcrB,EAAQqB,GAG9D,MAAa,cAATC,EACK,YAEG,OAARD,EACK,QAEG,IAARA,IAAwB,IAARA,GAAiBA,aAAeE,QAC3C,UAEI,WAATD,GAAqBD,aAAeG,OAC/B,SAEI,WAATF,GAAqBD,aAAeI,OAC/B,SAII,aAATH,GAAuBD,aAAeK,cACJ,IAAzBL,EAAIlB,YAAY5B,MAA6D,cAArC8C,EAAIlB,YAAY5B,KAAKoD,MAAM,EAAG,GACxE,oBAEF,gBAIoB,IAAlBC,MAAMC,SAA2BD,MAAMC,QAAQR,GACjD,QAILA,aAAeS,OACV,SAELT,aAAeU,KACV,OAMI,qBAFbT,EAAO,EAASnD,KAAKkD,IAGZ,SAEI,kBAATC,EACK,OAEI,uBAATA,EACK,YAEI,mBAATA,EACK,QAEI,qBAATA,EACK,UA4EX,SAAkBD,GAChB,OAAOA,EAAIlB,aAAmD,mBAA7BkB,EAAIlB,YAAY6B,UAA2BX,EAAIlB,YAAY6B,SAASX,GAzEjGW,CAASX,GACJ,SAII,iBAATC,EACK,MAEI,qBAATA,EACK,UAEI,iBAATA,EACK,MAEI,qBAATA,EACK,UAEI,oBAATA,EACK,SAGI,0BAATA,EACK,cAEI,0BAATA,EACK,cAEI,6BAATA,EACK,iBAEI,4BAATA,EACK,gBAII,uBAATA,EACK,YAEI,wBAATA,EACK,aAEI,+BAATA,EACK,oBAEI,wBAATA,EACK,aAEI,yBAATA,EACK,cAEI,wBAATA,EACK,aAEI,yBAATA,EACK,cAEI,0BAATA,EACK,eAEI,0BAATA,EACK,eAIF,UAYT,SAAS,EAAOZ,GACdA,EAASA,GAAU,GACnB,IAAIuB,EAAMC,UAAUtB,OAChB5C,EAAI,EACR,GAAY,IAARiE,EACF,OAAOvB,EAET,OAAS1C,EAAIiE,GAAK,CAChB,IAAIZ,EAAMa,UAAUlE,GAChBkD,EAAYR,KACdA,EAASW,GAEPc,EAAWd,IACbe,EAAO1B,EAAQW,GAGnB,OAAOX,EAOT,SAAS0B,EAAO1B,EAAQR,GAGtB,IAAK,IAAIX,KA7MS,SAAuB8C,EAAUC,GACnD,GAAID,QACF,MAAM,IAAI9B,UAAU,4CAGtB,QAAuB,IAAZ+B,GAA6C,oBAAXvD,OAC3C,OAAOsD,EAGT,GAA4C,mBAAjC3D,OAAO6D,sBAChB,OAAOF,EAQT,IALA,IAAIG,EAAe9D,OAAOkB,UAAU6C,qBAChC/B,EAAShC,OAAO2D,GAChBJ,EAAMC,UAAUtB,OAChB5C,EAAI,IAECA,EAAIiE,GAIX,IAHA,IAAIS,EAAWhE,OAAOwD,UAAUlE,IAC5B2E,EAAQjE,OAAO6D,sBAAsBG,GAEhCE,EAAI,EAAGA,EAAID,EAAM/B,OAAQgC,IAAK,CACrC,IAAIrD,EAAMoD,EAAMC,GAEZJ,EAAarE,KAAKuE,EAAUnD,KAC9BmB,EAAOnB,GAAOmD,EAASnD,KAiL7BsD,CAAcnC,EAAQR,GAENA,EACd,GAAY,cAARX,GAAuBuD,EAAO5C,EAAKX,GAAM,CAC3C,IAAI8B,EAAMnB,EAAIX,GACV4C,EAAWd,IACe,cAAxBD,EAAOV,EAAOnB,KAAyC,aAAhB6B,EAAOC,KAChDX,EAAOnB,GAAO8B,GAEhBX,EAAOnB,GAAO,EAAOmB,EAAOnB,IAAQ,GAAI8B,IAExCX,EAAOnB,GAAO8B,EAIpB,OAAOX,EAOT,SAASyB,EAAWjC,GAClB,MAAuB,WAAhBkB,EAAOlB,IAAqC,aAAhBkB,EAAOlB,GAO5C,SAAS4C,EAAO5C,EAAKX,GACnB,OAAOb,OAAOkB,UAAUC,eAAe1B,KAAK+B,EAAKX,GAOnD,IAAIwD,EAAa,EAEbC,EAA8B,oBAAXC,OACnBC,EAEJ,WACE,GAAIF,GAAa,yBAA0BC,QAAU,8BAA+BA,QAAU,sBAAuBA,OAAOE,0BAA0BvD,UAUpJ,MAPM,mBAAoBqD,OAAOE,0BAA0BvD,WACzDlB,OAAOC,eAAesE,OAAOE,0BAA0BvD,UAAW,iBAAkB,CAClFf,IAAK,WACH,OAAOjB,KAAKwF,kBAAoB,MAI/B,EAET,OAAO,EAfqBC,GAkB9B,IAAIC,EACK,QADLA,EAEQ,WAGNC,EAAc,WAClB,GAAKP,EACL,MAAkC,mBAAvBC,OAAOM,YAAmCN,OAAOM,aAO5DA,EAAY3D,UAAYqD,OAAOO,MAAM5D,UAC9B2D,GAPP,SAASA,EAAYE,EAAOC,GAC1BA,EAASA,GAAU,CAAEC,SAAS,EAAOC,YAAY,EAAOC,YAAQC,GAChE,IAAIC,EAAMC,SAASC,YAAY,eAE/B,OADAF,EAAIG,gBAAgBT,EAAOC,EAAOC,QAASD,EAAOE,WAAYF,EAAOG,QAC9DE,GAPS,GAapB,SAASI,EAAOC,EAAKC,GACnB,GAAKD,EAAIxD,OAAT,CACA,IAAI0D,EAAQF,EAAIG,QAAQF,GACxB,OAAIC,GAAS,EAAUF,EAAII,OAAOF,EAAO,QAAzC,GAcF,SAASG,EAA2BC,EAAIC,GACtC,GAAmB,QAAfD,EAAGE,SAAsBF,EAAGG,aAAa,eAA7C,CAEA,IAAIC,EAAUJ,EAAGG,aAAa,eAC1BE,EAAS,GAETC,EADYN,EAAGO,WACYC,YAAcP,EAEzCQ,OAAa,EACbC,OAAS,EACTC,OAAW,GAEfP,EAAUA,EAAQQ,OAAOC,MAAM,MAEvBC,KAAI,SAAUnB,GACpBA,EAAOA,EAAKiB,QAEQ,KADpBH,EAAad,EAAKoB,YAAY,OAE5BL,EAASf,EACTgB,EAAW,SAEXD,EAASf,EAAKqB,OAAO,EAAGP,GACxBE,EAAWM,SAAStB,EAAKqB,OAAOP,EAAa,EAAGd,EAAKzD,OAASuE,EAAa,GAAI,KAEjFJ,EAAOa,KAAK,CAACP,EAAUD,OAGzBL,EAAOc,MAAK,SAAUC,EAAGC,GACvB,GAAID,EAAE,GAAKC,EAAE,GACX,OAAO,EAET,GAAID,EAAE,GAAKC,EAAE,GACX,OAAQ,EAEV,GAAID,EAAE,KAAOC,EAAE,GAAI,CACjB,IAAgD,IAA5CA,EAAE,GAAGxB,QAAQ,QAASwB,EAAE,GAAGnF,OAAS,GACtC,OAAO,EAET,IAAgD,IAA5CkF,EAAE,GAAGvB,QAAQ,QAASuB,EAAE,GAAGlF,OAAS,GACtC,OAAQ,EAGZ,OAAO,KAKT,IAHA,IAAIoF,EAAkB,GAClBC,OAAY,EAEPjI,EAAI,EAAGA,EAAI+G,EAAOnE,OAAQ5C,IAAK,CAEtCgI,GADAC,EAAYlB,EAAO/G,IACS,GAC5B,IAAIkI,EAAOnB,EAAO/G,EAAI,GACtB,GAAIkI,GAAQA,EAAK,GAAKlB,EAAgB,CACpCgB,EAAkBC,EAAU,GAC5B,MACK,IAAKC,EAAM,CAChBF,EAAkBC,EAAU,GAC5B,OAIJ,OAAOD,GAGT,SAASG,EAAK/B,EAAKgC,GAEjB,IADA,IAAI/B,OAAO,EACFrG,EAAI,EAAGiE,EAAMmC,EAAIxD,OAAQ5C,EAAIiE,EAAKjE,IACzC,GAAIoI,EAAGhC,EAAIpG,IAAK,CACdqG,EAAOD,EAAIpG,GACX,MAGJ,OAAOqG,EAGT,IAAIgC,EAAS,WACX,IAAI1B,EAAQzC,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,GAAmBA,UAAU,GAAK,EAChF,OAAOc,GAAYC,OAAOqD,kBAA4B3B,GAGxD,SAAS4B,IACP,IAAKvD,EAAW,OAAO,EAEvB,IAAIwD,GAAU,EACVlI,EAAI0F,SAER,IACE,IAAIU,EAAKpG,EAAEmI,cAAc,UACzB/B,EAAGpD,KAAO,aACVoD,EAAGgC,MAAMC,WAAa,SACtBjC,EAAGkC,UAAY,IACftI,EAAEuI,KAAKC,YAAYpC,GACnB8B,GAAW9B,EAAGQ,YACd5G,EAAEuI,KAAKE,YAAYrC,GACnB,MAAOsC,GACPR,GAAU,EAGZ,OAAOA,EAwCT,IAAIS,EAdJ,WACE,GAAKjE,EAAL,CACA,IAAIwD,GAAU,EACd,IACE,IAAIU,EAAOxI,OAAOC,eAAe,GAAI,UAAW,CAC9CE,IAAK,WACH2H,GAAU,KAGdvD,OAAOkE,iBAAiB,OAAQ,KAAMD,GACtC,MAAOE,IACT,OAAOZ,GAGaa,GAElBC,EAAI,CACNC,GAAI,SAAY7C,EAAIpD,EAAMkG,GACxB,IAAIC,EAAUvF,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,IAAmBA,UAAU,GAEzE+E,EACFvC,EAAGyC,iBAAiB7F,EAAMkG,EAAM,CAC9BC,QAASA,EACTC,SAAS,IAGXhD,EAAGyC,iBAAiB7F,EAAMkG,EAAMC,IAGpCE,IAAK,SAAajD,EAAIpD,EAAMkG,GAC1B,IAAIC,EAAUvF,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,IAAmBA,UAAU,GAE7EwC,EAAGkD,oBAAoBtG,EAAMkG,EAAMC,KAInCI,EAAiB,SAAwBxD,EAAMyD,EAASC,GAC1D,IAAIC,EAAQ,IAAIC,MAChB,IAAK5D,IAASA,EAAK6D,IAAK,CACtB,IAAIlB,EAAM,IAAImB,MAAM,yBACpB,OAAOJ,EAAOf,GAGhBgB,EAAME,IAAM7D,EAAK6D,IAEjBF,EAAMI,OAAS,WACbN,EAAQ,CACNO,cAAeL,EAAMK,cACrBC,aAAcN,EAAMM,aACpBJ,IAAKF,EAAME,OAIfF,EAAMO,QAAU,SAAUnB,GACxBW,EAAOX,KAIPV,EAAQ,SAAehC,EAAI8D,GAC7B,MAAmC,oBAArBC,iBAAmCA,iBAAiB/D,EAAI,MAAMgE,iBAAiBF,GAAQ9D,EAAGgC,MAAM8B,IAG5GG,EAAW,SAAkBjE,GAC/B,OAAOgC,EAAMhC,EAAI,YAAcgC,EAAMhC,EAAI,cAAgBgC,EAAMhC,EAAI,eA0DrE,SAASkE,KAET,IAAIC,EAAa,WACf,SAASA,EAAWC,GAClB,IAAIC,EAAMD,EAAKC,IACf3I,EAAexC,KAAMiL,GAErBjL,KAAKkH,QAAU,CACbiE,IAAKA,GAAO,KAEdnL,KAAKoL,QAAU,GAuBjB,OApBAxI,EAAYqI,EAAY,CAAC,CACvBtJ,IAAK,MACLN,MAAO,SAAaM,GAClB,OAAO3B,KAAKoL,QAAQzE,QAAQhF,IAAQ,IAErC,CACDA,IAAK,MACLN,MAAO,SAAaM,GACd3B,KAAKqL,IAAI1J,KACb3B,KAAKoL,QAAQpD,KAAKrG,GACd3B,KAAKoL,QAAQpI,OAAShD,KAAKkH,QAAQiE,KACrCnL,KAAKsL,UAGR,CACD3J,IAAK,OACLN,MAAO,WACLrB,KAAKoL,QAAQG,YAGVN,EA/BQ,GAyCbO,EAAmB,WACrB,SAASA,EAAiBN,GACxB,IAAIpE,EAAKoE,EAAKpE,GACVwD,EAAMY,EAAKZ,IACXmB,EAAQP,EAAKO,MACbC,EAAUR,EAAKQ,QACfC,EAAWT,EAAKS,SAChBC,EAAUV,EAAKU,QACf1E,EAAUgE,EAAKhE,QACf2E,EAAaX,EAAKW,WAClBC,EAAaZ,EAAKY,WACtBtJ,EAAexC,KAAMwL,GAErBxL,KAAK8G,GAAKA,EACV9G,KAAKsK,IAAMA,EACXtK,KAAKyL,MAAQA,EACbzL,KAAK0L,QAAUA,EACf1L,KAAK2L,SAAWA,EAChB3L,KAAK+L,QAAU,EAEf/L,KAAKyK,cAAgB,EACrBzK,KAAK0K,aAAe,EAEpB1K,KAAKkH,QAAUA,EAEflH,KAAKgM,KAAO,KAEZhM,KAAK4L,QAAUA,EACf5L,KAAK6L,WAAaA,EAClB7L,KAAKiM,YAAcH,EACnB9L,KAAKkM,gBAAkB,CACrBC,KAAMhI,KAAKiI,MACXC,UAAW,EACXC,QAAS,GAGXtM,KAAKuM,SACLvM,KAAKwM,YACLxM,KAAKyM,OAAO,WAAW,GAwOzB,OA/NA7J,EAAY4I,EAAkB,CAAC,CAC7B7J,IAAK,YACLN,MAAO,WACD,YAAarB,KAAK8G,GACpB9G,KAAK8G,GAAG4F,QAAQpC,IAAMtK,KAAKsK,IAE3BtK,KAAK8G,GAAG6F,aAAa,WAAY3M,KAAKsK,KAGxCtK,KAAK4M,MAAQ,CACXlB,SAAS,EACTD,OAAO,EACPoB,QAAQ,EACRC,UAAU,KASb,CACDnL,IAAK,SACLN,MAAO,SAAgBwE,GACrB7F,KAAKkM,gBAAgBrG,GAAS1B,KAAKiI,QAWpC,CACDzK,IAAK,SACLN,MAAO,SAAgB0L,GACrB,IAAIzC,EAAMyC,EAAMzC,IACZoB,EAAUqB,EAAMrB,QAChBD,EAAQsB,EAAMtB,MAEduB,EAAShN,KAAKsK,IAClBtK,KAAKsK,IAAMA,EACXtK,KAAK0L,QAAUA,EACf1L,KAAKyL,MAAQA,EACbzL,KAAKuM,SACDS,IAAWhN,KAAKsK,MAClBtK,KAAK+L,QAAU,EACf/L,KAAKwM,eASR,CACD7K,IAAK,UACLN,MAAO,WACLrB,KAAKgM,KAAOhM,KAAK8G,GAAGmG,0BAQrB,CACDtL,IAAK,cACLN,MAAO,WAEL,OADArB,KAAKkN,UACElN,KAAKgM,KAAKmB,IAAM9H,OAAO+H,YAAcpN,KAAKkH,QAAQmG,SAAWrN,KAAKgM,KAAKsB,OAAStN,KAAKkH,QAAQqG,YAAcvN,KAAKgM,KAAKwB,KAAOnI,OAAOoI,WAAazN,KAAKkH,QAAQmG,SAAWrN,KAAKgM,KAAK0B,MAAQ,IAOlM,CACD/L,IAAK,SACLN,MAAO,WACL,IAAIsM,EAAQ3N,MAtMlB,SAAoBsC,GAClB,KAAMA,aAAexB,QAAS,MAAO,GACrC,GAAIA,OAAO8M,KACT,OAAO9M,OAAO8M,KAAKtL,GAEnB,IAAIsL,EAAO,GACX,IAAK,IAAIjM,KAAOW,EACVA,EAAIL,eAAeN,IACrBiM,EAAK5F,KAAKrG,GAGd,OAAOiM,GA6LLC,CAAW7N,KAAKkH,QAAQqF,QAAQ3E,KAAI,SAAUjG,GAC5CgM,EAAMzG,QAAQqF,OAAO5K,GAAKgM,EAAOA,EAAMzG,cAU1C,CACDvF,IAAK,gBACLN,MAAO,SAAuByM,GAC5B,IAAIC,EAAS/N,KAEbA,KAAK4M,MAAMlB,SAAU,EACrBzB,EAAe,CACbK,IAAKtK,KAAK0L,UACT,SAAUsC,GACXD,EAAOtB,OAAO,WAAW,GACzBsB,EAAOnB,MAAMlB,SAAU,EACvBoC,OACC,WAEDA,IACAC,EAAOnB,MAAMlB,SAAU,EAClBqC,EAAO7G,QAAQ+G,QAAQC,QAAQC,KAAK,mDAAqDJ,EAAOrC,QAAU,UASlH,CACD/J,IAAK,OACLN,MAAO,WACL,IAAI+M,EAASpO,KAETqO,EAAW/J,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,GAAmBA,UAAU,GAAK0G,EAEnF,OAAIhL,KAAK+L,QAAU/L,KAAKkH,QAAQ6E,QAAU,GAAK/L,KAAK4M,MAAMnB,OACnDzL,KAAKkH,QAAQ+G,QAAQC,QAAQI,IAAI,oBAAsBtO,KAAKsK,IAAM,wBAA0BtK,KAAKkH,QAAQ6E,QAAU,eACxHsC,KAGErO,KAAK4M,MAAME,UAAY9M,KAAK4M,MAAMC,YAAtC,EACI7M,KAAKiM,YAAYZ,IAAIrL,KAAKsK,MAC5BtK,KAAK4M,MAAMC,QAAS,EACpB7M,KAAKyM,OAAO,UAAU,GACtBzM,KAAK4M,MAAME,UAAW,EACfuB,UAGTrO,KAAKuO,eAAc,WACjBH,EAAOrC,UAEPqC,EAAOlH,QAAQsH,QAAoB,YAAKJ,EAAOlH,QAAQsH,QAAoB,WAAEJ,EAAQA,EAAOlH,SAC5FkH,EAAOK,OAAO,aAEdxE,EAAe,CACbK,IAAK8D,EAAO9D,MACX,SAAU0D,GACXI,EAAO3D,cAAgBuD,EAAKvD,cAC5B2D,EAAO1D,aAAesD,EAAKtD,aAC3B0D,EAAOxB,MAAMC,QAAS,EACtBuB,EAAOxB,MAAMnB,OAAQ,EACrB2C,EAAOK,OAAO,WACdL,EAAO3B,OAAO,UAAU,GACxB2B,EAAOxB,MAAME,UAAW,EACxBsB,EAAOnC,YAAYyC,IAAIN,EAAO9D,KAC9B+D,OACC,SAAUjF,IACVgF,EAAOlH,QAAQ+G,QAAUC,QAAQzC,MAAMrC,GACxCgF,EAAOxB,MAAMnB,OAAQ,EACrB2C,EAAOxB,MAAMC,QAAS,EACtBuB,EAAO3B,OAAO,SAAS,WAY5B,CACD9K,IAAK,SACLN,MAAO,SAAgBuL,EAAO+B,GAC5B3O,KAAK6L,WAAW7L,KAAM4M,EAAO+B,KAQ9B,CACDhN,IAAK,cACLN,MAAO,WACL,IAAIuL,EAAQ,UACRgC,EAAO,EASX,OAPI5O,KAAK4M,MAAMC,SACbD,EAAQ,SACRgC,GAAQ5O,KAAKkM,gBAAgBI,QAAUtM,KAAKkM,gBAAgBG,WAAa,KAGvErM,KAAK4M,MAAMnB,QAAOmB,EAAQ,SAEvB,CACLtC,IAAKtK,KAAKsK,IACVsC,MAAOA,EACPgC,KAAMA,KAST,CACDjN,IAAK,WACLN,MAAO,WACLrB,KAAK8G,GAAK,KACV9G,KAAKsK,IAAM,KACXtK,KAAKyL,MAAQ,KACbzL,KAAK0L,QAAU,KACf1L,KAAK2L,SAAW,KAChB3L,KAAK+L,QAAU,MAGZP,EA9Qc,GAiRnBqD,EAAc,iFACdC,EAAiB,CAAC,SAAU,QAAS,aAAc,SAAU,eAAgB,gBAAiB,aAC9FC,EAA2B,CAC7BC,WAAY,MACZC,UAAW,GAGTC,EAAO,SAAUC,GACnB,OAAO,WACL,SAASD,EAAKhE,GACZ,IAtdYkE,EAAQC,EACpBC,EACAC,EAodIlC,EAAUnC,EAAKmC,QACf5B,EAAQP,EAAKO,MACb+D,EAAetE,EAAKsE,aACpBjC,EAAarC,EAAKqC,WAClBkC,EAAgBvE,EAAKuE,cACrB/D,EAAUR,EAAKQ,QACfK,EAAUb,EAAKa,QACf2D,EAAcxE,EAAK+C,OACnBA,OAAyB/H,IAAhBwJ,GAAmCA,EAC5C3I,EAAQmE,EAAKnE,MACb4I,EAAezE,EAAKyE,aAEpBpD,GADUrB,EAAK0E,QACN1E,EAAKqB,QACdiC,EAAUtD,EAAKsD,QACfqB,EAAW3E,EAAK2E,SAChBC,EAAkB5E,EAAK4E,gBAC3BtN,EAAexC,KAAMkP,GAErBlP,KAAK+P,QAAU,QACf/P,KAAKuB,KAAOmE,EACZ1F,KAAKgQ,cAAgB,GACrBhQ,KAAKiQ,YAAc,EACnBjQ,KAAKkQ,YAAc,GACnBlQ,KAAKkH,QAAU,CACb+G,OAAQA,EACRwB,gBAAiBA,EACjBD,aAAcA,GAAgB,IAC9BnC,QAASA,GAAW,IACpBE,WAAYA,GAAc,EAC1B9B,MAAOA,GAASoD,EAChBnD,QAASA,GAAWmD,EACpB9C,QAASA,GAAW,EACpBhF,MAAOA,GAAS0B,EAAO1B,GACvBoJ,aAAcR,GAAgBb,EAC9Bc,SAAS,EACTjH,YAAaA,IACb4D,OAAQA,GAAU,GAClBiC,QAASA,GAAW,GACpBqB,WAAYA,EACZC,gBAAiBA,GAAmBf,GAEtC/O,KAAKoQ,aACLpQ,KAAKiM,YAAc,IAAIhB,EAAW,CAAEE,IAAK,MACzCnL,KAAKqQ,iBAjgBOjB,EAigBoBpP,KAAKsQ,iBAAiB1O,KAAK5B,MAjgBvCqP,EAigB8CrP,KAAKkH,QAAQsI,aAhgB/EF,EAAU,KACVC,EAAU,EACP,WACL,IAAID,EAAJ,CAGA,IAAIiB,EAAUpM,KAAKiI,MAAQmD,EACvBiB,EAAUxQ,KACVyQ,EAAOnM,UACPoM,EAAc,WAChBnB,EAAUpL,KAAKiI,MACfkD,GAAU,EACVF,EAAOuB,MAAMH,EAASC,IAEpBF,GAAWlB,EACbqB,IAEApB,EAAUsB,WAAWF,EAAarB,MAiflCrP,KAAK6Q,QAAQ7Q,KAAKkH,QAAQ2I,SAAWnK,EAAoBA,GAwe3D,OA9dA9C,EAAYsM,EAAM,CAAC,CACjBvN,IAAK,SACLN,MAAO,WACL,IAAI6F,EAAU5C,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,GAAmBA,UAAU,GAAK,GAElFa,EAAWnF,KAAKkH,QAASA,KAQ1B,CACDvF,IAAK,cACLN,MAAO,WACL,IAAIyP,EAAO,GAMX,OAJA9Q,KAAKgQ,cAAcpI,KAAI,SAAUnB,GAC/BqK,EAAK9I,KAAKvB,EAAKsK,kBAGVD,IASR,CACDnP,IAAK,aACLN,MAAO,SAAoB2P,GACzBhR,KAAKgQ,cAAchI,KAAKgJ,GACpB5L,IACFpF,KAAKiR,mBAAmB5L,QACxBrF,KAAKkR,WAAalR,KAAKkR,UAAUC,QAAQH,EAAGlK,IACxCkK,EAAGI,KAAOJ,EAAGI,IAAI/J,YACnBrH,KAAKiR,mBAAmBD,EAAGI,IAAI/J,eAapC,CACD1F,IAAK,MACLN,MAAO,SAAayF,EAAIuK,EAASC,GAC/B,IAAI3D,EAAQ3N,KAEZ,GArrBR,SAAcwG,EAAKgC,GAEjB,IADA,IAAI6C,GAAM,EACDjL,EAAI,EAAGiE,EAAMmC,EAAIxD,OAAQ5C,EAAIiE,EAAKjE,IACzC,GAAIoI,EAAGhC,EAAIpG,IAAK,CACdiL,GAAM,EACN,MAGJ,OAAOA,EA6qBGkG,CAAKvR,KAAKgQ,eAAe,SAAUvJ,GACrC,OAAOA,EAAKK,KAAOA,KAGnB,OADA9G,KAAKwR,OAAO1K,EAAIuK,GACTlC,EAAIsC,SAASzR,KAAKqQ,iBAG3B,IAAIqB,EAAmB1R,KAAK2R,gBAAgBN,EAAQhQ,OAChDiJ,EAAMoH,EAAiBpH,IACvBoB,EAAUgG,EAAiBhG,QAC3BD,EAAQiG,EAAiBjG,MAE7B0D,EAAIsC,UAAS,WACXnH,EAAMzD,EAA2BC,EAAI6G,EAAMzG,QAAQH,QAAUuD,EAC7DqD,EAAMuD,WAAavD,EAAMuD,UAAUC,QAAQrK,GAE3C,IAAI8K,EAAY9Q,OAAO8M,KAAKyD,EAAQQ,WAAW,GAC3CjG,OAAU,EAEVgG,IAGFhG,GAFAA,EAAU0F,EAAMd,QAAQsB,MAAMF,IAEVhG,EAAQwF,KAAOxF,EAAUxF,SAAS2L,eAAeH,IAGlEhG,IACHA,EAvgBO,SAAsB9E,GACvC,GAAK1B,EAAL,CACA,KAAM0B,aAAckL,aAClB,OAAO3M,OAKT,IAFA,IAAI4M,EAASnL,EAENmL,GACDA,IAAW7L,SAAS6C,MAAQgJ,IAAW7L,SAAS8L,iBAI/CD,EAAO5K,YALC,CASb,GAAI,gBAAgB8K,KAAKpH,EAASkH,IAChC,OAAOA,EAGTA,EAASA,EAAO5K,WAGlB,OAAOhC,QA+ea+M,CAAatL,IAGzB,IAAIuL,EAAc,IAAI7G,EAAiB,CACrCG,SAAU0F,EAAQiB,IAClB1G,QAASA,EACT9E,GAAIA,EACJ4E,QAASA,EACTD,MAAOA,EACPnB,IAAKA,EACLuB,WAAY8B,EAAM4E,YAAY3Q,KAAK+L,GACnCzG,QAASyG,EAAMzG,QACf4E,WAAY6B,EAAM1B,cAGpB0B,EAAMqC,cAAchI,KAAKqK,GAErBjN,IACFuI,EAAMsD,mBAAmB5L,QACzBsI,EAAMsD,mBAAmBrF,IAG3B+B,EAAM0C,kBACNlB,EAAIsC,UAAS,WACX,OAAO9D,EAAM0C,0BAYlB,CACD1O,IAAK,SACLN,MAAO,SAAgByF,EAAIuK,EAASC,GAClC,IAAIvD,EAAS/N,KAETwS,EAAmBxS,KAAK2R,gBAAgBN,EAAQhQ,OAChDiJ,EAAMkI,EAAiBlI,IACvBoB,EAAU8G,EAAiB9G,QAC3BD,EAAQ+G,EAAiB/G,MAE7BnB,EAAMzD,EAA2BC,EAAI9G,KAAKkH,QAAQH,QAAUuD,EAE5D,IAAImI,EAAQlK,EAAKvI,KAAKgQ,eAAe,SAAUvJ,GAC7C,OAAOA,EAAKK,KAAOA,KAEhB2L,EAGHA,EAAMjB,OAAO,CACXlH,IAAKA,EACLoB,QAASA,EACTD,MAAOA,IALTzL,KAAK0O,IAAI5H,EAAIuK,EAASC,GAQpBtR,KAAKkR,YACPlR,KAAKkR,UAAUwB,UAAU5L,GACzB9G,KAAKkR,UAAUC,QAAQrK,IAEzB9G,KAAKqQ,kBACLlB,EAAIsC,UAAS,WACX,OAAO1D,EAAOsC,uBAUjB,CACD1O,IAAK,SACLN,MAAO,SAAmByF,GACxB,GAAKA,EAAL,CACA9G,KAAKkR,WAAalR,KAAKkR,UAAUwB,UAAU5L,GAC3C,IAAI6L,EAAYpK,EAAKvI,KAAKgQ,eAAe,SAAUvJ,GACjD,OAAOA,EAAKK,KAAOA,KAEjB6L,IACF3S,KAAK4S,sBAAsBD,EAAU/G,SACrC5L,KAAK4S,sBAAsBvN,QAC3BkB,EAAOvG,KAAKgQ,cAAe2C,GAC3BA,EAAUE,eAUb,CACDlR,IAAK,kBACLN,MAAO,SAAyB2P,GACzBA,IACLzK,EAAOvG,KAAKgQ,cAAegB,GAC3BhR,KAAKkR,WAAalR,KAAKkR,UAAUwB,UAAU1B,EAAGlK,IAC1CkK,EAAGpF,SAAWoF,EAAGI,IAAI/J,YACvBrH,KAAK4S,sBAAsB5B,EAAGI,IAAI/J,YAEpCrH,KAAK4S,sBAAsBvN,WAE5B,CACD1D,IAAK,UACLN,MAAO,SAAiBE,GACtB,IAAI6M,EAASpO,KAERsF,GAA2B/D,IAASmE,IACvCnE,EAAOmE,GAGT1F,KAAKuB,KAAOA,EAERA,IAASmE,GACP1F,KAAKkR,YACPlR,KAAKgQ,cAAc8C,SAAQ,SAAUC,GACnC3E,EAAO8C,UAAUwB,UAAUK,EAASjM,OAEtC9G,KAAKkR,UAAY,MAGnBlR,KAAKkQ,YAAY4C,SAAQ,SAAUhQ,GACjCsL,EAAO4E,YAAYlQ,EAAOgE,IAAI,QAGhC9G,KAAKkQ,YAAY4C,SAAQ,SAAUhQ,GACjCsL,EAAO4E,YAAYlQ,EAAOgE,IAAI,MAEhC9G,KAAKiT,+BAcR,CACDtR,IAAK,qBACLN,MAAO,SAA4ByF,GACjC,GAAKA,EAAL,CACA,IAAIhE,EAASyF,EAAKvI,KAAKkQ,aAAa,SAAUpN,GAC5C,OAAOA,EAAOgE,KAAOA,KAcvB,OAZKhE,EAUHA,EAAOoQ,iBATPpQ,EAAS,CACPgE,GAAIA,EACJqM,KAAMnT,KAAKiQ,YACXiD,cAAe,EACfE,UAAU,GAEZpT,KAAKuB,OAASmE,GAAkB1F,KAAKgT,YAAYlQ,EAAOgE,IAAI,GAC5D9G,KAAKkQ,YAAYlI,KAAKlF,IAIjB9C,KAAKiQ,eASb,CACDtO,IAAK,wBACLN,MAAO,SAA+ByF,GACpC,IAAIuM,EAASrT,KAEbA,KAAKkQ,YAAY4C,SAAQ,SAAUhQ,EAAQ4D,GACrC5D,EAAOgE,KAAOA,IAChBhE,EAAOoQ,gBACFpQ,EAAOoQ,gBACVG,EAAOL,YAAYlQ,EAAOgE,IAAI,GAC9BuM,EAAOnD,YAAYtJ,OAAOF,EAAO,GACjC5D,EAAS,YAahB,CACDnB,IAAK,cACLN,MAAO,SAAqByF,EAAIwM,GAC9B,IAAIC,EAASvT,KAEbA,KAAKkH,QAAQiJ,aAAa2C,SAAQ,SAAU3M,GAC1C,OAAOuD,EAAE4J,EAAQ,KAAO,OAAOxM,EAAIX,EAAKoN,EAAOlD,sBAGlD,CACD1O,IAAK,aACLN,MAAO,WACL,IAAImS,EAASxT,KAEbA,KAAK4F,MAAQ,CACX6N,UAAW,CACT/H,QAAS,GACTmB,OAAQ,GACRpB,MAAO,KAIXzL,KAAK0T,IAAM,SAAU7N,EAAO+D,GACrB4J,EAAO5N,MAAM6N,UAAU5N,KAAQ2N,EAAO5N,MAAM6N,UAAU5N,GAAS,IACpE2N,EAAO5N,MAAM6N,UAAU5N,GAAOmC,KAAK4B,IAGrC5J,KAAK2T,MAAQ,SAAU9N,EAAO+D,GAC5B,IAAIoH,EAAKwC,EAKTA,EAAOE,IAAI7N,GAJX,SAAS8D,IACPqH,EAAG4C,KAAK/N,EAAO8D,GACfC,EAAK+G,MAAMK,EAAI1M,eAKnBtE,KAAK4T,KAAO,SAAU/N,EAAO+D,GAC3B,GAAKA,EAKLrD,EAAOiN,EAAO5N,MAAM6N,UAAU5N,GAAQ+D,OALtC,CACE,IAAK4J,EAAO5N,MAAM6N,UAAU5N,GAAQ,OACpC2N,EAAO5N,MAAM6N,UAAU5N,GAAO7C,OAAS,IAM3ChD,KAAK6T,MAAQ,SAAUhO,EAAO2K,EAASsD,GAChCN,EAAO5N,MAAM6N,UAAU5N,IAC5B2N,EAAO5N,MAAM6N,UAAU5N,GAAOiN,SAAQ,SAAUlJ,GAC9C,OAAOA,EAAK4G,EAASsD,SAU1B,CACDnS,IAAK,mBACLN,MAAO,WACL,IAAI0S,EAAS/T,KAETgU,EAAW,GACfhU,KAAKgQ,cAAc8C,SAAQ,SAAUC,EAAUrM,GACxCqM,EAASjM,IAAOiM,EAASjM,GAAGO,YAC/B2M,EAAShM,KAAK+K,GAEJA,EAASkB,eAErBlB,EAASmB,UAEXF,EAASlB,SAAQ,SAAUrM,GACzBF,EAAOwN,EAAO/D,cAAevJ,GAC7BA,EAAKoM,gBASR,CACDlR,IAAK,4BACLN,MAAO,WACL,IAAI8S,EAASnU,KAERsF,IACLtF,KAAKkR,UAAY,IAAIkD,qBAAqBpU,KAAKqU,iBAAiBzS,KAAK5B,MAAOA,KAAKkH,QAAQ4I,iBACrF9P,KAAKgQ,cAAchN,QACrBhD,KAAKgQ,cAAc8C,SAAQ,SAAUC,GACnCoB,EAAOjD,UAAUC,QAAQ4B,EAASjM,UAUvC,CACDnF,IAAK,mBACLN,MAAO,SAA0BiT,EAASzE,GACxC,IAAI0E,EAASvU,KAEbsU,EAAQxB,SAAQ,SAAU0B,GACpBA,EAAMC,gBACRF,EAAOvE,cAAc8C,SAAQ,SAAUC,GACrC,GAAIA,EAASjM,KAAO0N,EAAM1R,OAAQ,CAChC,GAAIiQ,EAASnG,MAAMC,OAAQ,OAAO0H,EAAOrD,UAAUwB,UAAUK,EAASjM,IACtEiM,EAASmB,gBAelB,CACDvS,IAAK,cACLN,MAAO,SAAqB0R,EAAUnG,EAAO+B,GAC3C,GAAKoE,EAASjM,GAAd,CACA,IAAIA,EAAKiM,EAASjM,GACd6E,EAAWoH,EAASpH,SAGpBrB,OAAM,EACV,OAAQsC,GACN,IAAK,UACHtC,EAAMyI,EAASrH,QACf,MACF,IAAK,QACHpB,EAAMyI,EAAStH,MACf,MACF,QACEnB,EAAMyI,EAASzI,IAenB,GAXIqB,EACF7E,EAAGgC,MAAM6C,GAAY,QAAUrB,EAAM,KAC5BxD,EAAGG,aAAa,SAAWqD,GACpCxD,EAAG6F,aAAa,MAAOrC,GAGzBxD,EAAG6F,aAAa,OAAQC,GAExB5M,KAAK6T,MAAMjH,EAAOmG,EAAUpE,GAC5B3O,KAAKkH,QAAQsH,QAAQ5B,IAAU5M,KAAKkH,QAAQsH,QAAQ5B,GAAOmG,EAAU/S,KAAKkH,SAEtElH,KAAKkH,QAAQuI,cAAe,CAC9B,IAAI5J,EAAQ,IAAIF,EAAYiH,EAAO,CACjC3G,OAAQ8M,IAEVjM,EAAG2I,cAAc5J,OAUpB,CACDlE,IAAK,kBACLN,MAAO,SAAyBA,GAC9B,IAr2BUiB,EAq2BNgI,EAAMjJ,EACNqK,EAAU1L,KAAKkH,QAAQwE,QACvBD,EAAQzL,KAAKkH,QAAQuE,MASzB,OA/2BS,QADCnJ,EA02BGjB,IAz2BkE,iBAA9C,IAARiB,EAAsB,YAAcF,EAAQE,MA02B9DjB,EAAMiJ,KAAQtK,KAAKkH,QAAQ+G,QAAQC,QAAQzC,MAAM,uCAAyCpK,GAC/FiJ,EAAMjJ,EAAMiJ,IACZoB,EAAUrK,EAAMqK,SAAW1L,KAAKkH,QAAQwE,QACxCD,EAAQpK,EAAMoK,OAASzL,KAAKkH,QAAQuE,OAE/B,CACLnB,IAAKA,EACLoB,QAASA,EACTD,MAAOA,OAINyD,EAvhBF,IA2hBLwF,EAAgB,SAAWC,GAC7B,MAAO,CACL5R,MAAO,CACL6R,IAAK,CACHlR,KAAME,OACNiR,QAAS,QAGbpI,OAAQ,SAAgBqI,GACtB,OAAkB,IAAd9U,KAAK+U,KACAD,EAAE9U,KAAK4U,KAETE,EAAE9U,KAAK4U,IAAK,KAAM5U,KAAKgV,OAAOH,UAEvC7G,KAAM,WACJ,MAAO,CACLlH,GAAI,KACJ8F,MAAO,CACLC,QAAQ,GAEVb,KAAM,GACN+I,MAAM,IAGVE,QAAS,WACPjV,KAAK8G,GAAK9G,KAAKoR,IACfuD,EAAKO,WAAWlV,MAChB2U,EAAKtE,mBAEP8E,cAAe,WACbR,EAAKS,gBAAgBpV,OAGvBqV,QAAS,CACPnI,QAAS,WACPlN,KAAKgM,KAAOhM,KAAKoR,IAAInE,yBAEvBgH,YAAa,WAEX,OADAjU,KAAKkN,UACE9H,GAAapF,KAAKgM,KAAKmB,IAAM9H,OAAO+H,YAAcuH,EAAKzN,QAAQmG,SAAWrN,KAAKgM,KAAKsB,OAAS,GAAKtN,KAAKgM,KAAKwB,KAAOnI,OAAOoI,WAAakH,EAAKzN,QAAQmG,SAAWrN,KAAKgM,KAAK0B,MAAQ,GAE1LwG,KAAM,WACJlU,KAAK+U,MAAO,EACZ/U,KAAK4M,MAAMC,QAAS,EACpB7M,KAAK6T,MAAM,OAAQ7T,OAErBsV,QAAS,WACP,OAAOtV,KAAK6S,aAMhB0C,EAAwB,WAC1B,SAASA,EAAsBrK,GAC7B,IAAIyJ,EAAOzJ,EAAKyJ,KAChBnS,EAAexC,KAAMuV,GAErBvV,KAAK2U,KAAOA,EACZA,EAAKa,sBAAwBxV,KAC7BA,KAAKyV,OAAS,GA6BhB,OA1BA7S,EAAY2S,EAAuB,CAAC,CAClC5T,IAAK,OACLN,MAAO,SAAcyF,EAAIuK,EAASC,GAChC,IAAIM,EAAY,IAAI8D,EAAgB,CAAE5O,GAAIA,EAAIuK,QAASA,EAASC,MAAOA,EAAOqD,KAAM3U,KAAK2U,OACzF3U,KAAKyV,OAAOzN,KAAK4J,KAElB,CACDjQ,IAAK,SACLN,MAAO,SAAgByF,EAAIuK,EAASC,GAClC,IAAIM,EAAYrJ,EAAKvI,KAAKyV,QAAQ,SAAUhP,GAC1C,OAAOA,EAAKK,KAAOA,KAEhB8K,GACLA,EAAUJ,OAAO,CAAE1K,GAAIA,EAAIuK,QAASA,EAASC,MAAOA,MAErD,CACD3P,IAAK,SACLN,MAAO,SAAgByF,EAAIuK,EAASC,GAClC,IAAIM,EAAYrJ,EAAKvI,KAAKyV,QAAQ,SAAUhP,GAC1C,OAAOA,EAAKK,KAAOA,KAEhB8K,IACLA,EAAU+D,QACVpP,EAAOvG,KAAKyV,OAAQ7D,QAGjB2D,EApCmB,GAuCxBK,EAAiB,CACnBC,SAAU,OAGRH,EAAkB,WACpB,SAASI,EAAc/I,GACrB,IAAIjG,EAAKiG,EAAMjG,GACXuK,EAAUtE,EAAMsE,QAChBC,EAAQvE,EAAMuE,MACdqD,EAAO5H,EAAM4H,KACjBnS,EAAexC,KAAM8V,GAErB9V,KAAK8G,GAAK,KACV9G,KAAKsR,MAAQA,EACbtR,KAAKqR,QAAUA,EACfrR,KAAKkH,QAAU,GACflH,KAAK2U,KAAOA,EAEZ3U,KAAKyV,OAAS,GACdzV,KAAKwR,OAAO,CAAE1K,GAAIA,EAAIuK,QAASA,IA6CjC,OA1CAzO,EAAYkT,EAAe,CAAC,CAC1BnU,IAAK,SACLN,MAAO,SAAgB0U,GACrB,IAAIpI,EAAQ3N,KAER8G,EAAKiP,EAAMjP,GACXuK,EAAU0E,EAAM1E,QAEpBrR,KAAK8G,GAAKA,EACV9G,KAAKkH,QAAU/B,EAAW,GAAIyQ,EAAgBvE,EAAQhQ,OAE3CrB,KAAKgW,UACXlD,SAAQ,SAAUhM,GACrB6G,EAAMgH,KAAKjG,IAAI5H,EAAI3B,EAAW,GAAIwI,EAAM0D,QAAS,CAC/ChQ,MAAO,CACLiJ,IAAK,YAAaxD,EAAKA,EAAG4F,QAAQpC,IAAMxD,EAAGG,aAAa,YACxDwE,OAAQ,YAAa3E,EAAKA,EAAG4F,QAAQjB,MAAQ3E,EAAGG,aAAa,gBAAkB0G,EAAMzG,QAAQuE,MAC7FC,SAAU,YAAa5E,EAAKA,EAAG4F,QAAQhB,QAAU5E,EAAGG,aAAa,kBAAoB0G,EAAMzG,QAAQwE,WAEnGiC,EAAM2D,YAGb,CACD3P,IAAK,UACLN,MAAO,WACL,OAn/BN,SAAmB4U,GAGjB,IAFA,IAAI5R,EAAM4R,EAAQjT,OACd8N,EAAO,GACF1Q,EAAI,EAAGA,EAAIiE,EAAKjE,IACvB0Q,EAAK9I,KAAKiO,EAAQ7V,IAEpB,OAAO0Q,EA6+BIoF,CAAUlW,KAAK8G,GAAGqP,iBAAiBnW,KAAKkH,QAAQ2O,aAExD,CACDlU,IAAK,QACLN,MAAO,WACL,IAAI0M,EAAS/N,KAEFA,KAAKgW,UACXlD,SAAQ,SAAUhM,GACrB,OAAOiH,EAAO4G,KAAKpO,OAAOO,MAG5B9G,KAAKsR,MAAQ,KACbtR,KAAKqR,QAAU,KACfrR,KAAK2U,KAAO,SAGTmB,EA5Da,GA+DlBM,EAAY,SAAWC,GACzB,MAAO,CACLtT,MAAO,CACLuH,IAAK,CAAC1G,OAAQ9C,QACd8T,IAAK,CACHlR,KAAME,OACNiR,QAAS,QAGbpI,OAAQ,SAAgBqI,GACtB,OAAOA,EAAE9U,KAAK4U,IAAK,CACjB0B,MAAO,CACLhM,IAAKtK,KAAKuW,YAEXvW,KAAKgV,OAAOH,UAEjB7G,KAAM,WACJ,MAAO,CACLlH,GAAI,KACJI,QAAS,CACPoD,IAAK,GACLmB,MAAO,GACPC,QAAS,GACTK,QAASsK,EAAYnP,QAAQ6E,SAE/Ba,MAAO,CACLC,QAAQ,EACRpB,OAAO,EACPM,QAAS,GAEXC,KAAM,GACNuK,UAAW,KAIfC,MAAO,CACLlM,IAAK,WACHtK,KAAKmM,OACLkK,EAAYnB,WAAWlV,MACvBqW,EAAYhG,oBAGhBoG,QAAS,WACPzW,KAAKmM,OACLnM,KAAKuW,UAAYvW,KAAKkH,QAAQwE,SAEhCuJ,QAAS,WACPjV,KAAK8G,GAAK9G,KAAKoR,IACfiF,EAAYnB,WAAWlV,MACvBqW,EAAYhG,mBAEd8E,cAAe,WACbkB,EAAYjB,gBAAgBpV,OAG9BqV,QAAS,CACPlJ,KAAM,WACJ,IAAIuK,EAAwBL,EAAY1E,gBAAgB3R,KAAKsK,KACzDA,EAAMoM,EAAsBpM,IAC5BoB,EAAUgL,EAAsBhL,QAChCD,EAAQiL,EAAsBjL,MAElCzL,KAAK4M,MAAMC,QAAS,EACpB7M,KAAKkH,QAAQoD,IAAMA,EACnBtK,KAAKkH,QAAQuE,MAAQA,EACrBzL,KAAKkH,QAAQwE,QAAUA,EACvB1L,KAAKuW,UAAYvW,KAAKkH,QAAQwE,SAEhCwB,QAAS,WACPlN,KAAKgM,KAAOhM,KAAKoR,IAAInE,yBAEvBgH,YAAa,WAEX,OADAjU,KAAKkN,UACE9H,GAAapF,KAAKgM,KAAKmB,IAAM9H,OAAO+H,YAAciJ,EAAYnP,QAAQmG,SAAWrN,KAAKgM,KAAKsB,OAAS,GAAKtN,KAAKgM,KAAKwB,KAAOnI,OAAOoI,WAAa4I,EAAYnP,QAAQmG,SAAWrN,KAAKgM,KAAK0B,MAAQ,GAExMwG,KAAM,WACJ,IAAIvG,EAAQ3N,KAERqO,EAAW/J,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,GAAmBA,UAAU,GAAK0G,EAEnF,GAAIhL,KAAK4M,MAAMb,QAAU/L,KAAKkH,QAAQ6E,QAAU,GAAK/L,KAAK4M,MAAMnB,MAG9D,OAFK4K,EAAYnP,QAAQ+G,QAAQC,QAAQI,IAAI,oBAAsBtO,KAAKkH,QAAQoD,IAAM,wBAA0BtK,KAAKkH,QAAQ6E,QAAU,eACvIsC,IAGF,IAAI/D,EAAMtK,KAAKkH,QAAQoD,IACvBL,EAAe,CAAEK,IAAKA,IAAO,SAAUY,GACrC,IAAIZ,EAAMY,EAAKZ,IAEfqD,EAAM4I,UAAYjM,EAClBqD,EAAMf,MAAMC,QAAS,KACpB,SAAUrD,GACXmE,EAAMf,MAAMb,UACZ4B,EAAM4I,UAAY5I,EAAMzG,QAAQuE,MAChCkC,EAAMf,MAAMnB,OAAQ,SAkFf,EA3EH,CAMVkL,QAAS,SAAiBxH,GACxB,IAAIjI,EAAU5C,UAAUtB,OAAS,QAAsBkD,IAAjB5B,UAAU,GAAmBA,UAAU,GAAK,GAE9EsS,EAAY1H,EAAKC,GACjBwF,EAAO,IAAIiC,EAAU1P,GACrB2P,EAAgB,IAAItB,EAAsB,CAAEZ,KAAMA,IAElDmC,EAAuC,MAA9B3H,EAAIY,QAAQpI,MAAM,KAAK,GAEpCwH,EAAInN,UAAU+U,UAAYpC,EAEtBzN,EAAQ8P,eACV7H,EAAI8H,UAAU,iBAAkBvC,EAAcC,IAG5CzN,EAAQgQ,WACV/H,EAAI8H,UAAU,aAAcb,EAAUzB,IAGpCmC,GACF3H,EAAIgI,UAAU,OAAQ,CACpBvV,KAAM+S,EAAKjG,IAAI9M,KAAK+S,GACpBnD,OAAQmD,EAAKnD,OAAO5P,KAAK+S,GACzByC,iBAAkBzC,EAAKtE,gBAAgBzO,KAAK+S,GAC5C0C,OAAQ1C,EAAKpO,OAAO3E,KAAK+S,KAE3BxF,EAAIgI,UAAU,iBAAkB,CAC9BvV,KAAMiV,EAAcjV,KAAKA,KAAKiV,GAC9BO,iBAAkBP,EAAcrF,OAAO5P,KAAKiV,GAC5CQ,OAAQR,EAAcQ,OAAOzV,KAAKiV,OAGpC1H,EAAIgI,UAAU,OAAQ,CACpBvV,KAAM+S,EAAKtE,gBAAgBzO,KAAK+S,GAChCnD,OAAQ,SAAgB8F,EAAUC,GAChCpS,EAAWnF,KAAKgR,GAAGc,MAAO9R,KAAKgR,GAAGwG,MAClC7C,EAAKjG,IAAI1O,KAAK8G,GAAI,CAChB+K,UAAW7R,KAAK6R,WAAa,GAC7BS,IAAKtS,KAAKsS,IACVjR,MAAOiW,EACPC,SAAUA,GACT,CACD/G,QAASxQ,KAAKgR,MAGlBqG,OAAQ,WACN1C,EAAKpO,OAAOvG,KAAK8G,OAIrBqI,EAAIgI,UAAU,iBAAkB,CAC9B3F,OAAQ,SAAgB8F,EAAUC,GAChCV,EAAcrF,OAAOxR,KAAK8G,GAAI,CAC5B+K,UAAW7R,KAAK6R,WAAa,GAC7BS,IAAKtS,KAAKsS,IACVjR,MAAOiW,EACPC,SAAUA,GACT,CACD/G,QAASxQ,KAAKgR,MAGlBqG,OAAQ,WACNR,EAAcQ,OAAOrX,KAAK8G,U,OCpwDpC2Q,EAAS9W,KAAO,eAED8W","file":"lazyload/lazyload.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"lazyload\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"lazyload\"] = factory();\n\telse\n\t\troot[\"lazyload\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 214);\n","/*!\n * Vue-Lazyload.js v1.3.3\n * (c) 2019 Awe <hilongjw@gmail.com>\n * Released under the MIT License.\n */\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n/*!\n * is-primitive <https://github.com/jonschlinkert/is-primitive>\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n// see http://jsperf.com/testing-value-is-primitive/7\n\nvar isPrimitive = function isPrimitive(value) {\n return value == null || typeof value !== 'function' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object';\n};\n\n/*!\n * assign-symbols <https://github.com/jonschlinkert/assign-symbols>\n *\n * Copyright (c) 2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\nvar assignSymbols = function assignSymbols(receiver, objects) {\n if (receiver === null || typeof receiver === 'undefined') {\n throw new TypeError('expected first argument to be an object.');\n }\n\n if (typeof objects === 'undefined' || typeof Symbol === 'undefined') {\n return receiver;\n }\n\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return receiver;\n }\n\n var isEnumerable = Object.prototype.propertyIsEnumerable;\n var target = Object(receiver);\n var len = arguments.length,\n i = 0;\n\n while (++i < len) {\n var provider = Object(arguments[i]);\n var names = Object.getOwnPropertySymbols(provider);\n\n for (var j = 0; j < names.length; j++) {\n var key = names[j];\n\n if (isEnumerable.call(provider, key)) {\n target[key] = provider[key];\n }\n }\n }\n return target;\n};\n\nvar toString = Object.prototype.toString;\n\n/**\n * Get the native `typeof` a value.\n *\n * @param {*} `val`\n * @return {*} Native javascript type\n */\n\nvar kindOf = function kindOf(val) {\n var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n\n // primitivies\n if (type === 'undefined') {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n if (val === true || val === false || val instanceof Boolean) {\n return 'boolean';\n }\n if (type === 'string' || val instanceof String) {\n return 'string';\n }\n if (type === 'number' || val instanceof Number) {\n return 'number';\n }\n\n // functions\n if (type === 'function' || val instanceof Function) {\n if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') {\n return 'generatorfunction';\n }\n return 'function';\n }\n\n // array\n if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) {\n return 'array';\n }\n\n // check for instances of RegExp and Date before calling `toString`\n if (val instanceof RegExp) {\n return 'regexp';\n }\n if (val instanceof Date) {\n return 'date';\n }\n\n // other objects\n type = toString.call(val);\n\n if (type === '[object RegExp]') {\n return 'regexp';\n }\n if (type === '[object Date]') {\n return 'date';\n }\n if (type === '[object Arguments]') {\n return 'arguments';\n }\n if (type === '[object Error]') {\n return 'error';\n }\n if (type === '[object Promise]') {\n return 'promise';\n }\n\n // buffer\n if (isBuffer(val)) {\n return 'buffer';\n }\n\n // es6: Map, WeakMap, Set, WeakSet\n if (type === '[object Set]') {\n return 'set';\n }\n if (type === '[object WeakSet]') {\n return 'weakset';\n }\n if (type === '[object Map]') {\n return 'map';\n }\n if (type === '[object WeakMap]') {\n return 'weakmap';\n }\n if (type === '[object Symbol]') {\n return 'symbol';\n }\n\n if (type === '[object Map Iterator]') {\n return 'mapiterator';\n }\n if (type === '[object Set Iterator]') {\n return 'setiterator';\n }\n if (type === '[object String Iterator]') {\n return 'stringiterator';\n }\n if (type === '[object Array Iterator]') {\n return 'arrayiterator';\n }\n\n // typed arrays\n if (type === '[object Int8Array]') {\n return 'int8array';\n }\n if (type === '[object Uint8Array]') {\n return 'uint8array';\n }\n if (type === '[object Uint8ClampedArray]') {\n return 'uint8clampedarray';\n }\n if (type === '[object Int16Array]') {\n return 'int16array';\n }\n if (type === '[object Uint16Array]') {\n return 'uint16array';\n }\n if (type === '[object Int32Array]') {\n return 'int32array';\n }\n if (type === '[object Uint32Array]') {\n return 'uint32array';\n }\n if (type === '[object Float32Array]') {\n return 'float32array';\n }\n if (type === '[object Float64Array]') {\n return 'float64array';\n }\n\n // must be a plain object\n return 'object';\n};\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n return val.constructor && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\nfunction assign(target /*, objects*/) {\n target = target || {};\n var len = arguments.length,\n i = 0;\n if (len === 1) {\n return target;\n }\n while (++i < len) {\n var val = arguments[i];\n if (isPrimitive(target)) {\n target = val;\n }\n if (isObject$1(val)) {\n extend(target, val);\n }\n }\n return target;\n}\n\n/**\n * Shallow extend\n */\n\nfunction extend(target, obj) {\n assignSymbols(target, obj);\n\n for (var key in obj) {\n if (key !== '__proto__' && hasOwn(obj, key)) {\n var val = obj[key];\n if (isObject$1(val)) {\n if (kindOf(target[key]) === 'undefined' && kindOf(val) === 'function') {\n target[key] = val;\n }\n target[key] = assign(target[key] || {}, val);\n } else {\n target[key] = val;\n }\n }\n }\n return target;\n}\n\n/**\n * Returns true if the object is a plain object or a function.\n */\n\nfunction isObject$1(obj) {\n return kindOf(obj) === 'object' || kindOf(obj) === 'function';\n}\n\n/**\n * Returns true if the given `key` is an own property of `obj`.\n */\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\n/**\n * Expose `assign`\n */\n\nvar assignDeep = assign;\n\nvar inBrowser = typeof window !== 'undefined';\nvar hasIntersectionObserver = checkIntersectionObserver();\n\nfunction checkIntersectionObserver() {\n if (inBrowser && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function get$$1() {\n return this.intersectionRatio > 0;\n }\n });\n }\n return true;\n }\n return false;\n}\n\nvar modeType = {\n event: 'event',\n observer: 'observer'\n\n // CustomEvent polyfill\n};var CustomEvent = function () {\n if (!inBrowser) return;\n if (typeof window.CustomEvent === 'function') return window.CustomEvent;\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n CustomEvent.prototype = window.Event.prototype;\n return CustomEvent;\n}();\n\nfunction remove(arr, item) {\n if (!arr.length) return;\n var index = arr.indexOf(item);\n if (index > -1) return arr.splice(index, 1);\n}\n\nfunction some(arr, fn) {\n var has = false;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n has = true;\n break;\n }\n }\n return has;\n}\n\nfunction getBestSelectionFromSrcset(el, scale) {\n if (el.tagName !== 'IMG' || !el.getAttribute('data-srcset')) return;\n\n var options = el.getAttribute('data-srcset');\n var result = [];\n var container = el.parentNode;\n var containerWidth = container.offsetWidth * scale;\n\n var spaceIndex = void 0;\n var tmpSrc = void 0;\n var tmpWidth = void 0;\n\n options = options.trim().split(',');\n\n options.map(function (item) {\n item = item.trim();\n spaceIndex = item.lastIndexOf(' ');\n if (spaceIndex === -1) {\n tmpSrc = item;\n tmpWidth = 999998;\n } else {\n tmpSrc = item.substr(0, spaceIndex);\n tmpWidth = parseInt(item.substr(spaceIndex + 1, item.length - spaceIndex - 2), 10);\n }\n result.push([tmpWidth, tmpSrc]);\n });\n\n result.sort(function (a, b) {\n if (a[0] < b[0]) {\n return 1;\n }\n if (a[0] > b[0]) {\n return -1;\n }\n if (a[0] === b[0]) {\n if (b[1].indexOf('.webp', b[1].length - 5) !== -1) {\n return 1;\n }\n if (a[1].indexOf('.webp', a[1].length - 5) !== -1) {\n return -1;\n }\n }\n return 0;\n });\n var bestSelectedSrc = '';\n var tmpOption = void 0;\n\n for (var i = 0; i < result.length; i++) {\n tmpOption = result[i];\n bestSelectedSrc = tmpOption[1];\n var next = result[i + 1];\n if (next && next[0] < containerWidth) {\n bestSelectedSrc = tmpOption[1];\n break;\n } else if (!next) {\n bestSelectedSrc = tmpOption[1];\n break;\n }\n }\n\n return bestSelectedSrc;\n}\n\nfunction find(arr, fn) {\n var item = void 0;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n item = arr[i];\n break;\n }\n }\n return item;\n}\n\nvar getDPR = function getDPR() {\n var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return inBrowser ? window.devicePixelRatio || scale : scale;\n};\n\nfunction supportWebp() {\n if (!inBrowser) return false;\n\n var support = true;\n var d = document;\n\n try {\n var el = d.createElement('object');\n el.type = 'image/webp';\n el.style.visibility = 'hidden';\n el.innerHTML = '!';\n d.body.appendChild(el);\n support = !el.offsetWidth;\n d.body.removeChild(el);\n } catch (err) {\n support = false;\n }\n\n return support;\n}\n\nfunction throttle(action, delay) {\n var timeout = null;\n var lastRun = 0;\n return function () {\n if (timeout) {\n return;\n }\n var elapsed = Date.now() - lastRun;\n var context = this;\n var args = arguments;\n var runCallback = function runCallback() {\n lastRun = Date.now();\n timeout = false;\n action.apply(context, args);\n };\n if (elapsed >= delay) {\n runCallback();\n } else {\n timeout = setTimeout(runCallback, delay);\n }\n };\n}\n\nfunction testSupportsPassive() {\n if (!inBrowser) return;\n var support = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get$$1() {\n support = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return support;\n}\n\nvar supportsPassive = testSupportsPassive();\n\nvar _ = {\n on: function on(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (supportsPassive) {\n el.addEventListener(type, func, {\n capture: capture,\n passive: true\n });\n } else {\n el.addEventListener(type, func, capture);\n }\n },\n off: function off(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n el.removeEventListener(type, func, capture);\n }\n};\n\nvar loadImageAsync = function loadImageAsync(item, resolve, reject) {\n var image = new Image();\n if (!item || !item.src) {\n var err = new Error('image src is required');\n return reject(err);\n }\n\n image.src = item.src;\n\n image.onload = function () {\n resolve({\n naturalHeight: image.naturalHeight,\n naturalWidth: image.naturalWidth,\n src: image.src\n });\n };\n\n image.onerror = function (e) {\n reject(e);\n };\n};\n\nvar style = function style(el, prop) {\n return typeof getComputedStyle !== 'undefined' ? getComputedStyle(el, null).getPropertyValue(prop) : el.style[prop];\n};\n\nvar overflow = function overflow(el) {\n return style(el, 'overflow') + style(el, 'overflow-y') + style(el, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(el) {\n if (!inBrowser) return;\n if (!(el instanceof HTMLElement)) {\n return window;\n }\n\n var parent = el;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nfunction isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n}\n\nfunction ObjectKeys(obj) {\n if (!(obj instanceof Object)) return [];\n if (Object.keys) {\n return Object.keys(obj);\n } else {\n var keys = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n return keys;\n }\n}\n\nfunction ArrayFrom(arrLike) {\n var len = arrLike.length;\n var list = [];\n for (var i = 0; i < len; i++) {\n list.push(arrLike[i]);\n }\n return list;\n}\n\nfunction noop() {}\n\nvar ImageCache = function () {\n function ImageCache(_ref) {\n var max = _ref.max;\n classCallCheck(this, ImageCache);\n\n this.options = {\n max: max || 100\n };\n this._caches = [];\n }\n\n createClass(ImageCache, [{\n key: 'has',\n value: function has(key) {\n return this._caches.indexOf(key) > -1;\n }\n }, {\n key: 'add',\n value: function add(key) {\n if (this.has(key)) return;\n this._caches.push(key);\n if (this._caches.length > this.options.max) {\n this.free();\n }\n }\n }, {\n key: 'free',\n value: function free() {\n this._caches.shift();\n }\n }]);\n return ImageCache;\n}();\n\n// el: {\n// state,\n// src,\n// error,\n// loading\n// }\n\nvar ReactiveListener = function () {\n function ReactiveListener(_ref) {\n var el = _ref.el,\n src = _ref.src,\n error = _ref.error,\n loading = _ref.loading,\n bindType = _ref.bindType,\n $parent = _ref.$parent,\n options = _ref.options,\n elRenderer = _ref.elRenderer,\n imageCache = _ref.imageCache;\n classCallCheck(this, ReactiveListener);\n\n this.el = el;\n this.src = src;\n this.error = error;\n this.loading = loading;\n this.bindType = bindType;\n this.attempt = 0;\n\n this.naturalHeight = 0;\n this.naturalWidth = 0;\n\n this.options = options;\n\n this.rect = null;\n\n this.$parent = $parent;\n this.elRenderer = elRenderer;\n this._imageCache = imageCache;\n this.performanceData = {\n init: Date.now(),\n loadStart: 0,\n loadEnd: 0\n };\n\n this.filter();\n this.initState();\n this.render('loading', false);\n }\n\n /*\n * init listener state\n * @return\n */\n\n\n createClass(ReactiveListener, [{\n key: 'initState',\n value: function initState() {\n if ('dataset' in this.el) {\n this.el.dataset.src = this.src;\n } else {\n this.el.setAttribute('data-src', this.src);\n }\n\n this.state = {\n loading: false,\n error: false,\n loaded: false,\n rendered: false\n };\n }\n\n /*\n * record performance\n * @return\n */\n\n }, {\n key: 'record',\n value: function record(event) {\n this.performanceData[event] = Date.now();\n }\n\n /*\n * update image listener data\n * @param {String} image uri\n * @param {String} loading image uri\n * @param {String} error image uri\n * @return\n */\n\n }, {\n key: 'update',\n value: function update(_ref2) {\n var src = _ref2.src,\n loading = _ref2.loading,\n error = _ref2.error;\n\n var oldSrc = this.src;\n this.src = src;\n this.loading = loading;\n this.error = error;\n this.filter();\n if (oldSrc !== this.src) {\n this.attempt = 0;\n this.initState();\n }\n }\n\n /*\n * get el node rect\n * @return\n */\n\n }, {\n key: 'getRect',\n value: function getRect() {\n this.rect = this.el.getBoundingClientRect();\n }\n\n /*\n * check el is in view\n * @return {Boolean} el is in view\n */\n\n }, {\n key: 'checkInView',\n value: function checkInView() {\n this.getRect();\n return this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0;\n }\n\n /*\n * listener filter\n */\n\n }, {\n key: 'filter',\n value: function filter() {\n var _this = this;\n\n ObjectKeys(this.options.filter).map(function (key) {\n _this.options.filter[key](_this, _this.options);\n });\n }\n\n /*\n * render loading first\n * @params cb:Function\n * @return\n */\n\n }, {\n key: 'renderLoading',\n value: function renderLoading(cb) {\n var _this2 = this;\n\n this.state.loading = true;\n loadImageAsync({\n src: this.loading\n }, function (data) {\n _this2.render('loading', false);\n _this2.state.loading = false;\n cb();\n }, function () {\n // handler `loading image` load failed\n cb();\n _this2.state.loading = false;\n if (!_this2.options.silent) console.warn('VueLazyload log: load failed with loading image(' + _this2.loading + ')');\n });\n }\n\n /*\n * try load image and render it\n * @return\n */\n\n }, {\n key: 'load',\n value: function load() {\n var _this3 = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.attempt > this.options.attempt - 1 && this.state.error) {\n if (!this.options.silent) console.log('VueLazyload log: ' + this.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n if (this.state.rendered && this.state.loaded) return;\n if (this._imageCache.has(this.src)) {\n this.state.loaded = true;\n this.render('loaded', true);\n this.state.rendered = true;\n return onFinish();\n }\n\n this.renderLoading(function () {\n _this3.attempt++;\n\n _this3.options.adapter['beforeLoad'] && _this3.options.adapter['beforeLoad'](_this3, _this3.options);\n _this3.record('loadStart');\n\n loadImageAsync({\n src: _this3.src\n }, function (data) {\n _this3.naturalHeight = data.naturalHeight;\n _this3.naturalWidth = data.naturalWidth;\n _this3.state.loaded = true;\n _this3.state.error = false;\n _this3.record('loadEnd');\n _this3.render('loaded', false);\n _this3.state.rendered = true;\n _this3._imageCache.add(_this3.src);\n onFinish();\n }, function (err) {\n !_this3.options.silent && console.error(err);\n _this3.state.error = true;\n _this3.state.loaded = false;\n _this3.render('error', false);\n });\n });\n }\n\n /*\n * render image\n * @param {String} state to render // ['loading', 'src', 'error']\n * @param {String} is form cache\n * @return\n */\n\n }, {\n key: 'render',\n value: function render(state, cache) {\n this.elRenderer(this, state, cache);\n }\n\n /*\n * output performance data\n * @return {Object} performance data\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var state = 'loading';\n var time = 0;\n\n if (this.state.loaded) {\n state = 'loaded';\n time = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1000;\n }\n\n if (this.state.error) state = 'error';\n\n return {\n src: this.src,\n state: state,\n time: time\n };\n }\n\n /*\n * $destroy\n * @return\n */\n\n }, {\n key: '$destroy',\n value: function $destroy() {\n this.el = null;\n this.src = null;\n this.error = null;\n this.loading = null;\n this.bindType = null;\n this.attempt = 0;\n }\n }]);\n return ReactiveListener;\n}();\n\nvar DEFAULT_URL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nvar DEFAULT_EVENTS = ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'];\nvar DEFAULT_OBSERVER_OPTIONS = {\n rootMargin: '0px',\n threshold: 0\n};\n\nvar Lazy = function (Vue) {\n return function () {\n function Lazy(_ref) {\n var preLoad = _ref.preLoad,\n error = _ref.error,\n throttleWait = _ref.throttleWait,\n preLoadTop = _ref.preLoadTop,\n dispatchEvent = _ref.dispatchEvent,\n loading = _ref.loading,\n attempt = _ref.attempt,\n _ref$silent = _ref.silent,\n silent = _ref$silent === undefined ? true : _ref$silent,\n scale = _ref.scale,\n listenEvents = _ref.listenEvents,\n hasbind = _ref.hasbind,\n filter = _ref.filter,\n adapter = _ref.adapter,\n observer = _ref.observer,\n observerOptions = _ref.observerOptions;\n classCallCheck(this, Lazy);\n\n this.version = '1.3.3';\n this.mode = modeType.event;\n this.ListenerQueue = [];\n this.TargetIndex = 0;\n this.TargetQueue = [];\n this.options = {\n silent: silent,\n dispatchEvent: !!dispatchEvent,\n throttleWait: throttleWait || 200,\n preLoad: preLoad || 1.3,\n preLoadTop: preLoadTop || 0,\n error: error || DEFAULT_URL,\n loading: loading || DEFAULT_URL,\n attempt: attempt || 3,\n scale: scale || getDPR(scale),\n ListenEvents: listenEvents || DEFAULT_EVENTS,\n hasbind: false,\n supportWebp: supportWebp(),\n filter: filter || {},\n adapter: adapter || {},\n observer: !!observer,\n observerOptions: observerOptions || DEFAULT_OBSERVER_OPTIONS\n };\n this._initEvent();\n this._imageCache = new ImageCache({ max: 200 });\n this.lazyLoadHandler = throttle(this._lazyLoadHandler.bind(this), this.options.throttleWait);\n\n this.setMode(this.options.observer ? modeType.observer : modeType.event);\n }\n\n /**\n * update config\n * @param {Object} config params\n * @return\n */\n\n\n createClass(Lazy, [{\n key: 'config',\n value: function config() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n assignDeep(this.options, options);\n }\n\n /**\n * output listener's load performance\n * @return {Array}\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var list = [];\n\n this.ListenerQueue.map(function (item) {\n list.push(item.performance());\n });\n\n return list;\n }\n\n /*\n * add lazy component to queue\n * @param {Vue} vm lazy component instance\n * @return\n */\n\n }, {\n key: 'addLazyBox',\n value: function addLazyBox(vm) {\n this.ListenerQueue.push(vm);\n if (inBrowser) {\n this._addListenerTarget(window);\n this._observer && this._observer.observe(vm.el);\n if (vm.$el && vm.$el.parentNode) {\n this._addListenerTarget(vm.$el.parentNode);\n }\n }\n }\n\n /*\n * add image listener to queue\n * @param {DOM} el\n * @param {object} binding vue directive binding\n * @param {vnode} vnode vue directive vnode\n * @return\n */\n\n }, {\n key: 'add',\n value: function add(el, binding, vnode) {\n var _this = this;\n\n if (some(this.ListenerQueue, function (item) {\n return item.el === el;\n })) {\n this.update(el, binding);\n return Vue.nextTick(this.lazyLoadHandler);\n }\n\n var _valueFormatter2 = this._valueFormatter(binding.value),\n src = _valueFormatter2.src,\n loading = _valueFormatter2.loading,\n error = _valueFormatter2.error;\n\n Vue.nextTick(function () {\n src = getBestSelectionFromSrcset(el, _this.options.scale) || src;\n _this._observer && _this._observer.observe(el);\n\n var container = Object.keys(binding.modifiers)[0];\n var $parent = void 0;\n\n if (container) {\n $parent = vnode.context.$refs[container];\n // if there is container passed in, try ref first, then fallback to getElementById to support the original usage\n $parent = $parent ? $parent.$el || $parent : document.getElementById(container);\n }\n\n if (!$parent) {\n $parent = scrollParent(el);\n }\n\n var newListener = new ReactiveListener({\n bindType: binding.arg,\n $parent: $parent,\n el: el,\n loading: loading,\n error: error,\n src: src,\n elRenderer: _this._elRenderer.bind(_this),\n options: _this.options,\n imageCache: _this._imageCache\n });\n\n _this.ListenerQueue.push(newListener);\n\n if (inBrowser) {\n _this._addListenerTarget(window);\n _this._addListenerTarget($parent);\n }\n\n _this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this.lazyLoadHandler();\n });\n });\n }\n\n /**\n * update image src\n * @param {DOM} el\n * @param {object} vue directive binding\n * @return\n */\n\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var _this2 = this;\n\n var _valueFormatter3 = this._valueFormatter(binding.value),\n src = _valueFormatter3.src,\n loading = _valueFormatter3.loading,\n error = _valueFormatter3.error;\n\n src = getBestSelectionFromSrcset(el, this.options.scale) || src;\n\n var exist = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (!exist) {\n this.add(el, binding, vnode);\n } else {\n exist.update({\n src: src,\n loading: loading,\n error: error\n });\n }\n if (this._observer) {\n this._observer.unobserve(el);\n this._observer.observe(el);\n }\n this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this2.lazyLoadHandler();\n });\n }\n\n /**\n * remove listener form list\n * @param {DOM} el\n * @return\n */\n\n }, {\n key: 'remove',\n value: function remove$$1(el) {\n if (!el) return;\n this._observer && this._observer.unobserve(el);\n var existItem = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (existItem) {\n this._removeListenerTarget(existItem.$parent);\n this._removeListenerTarget(window);\n remove(this.ListenerQueue, existItem);\n existItem.$destroy();\n }\n }\n\n /*\n * remove lazy components form list\n * @param {Vue} vm Vue instance\n * @return\n */\n\n }, {\n key: 'removeComponent',\n value: function removeComponent(vm) {\n if (!vm) return;\n remove(this.ListenerQueue, vm);\n this._observer && this._observer.unobserve(vm.el);\n if (vm.$parent && vm.$el.parentNode) {\n this._removeListenerTarget(vm.$el.parentNode);\n }\n this._removeListenerTarget(window);\n }\n }, {\n key: 'setMode',\n value: function setMode(mode) {\n var _this3 = this;\n\n if (!hasIntersectionObserver && mode === modeType.observer) {\n mode = modeType.event;\n }\n\n this.mode = mode; // event or observer\n\n if (mode === modeType.event) {\n if (this._observer) {\n this.ListenerQueue.forEach(function (listener) {\n _this3._observer.unobserve(listener.el);\n });\n this._observer = null;\n }\n\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, true);\n });\n } else {\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, false);\n });\n this._initIntersectionObserver();\n }\n }\n\n /*\n *** Private functions ***\n */\n\n /*\n * add listener target\n * @param {DOM} el listener target\n * @return\n */\n\n }, {\n key: '_addListenerTarget',\n value: function _addListenerTarget(el) {\n if (!el) return;\n var target = find(this.TargetQueue, function (target) {\n return target.el === el;\n });\n if (!target) {\n target = {\n el: el,\n id: ++this.TargetIndex,\n childrenCount: 1,\n listened: true\n };\n this.mode === modeType.event && this._initListen(target.el, true);\n this.TargetQueue.push(target);\n } else {\n target.childrenCount++;\n }\n return this.TargetIndex;\n }\n\n /*\n * remove listener target or reduce target childrenCount\n * @param {DOM} el or window\n * @return\n */\n\n }, {\n key: '_removeListenerTarget',\n value: function _removeListenerTarget(el) {\n var _this4 = this;\n\n this.TargetQueue.forEach(function (target, index) {\n if (target.el === el) {\n target.childrenCount--;\n if (!target.childrenCount) {\n _this4._initListen(target.el, false);\n _this4.TargetQueue.splice(index, 1);\n target = null;\n }\n }\n });\n }\n\n /*\n * add or remove eventlistener\n * @param {DOM} el DOM or Window\n * @param {boolean} start flag\n * @return\n */\n\n }, {\n key: '_initListen',\n value: function _initListen(el, start) {\n var _this5 = this;\n\n this.options.ListenEvents.forEach(function (evt) {\n return _[start ? 'on' : 'off'](el, evt, _this5.lazyLoadHandler);\n });\n }\n }, {\n key: '_initEvent',\n value: function _initEvent() {\n var _this6 = this;\n\n this.Event = {\n listeners: {\n loading: [],\n loaded: [],\n error: []\n }\n };\n\n this.$on = function (event, func) {\n if (!_this6.Event.listeners[event]) _this6.Event.listeners[event] = [];\n _this6.Event.listeners[event].push(func);\n };\n\n this.$once = function (event, func) {\n var vm = _this6;\n function on() {\n vm.$off(event, on);\n func.apply(vm, arguments);\n }\n _this6.$on(event, on);\n };\n\n this.$off = function (event, func) {\n if (!func) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].length = 0;\n return;\n }\n remove(_this6.Event.listeners[event], func);\n };\n\n this.$emit = function (event, context, inCache) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].forEach(function (func) {\n return func(context, inCache);\n });\n };\n }\n\n /**\n * find nodes which in viewport and trigger load\n * @return\n */\n\n }, {\n key: '_lazyLoadHandler',\n value: function _lazyLoadHandler() {\n var _this7 = this;\n\n var freeList = [];\n this.ListenerQueue.forEach(function (listener, index) {\n if (!listener.el || !listener.el.parentNode) {\n freeList.push(listener);\n }\n var catIn = listener.checkInView();\n if (!catIn) return;\n listener.load();\n });\n freeList.forEach(function (item) {\n remove(_this7.ListenerQueue, item);\n item.$destroy();\n });\n }\n /**\n * init IntersectionObserver\n * set mode to observer\n * @return\n */\n\n }, {\n key: '_initIntersectionObserver',\n value: function _initIntersectionObserver() {\n var _this8 = this;\n\n if (!hasIntersectionObserver) return;\n this._observer = new IntersectionObserver(this._observerHandler.bind(this), this.options.observerOptions);\n if (this.ListenerQueue.length) {\n this.ListenerQueue.forEach(function (listener) {\n _this8._observer.observe(listener.el);\n });\n }\n }\n\n /**\n * init IntersectionObserver\n * @return\n */\n\n }, {\n key: '_observerHandler',\n value: function _observerHandler(entries, observer) {\n var _this9 = this;\n\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n _this9.ListenerQueue.forEach(function (listener) {\n if (listener.el === entry.target) {\n if (listener.state.loaded) return _this9._observer.unobserve(listener.el);\n listener.load();\n }\n });\n }\n });\n }\n\n /**\n * set element attribute with image'url and state\n * @param {object} lazyload listener object\n * @param {string} state will be rendered\n * @param {bool} inCache is rendered from cache\n * @return\n */\n\n }, {\n key: '_elRenderer',\n value: function _elRenderer(listener, state, cache) {\n if (!listener.el) return;\n var el = listener.el,\n bindType = listener.bindType;\n\n\n var src = void 0;\n switch (state) {\n case 'loading':\n src = listener.loading;\n break;\n case 'error':\n src = listener.error;\n break;\n default:\n src = listener.src;\n break;\n }\n\n if (bindType) {\n el.style[bindType] = 'url(\"' + src + '\")';\n } else if (el.getAttribute('src') !== src) {\n el.setAttribute('src', src);\n }\n\n el.setAttribute('lazy', state);\n\n this.$emit(state, listener, cache);\n this.options.adapter[state] && this.options.adapter[state](listener, this.options);\n\n if (this.options.dispatchEvent) {\n var event = new CustomEvent(state, {\n detail: listener\n });\n el.dispatchEvent(event);\n }\n }\n\n /**\n * generate loading loaded error image url\n * @param {string} image's src\n * @return {object} image's loading, loaded, error url\n */\n\n }, {\n key: '_valueFormatter',\n value: function _valueFormatter(value) {\n var src = value;\n var loading = this.options.loading;\n var error = this.options.error;\n\n // value is object\n if (isObject(value)) {\n if (!value.src && !this.options.silent) console.error('Vue Lazyload warning: miss src with ' + value);\n src = value.src;\n loading = value.loading || this.options.loading;\n error = value.error || this.options.error;\n }\n return {\n src: src,\n loading: loading,\n error: error\n };\n }\n }]);\n return Lazy;\n }();\n};\n\nvar LazyComponent = (function (lazy) {\n return {\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render(h) {\n if (this.show === false) {\n return h(this.tag);\n }\n return h(this.tag, null, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n state: {\n loaded: false\n },\n rect: {},\n show: false\n };\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazy.addLazyBox(this);\n lazy.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazy.removeComponent(this);\n },\n\n methods: {\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazy.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazy.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n this.show = true;\n this.state.loaded = true;\n this.$emit('show', this);\n },\n destroy: function destroy() {\n return this.$destroy;\n }\n }\n };\n});\n\nvar LazyContainerMananger = function () {\n function LazyContainerMananger(_ref) {\n var lazy = _ref.lazy;\n classCallCheck(this, LazyContainerMananger);\n\n this.lazy = lazy;\n lazy.lazyContainerMananger = this;\n this._queue = [];\n }\n\n createClass(LazyContainerMananger, [{\n key: 'bind',\n value: function bind(el, binding, vnode) {\n var container = new LazyContainer$1({ el: el, binding: binding, vnode: vnode, lazy: this.lazy });\n this._queue.push(container);\n }\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.update({ el: el, binding: binding, vnode: vnode });\n }\n }, {\n key: 'unbind',\n value: function unbind(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.clear();\n remove(this._queue, container);\n }\n }]);\n return LazyContainerMananger;\n}();\n\nvar defaultOptions = {\n selector: 'img'\n};\n\nvar LazyContainer$1 = function () {\n function LazyContainer(_ref2) {\n var el = _ref2.el,\n binding = _ref2.binding,\n vnode = _ref2.vnode,\n lazy = _ref2.lazy;\n classCallCheck(this, LazyContainer);\n\n this.el = null;\n this.vnode = vnode;\n this.binding = binding;\n this.options = {};\n this.lazy = lazy;\n\n this._queue = [];\n this.update({ el: el, binding: binding });\n }\n\n createClass(LazyContainer, [{\n key: 'update',\n value: function update(_ref3) {\n var _this = this;\n\n var el = _ref3.el,\n binding = _ref3.binding;\n\n this.el = el;\n this.options = assignDeep({}, defaultOptions, binding.value);\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n _this.lazy.add(el, assignDeep({}, _this.binding, {\n value: {\n src: 'dataset' in el ? el.dataset.src : el.getAttribute('data-src'),\n error: ('dataset' in el ? el.dataset.error : el.getAttribute('data-error')) || _this.options.error,\n loading: ('dataset' in el ? el.dataset.loading : el.getAttribute('data-loading')) || _this.options.loading\n }\n }), _this.vnode);\n });\n }\n }, {\n key: 'getImgs',\n value: function getImgs() {\n return ArrayFrom(this.el.querySelectorAll(this.options.selector));\n }\n }, {\n key: 'clear',\n value: function clear() {\n var _this2 = this;\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n return _this2.lazy.remove(el);\n });\n\n this.vnode = null;\n this.binding = null;\n this.lazy = null;\n }\n }]);\n return LazyContainer;\n}();\n\nvar LazyImage = (function (lazyManager) {\n return {\n props: {\n src: [String, Object],\n tag: {\n type: String,\n default: 'img'\n }\n },\n render: function render(h) {\n return h(this.tag, {\n attrs: {\n src: this.renderSrc\n }\n }, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n options: {\n src: '',\n error: '',\n loading: '',\n attempt: lazyManager.options.attempt\n },\n state: {\n loaded: false,\n error: false,\n attempt: 0\n },\n rect: {},\n renderSrc: ''\n };\n },\n\n watch: {\n src: function src() {\n this.init();\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n }\n },\n created: function created() {\n this.init();\n this.renderSrc = this.options.loading;\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazyManager.removeComponent(this);\n },\n\n methods: {\n init: function init() {\n var _lazyManager$_valueFo = lazyManager._valueFormatter(this.src),\n src = _lazyManager$_valueFo.src,\n loading = _lazyManager$_valueFo.loading,\n error = _lazyManager$_valueFo.error;\n\n this.state.loaded = false;\n this.options.src = src;\n this.options.error = error;\n this.options.loading = loading;\n this.renderSrc = this.options.loading;\n },\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazyManager.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazyManager.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n var _this = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.state.attempt > this.options.attempt - 1 && this.state.error) {\n if (!lazyManager.options.silent) console.log('VueLazyload log: ' + this.options.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n var src = this.options.src;\n loadImageAsync({ src: src }, function (_ref) {\n var src = _ref.src;\n\n _this.renderSrc = src;\n _this.state.loaded = true;\n }, function (e) {\n _this.state.attempt++;\n _this.renderSrc = _this.options.error;\n _this.state.error = true;\n });\n }\n }\n };\n});\n\nvar index = {\n /*\n * install function\n * @param {Vue} Vue\n * @param {object} options lazyload options\n */\n install: function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n var lazyContainer = new LazyContainerMananger({ lazy: lazy });\n\n var isVue2 = Vue.version.split('.')[0] === '2';\n\n Vue.prototype.$Lazyload = lazy;\n\n if (options.lazyComponent) {\n Vue.component('lazy-component', LazyComponent(lazy));\n }\n\n if (options.lazyImage) {\n Vue.component('lazy-image', LazyImage(lazy));\n }\n\n if (isVue2) {\n Vue.directive('lazy', {\n bind: lazy.add.bind(lazy),\n update: lazy.update.bind(lazy),\n componentUpdated: lazy.lazyLoadHandler.bind(lazy),\n unbind: lazy.remove.bind(lazy)\n });\n Vue.directive('lazy-container', {\n bind: lazyContainer.bind.bind(lazyContainer),\n componentUpdated: lazyContainer.update.bind(lazyContainer),\n unbind: lazyContainer.unbind.bind(lazyContainer)\n });\n } else {\n Vue.directive('lazy', {\n bind: lazy.lazyLoadHandler.bind(lazy),\n update: function update(newValue, oldValue) {\n assignDeep(this.vm.$refs, this.vm.$els);\n lazy.add(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazy.remove(this.el);\n }\n });\n\n Vue.directive('lazy-container', {\n update: function update(newValue, oldValue) {\n lazyContainer.update(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazyContainer.unbind(this.el);\n }\n });\n }\n }\n};\n\nexport default index;\n","import Lazyload from 'vue-lazyload';\nLazyload.name = 'vue-lazyload';\nimport './lazyload.scss';\nexport default Lazyload;\n"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v2.3.4 - leftslip.css, 2e03fecba27c2ec4fc69, Thu Jul 15 2021 22:33:51 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v2.3.7 - leftslip.css, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
3
3
  * (c) 2017-2020 JDC
4
4
  * Released under the MIT License.
5
5
  */.nut-leftslip{position:relative;overflow:hidden}.nut-leftslip:first-child .nut-slip-main{border-top:1px solid #d8d8d8}.nut-leftslip .slip-main{padding:15px 10px;position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:#fff}.nut-leftslip .nut-leftslip-item{-webkit-transition:all .6s ease;-o-transition:all .6s ease;transition:all .6s ease}.nut-leftslip .delbtn{right:-52px;top:0;min-width:40px;background:#ff4949;color:#fff;padding:0 5px;font-size:14px}.nut-leftslip .delbtn,.nut-leftslip .delbtn span{position:absolute;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.nut-leftslip .delbtn span{right:0;width:50px}.nut-leftslip .nut-delet-btn{right:-50px;min-width:40px;background:#ff4949;color:#fff;padding:0 5px;font-size:14px}.nut-leftslip .nut-delet-btn,.nut-leftslip .slipbtns{position:absolute;top:0;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.nut-leftslip .slipbtns{right:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.nut-leftslip .slipbtns a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:40px;background:#ff4949;color:#fff;height:100%;padding:0 5px;font-size:14px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}