@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/video/video.vue?1706","webpack://[name]/./src/utils/throttle.js","webpack://[name]/./src/packages/video/video.vue?3796","webpack://[name]/src/packages/video/video.vue","webpack://[name]/./src/packages/video/video.vue","webpack://[name]/./src/packages/video/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","throttle","func","wait","type","previous","timeout","args","arguments","now","Date","apply","setTimeout","props","sources","Array","default","autoplay","volume","poster","loop","controls","muted","disabled","playsinline","touchPlay","preload","required","model","String","data","videoElm","initial","showToolbox","player","$player","pos","progressBar","progressElm","videoSet","loaded","displayTime","totalTime","progress","width","current","state","controlShow","vol","currentTime","fullScreen","playing","isLoading","isEnd","isError","isMuted","showTouchMask","computed","isDisabled","watch","handler","newValue","oldValue","$nextTick","immediate","val","mounted","init","methods","$el","getElementsByTagName","play","setAttribute","volumeHandle","customerInit","addEventListener","playEnded","getPlayTime","$progress","getBoundingClientRect","Math","round","$emit","handleError","handleMuted","controlBtnShow","document","webkitCancelFullScreen","webkitRequestFullScreen","percent","timeFormat","duration","floor","getLoadTime","getTime","len","touchSlidSrart","touchSlidMove","offsetX","setPlayTime","touchSlidEnd","retry","beforeDestroy","_vm","_h","$createElement","_c","_self","ref","staticClass","attrs","domProps","on","_l","source","src","_v","_e","directives","rawName","expression","class","_s","style","transform","$event","stopPropagation","preventDefault","Video","install","Vue","component"],"mappings":"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","file":"video/video.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(\"video\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"video\"] = factory();\n\telse\n\t\troot[\"video\"] = 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 = 165);\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:\"videocon\",staticClass:\"nut-video\"},[_c('video',{ref:\"video\",staticClass:\"nut-videoplayer\",attrs:{\"autoplay\":_vm.options.autoplay,\"loop\":_vm.options.loop,\"poster\":_vm.options.poster,\"controls\":_vm.options.controls,\"preload\":_vm.options.preload},domProps:{\"muted\":_vm.options.muted},on:{\"error\":_vm.handleError}},_vm._l((_vm.sources),function(source){return _c('source',{key:source.src,attrs:{\"src\":source.src,\"type\":source.type}})}),0),_vm._v(\" \"),(_vm.showToolbox && !_vm.isDisabled)?_c('div',{ref:\"touchMask\",staticClass:\"playing-mask\",on:{\"click\":_vm.play}}):_vm._e(),_vm._v(\" \"),(_vm.showToolbox && !_vm.isDisabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.state.playing),expression:\"!state.playing\"}],ref:\"palyBtn\",staticClass:\"nut-video-play-btn\",on:{\"click\":_vm.play}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showToolbox && !_vm.isDisabled),expression:\"showToolbox && !isDisabled\"}],staticClass:\"nut-video-controller\",class:{ 'show-control': !_vm.state.playing, 'hide-control': _vm.state.playing }},[_c('div',{staticClass:\"control-play-btn\",on:{\"click\":_vm.play}}),_vm._v(\" \"),_c('div',{staticClass:\"current-time\"},[_vm._v(_vm._s(_vm.videoSet.displayTime))]),_vm._v(\" \"),_c('div',{staticClass:\"progress-container\"},[_c('div',{ref:\"progressBar\",staticClass:\"progress\"},[_c('div',{staticClass:\"buffered\",style:({ width: ((_vm.videoSet.loaded) + \"%\") })}),_vm._v(\" \"),_c('div',{staticClass:\"video-ball\",style:({ transform: (\"translate3d(\" + (_vm.videoSet.progress.current) + \"px, -50%, 0)\") }),on:{\"touchmove\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.touchSlidMove($event)},\"touchstart\":function($event){$event.stopPropagation();return _vm.touchSlidSrart($event)},\"touchend\":function($event){$event.stopPropagation();return _vm.touchSlidEnd($event)}}},[_c('div',{staticClass:\"move-handle\"})]),_vm._v(\" \"),_c('div',{ref:\"playedBar\",staticClass:\"played\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"duration-time\"},[_vm._v(_vm._s(_vm.videoSet.totalTime))]),_vm._v(\" \"),_c('div',{staticClass:\"volume\",class:{ muted: _vm.state.isMuted },on:{\"click\":_vm.handleMuted}}),_vm._v(\" \"),_c('div',{staticClass:\"fullscreen-icon\",on:{\"click\":_vm.fullScreen}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.isError),expression:\"state.isError\"}],staticClass:\"nut-video-error\"},[_c('p',{staticClass:\"lose\"},[_vm._v(\"视频加载失败\")]),_vm._v(\" \"),_c('p',{staticClass:\"retry\",on:{\"click\":_vm.retry}},[_vm._v(\"点击重试\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @desc 函数节流\n * @param func 函数\n * @param wait 延迟执行毫秒数\n * @param type 1 表时间戳版,2 表定时器版\n */\nexport const throttle = (func, wait, type) => {\n if (type === 1) {\n var previous = 0;\n } else if (type === 2) {\n var timeout;\n }\n return function() {\n let context = this;\n let args = arguments;\n if (type === 1) {\n let now = Date.now();\n\n if (now - previous > wait) {\n func.apply(context, args);\n previous = now;\n }\n } else if (type === 2) {\n if (!timeout) {\n timeout = setTimeout(() => {\n timeout = null;\n func.apply(context, args);\n }, wait);\n }\n }\n };\n};\n","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!./video.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!./video.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-video\" ref=\"videocon\">\n <video\n ref=\"video\"\n class=\"nut-videoplayer\"\n :muted=\"options.muted\"\n :autoplay=\"options.autoplay\"\n :loop=\"options.loop\"\n :poster=\"options.poster\"\n :controls=\"options.controls\"\n :preload=\"options.preload\"\n @error=\"handleError\"\n >\n <source v-for=\"source in sources\" :src=\"source.src\" :type=\"source.type\" :key=\"source.src\" />\n </video>\n <div class=\"playing-mask\" ref=\"touchMask\" v-if=\"showToolbox && !isDisabled\" @click=\"play\"></div>\n <div class=\"nut-video-play-btn\" v-if=\"showToolbox && !isDisabled\" ref=\"palyBtn\" v-show=\"!state.playing\" @click=\"play\"></div>\n <div class=\"nut-video-controller\" v-show=\"showToolbox && !isDisabled\" :class=\"{ 'show-control': !state.playing, 'hide-control': state.playing }\">\n <div class=\"control-play-btn\" @click=\"play\"></div>\n <div class=\"current-time\">{{ videoSet.displayTime }}</div>\n <div class=\"progress-container\">\n <div class=\"progress\" ref=\"progressBar\">\n <div class=\"buffered\" :style=\"{ width: `${videoSet.loaded}%` }\"></div>\n <div\n class=\"video-ball\"\n :style=\"{ transform: `translate3d(${videoSet.progress.current}px, -50%, 0)` }\"\n @touchmove.stop.prevent=\"touchSlidMove($event)\"\n @touchstart.stop=\"touchSlidSrart($event)\"\n @touchend.stop=\"touchSlidEnd($event)\"\n >\n <div class=\"move-handle\"></div>\n </div>\n <div class=\"played\" ref=\"playedBar\"></div>\n </div>\n </div>\n <div class=\"duration-time\">{{ videoSet.totalTime }}</div>\n <div class=\"volume\" @click=\"handleMuted\" :class=\"{ muted: state.isMuted }\"></div>\n <div class=\"fullscreen-icon\" @click=\"fullScreen\"></div>\n </div>\n <!-- 错误弹窗 -->\n <div class=\"nut-video-error\" v-show=\"state.isError\">\n <p class=\"lose\">视频加载失败</p>\n <p class=\"retry\" @click=\"retry\">点击重试</p>\n </div>\n </div>\n</template>\n<script>\nimport { throttle } from '../../utils/throttle';\nexport default {\n name: 'nut-video',\n props: {\n sources: {\n type: Array,\n default() {\n return [];\n }\n },\n options: {\n type: Object,\n default() {\n return {\n autoplay: false, //是否自动播放\n volume: 0.5,\n poster: '',\n loop: false,\n controls: true,\n muted: false, //是否静音\n disabled: false, //禁止操作\n playsinline: false, //行内展示\n touchPlay: false,\n preload: ''\n };\n },\n required: true\n },\n model: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n videoElm: null,\n initial: true, //控制封面的显示\n showToolbox: false, //控制控制器和标题的显示\n // 视频容器元素\n player: {\n $player: null,\n pos: null\n },\n // progress进度条元素\n progressBar: {\n progressElm: null, // 进度条DOM对象\n pos: null\n },\n // video控制显示设置\n videoSet: {\n loaded: 0, // 缓存长度\n displayTime: '00:00', // 进度时间\n totalTime: '00:00', // 总时间\n progress: {\n width: 0, // 进度条长度\n current: 0 // 进度条当前位置\n }\n },\n state: {\n controlShow: true,\n vol: 0.5, //音量\n currentTime: 0, //当前时间\n fullScreen: false,\n playing: false, //是否正在播放\n isLoading: false,\n isEnd: false,\n isError: false,\n isMuted: false\n },\n showTouchMask: false\n };\n },\n computed: {\n isDisabled() {\n return this.options.disabled;\n }\n },\n watch: {\n sources: {\n handler(newValue, oldValue) {\n if (newValue && oldValue && newValue != oldValue) {\n this.$nextTick(() => {\n this.videoElm.load();\n });\n }\n },\n immediate: true\n },\n options: {\n handler(val) {\n this.state.isMuted = val.muted ? val.muted : false;\n },\n immediate: true\n }\n // model: {\n // handler(val) {\n // if (val) {\n // if (val == 'custom') {\n // this.state.controlShow = false;\n // this.showToolbox = this.options.controls ? true : false\n // }\n // } else {\n // this.showToolbox = false;\n // this.state.controlShow = this.options.controls ? true : false\n // }\n // },\n // immediate: true\n\n // }\n },\n mounted() {\n this.init();\n },\n methods: {\n init() {\n this.videoElm = this.$el.getElementsByTagName('video')[0];\n if (this.options.autoplay) {\n this.videoElm.play();\n }\n\n if (this.options.touchPlay) {\n this.showTouchMask = true;\n }\n if (this.options.playsinline) {\n this.videoElm.setAttribute('playsinline', this.options.playsinline);\n this.videoElm.setAttribute('webkit-playsinline', this.options.playsinline);\n this.videoElm.setAttribute('x5-playsinline', this.options.playsinline);\n this.videoElm.setAttribute('x5-video-player-type', 'h5');\n this.videoElm.setAttribute('x5-video-player-fullscreen', false);\n }\n this.volumeHandle();\n\n if (this.showToolbox) {\n this.customerInit();\n } else {\n this.videoElm.addEventListener('play', () => {\n this.state.playing = true;\n this.$emit('play', this.videoElm);\n });\n this.videoElm.addEventListener('pause', () => {\n this.state.playing = false;\n this.$emit('pause', this.videoElm);\n });\n this.videoElm.addEventListener('ended', this.playEnded);\n\n this.videoElm.addEventListener('timeupdate', throttle(this.getPlayTime, 100, 1));\n }\n },\n customerInit() {\n const $player = this.$el;\n const $progress = this.$el.getElementsByClassName('progress')[0];\n // 播放器位置\n this.player.$player = $player;\n this.progressBar.progressElm = $progress;\n // this.player.pos = $player.getBoundingClientRect();\n this.progressBar.pos = $progress.getBoundingClientRect();\n this.videoSet.progress.width = Math.round($progress.getBoundingClientRect().width);\n },\n play() {\n if (this.options.autoplay && this.options.disabled) {\n this.state.playing = true;\n // this.state.controlShow = false\n return false;\n }\n this.state.playing = !this.state.playing;\n if (this.videoElm) {\n // 播放状态\n if (this.state.playing) {\n try {\n this.videoElm.play();\n // 监听缓存进度\n this.videoElm.addEventListener('progress', e => {\n this.getLoadTime();\n });\n // 监听播放进度\n this.videoElm.addEventListener('timeupdate', throttle(this.getPlayTime, 100, 1));\n // 监听结束\n this.videoElm.addEventListener('ended', this.playEnded);\n this.$emit('play', this.videoElm);\n } catch (e) {\n // 捕获url异常出现的错误\n this.handleError();\n }\n }\n // 停止状态\n else {\n this.videoElm.pause();\n this.$emit('pause', this.videoElm);\n }\n }\n },\n // 音量控制\n volumeHandle() {\n this.state.vol = this.options.volume;\n },\n // 静音控制\n handleMuted() {\n this.state.isMuted = !this.state.isMuted;\n this.videoElm.muted = this.state.isMuted;\n },\n playEnded() {\n this.state.playing = false;\n this.state.isEnd = true;\n this.state.controlBtnShow = true;\n this.videoSet.displayTime = '00:00';\n this.videoSet.progress.current = 0;\n this.videoElm.currentTime = 0;\n this.$emit('playend', this.videoElm);\n },\n // 数据加载出错\n handleError() {\n // console.log('error')\n this.state.isError = true;\n },\n\n fullScreen() {\n if (!this.state.fullScreen) {\n this.state.fullScreen = true;\n this.videoElm.webkitRequestFullScreen();\n } else {\n this.state.fullScreen = false;\n document.webkitCancelFullScreen();\n }\n // setTimeout(this.initVideo, 200);\n },\n // 获取播放时间\n getPlayTime() {\n const percent = this.videoElm.currentTime / this.videoElm.duration;\n this.videoSet.progress.current = Math.round(this.videoSet.progress.width * percent);\n\n // 赋值时长\n this.videoSet.totalTime = this.timeFormat(this.videoElm.duration);\n this.videoSet.displayTime = this.timeFormat(this.videoElm.currentTime);\n },\n timeFormat(t) {\n var h = Math.floor(t / 3600);\n if (h < 10) {\n h = '0' + h;\n }\n var m = Math.floor((t % 3600) / 60);\n if (m < 10) {\n m = '0' + m;\n }\n var s = Math.round((t % 3600) % 60);\n if (s < 10) {\n s = '0' + s;\n }\n var str = '';\n if (h != 0) {\n str = h + ':' + m + ':' + s;\n } else {\n str = m + ':' + s;\n }\n return str;\n },\n // 获取缓存时间\n getLoadTime() {\n if (this.videoSet.loaded) this.videoSet.loaded = (this.videoElm.buffered.end(0) / this.videoElm.duration) * 100;\n },\n getTime() {\n this.videoElm.addEventListener('durationchange', e => {\n // console.log(e);\n });\n this.videoElm.addEventListener('progress', e => {\n this.videoSet.loaded = (-1 + this.videoElm.buffered.end(0) / this.videoElm.duration) * 100;\n });\n this.videoSet.len = this.videoElm.duration;\n },\n // 拖动播放进度\n touchSlidSrart(e) {},\n touchSlidMove(e) {\n let currentX = e.targetTouches[0].pageX;\n let offsetX = currentX - this.progressBar.pos.left;\n // 边界检测\n if (offsetX <= 0) {\n offsetX = 0;\n }\n\n if (offsetX >= this.videoSet.progress.width) {\n offsetX = this.videoSet.progress.width;\n }\n this.videoSet.progress.current = offsetX;\n\n let percent = this.videoSet.progress.current / this.videoSet.progress.width;\n this.videoElm.duration && this.setPlayTime(percent, this.videoElm.duration);\n },\n touchSlidEnd(e) {\n let currentX = e.changedTouches[0].pageX;\n let offsetX = currentX - this.progressBar.pos.left;\n this.videoSet.progress.current = offsetX;\n // 这里的offsetX都是正数\n let percent = offsetX / this.videoSet.progress.width;\n this.videoElm.duration && this.setPlayTime(percent, this.videoElm.duration);\n },\n // 设置手动播放时间\n setPlayTime(percent, totalTime) {\n this.videoElm.currentTime = Math.floor(percent * totalTime);\n },\n // 点击重新加载\n retry() {\n // console.log('error');\n this.state.isError = false;\n this.init();\n }\n },\n beforeDestroy() {}\n};\n</script>\n","import { render, staticRenderFns } from \"./video.vue?vue&type=template&id=62e2def6&\"\nimport script from \"./video.vue?vue&type=script&lang=js&\"\nexport * from \"./video.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 Video from './video.vue';\nimport './video.scss';\n\nVideo.install = function(Vue) {\n Vue.component(Video.name, Video);\n};\n\nexport default Video;\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/video/video.vue?1706","webpack://[name]/./src/utils/throttle.js","webpack://[name]/./src/packages/video/video.vue?3796","webpack://[name]/src/packages/video/video.vue","webpack://[name]/./src/packages/video/video.vue","webpack://[name]/./src/packages/video/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","throttle","func","wait","type","previous","timeout","args","arguments","now","Date","apply","setTimeout","props","sources","Array","default","autoplay","volume","poster","loop","controls","muted","disabled","playsinline","touchPlay","preload","required","model","String","data","videoElm","initial","showToolbox","player","$player","pos","progressBar","progressElm","videoSet","loaded","displayTime","totalTime","progress","width","current","state","controlShow","vol","currentTime","fullScreen","playing","isLoading","isEnd","isError","isMuted","showTouchMask","computed","isDisabled","watch","handler","newValue","oldValue","$nextTick","immediate","val","mounted","init","methods","$el","getElementsByTagName","play","setAttribute","volumeHandle","customerInit","addEventListener","playEnded","getPlayTime","$progress","getBoundingClientRect","Math","round","$emit","handleError","pause","handleMuted","controlBtnShow","document","webkitCancelFullScreen","webkitRequestFullScreen","percent","timeFormat","duration","floor","getLoadTime","getTime","len","touchSlidSrart","touchSlidMove","offsetX","setPlayTime","touchSlidEnd","retry","beforeDestroy","_vm","_h","$createElement","_c","_self","ref","staticClass","attrs","domProps","on","_l","source","src","_v","_e","directives","rawName","expression","class","_s","style","transform","$event","stopPropagation","preventDefault","Video","install","Vue","component"],"mappings":";;;;;CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,QAAS,GAAIH,GACM,iBAAZC,QACdA,QAAe,MAAID,IAEnBD,EAAY,MAAIC,IARlB,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,iCC5EtC,SAASC,EACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGA,IAqBIC,EArBAC,EAAmC,mBAAlBT,EACjBA,EAAcS,QACdT,EAsDJ,GAnDIC,IACFQ,EAAQR,OAASA,EACjBQ,EAAQP,gBAAkBA,EAC1BO,EAAQC,WAAY,GAIlBP,IACFM,EAAQE,YAAa,GAInBN,IACFI,EAAQG,SAAW,UAAYP,GAI7BC,GACFE,EAAO,SAAUK,IAEfA,EACEA,GACClD,KAAKmD,QAAUnD,KAAKmD,OAAOC,YAC3BpD,KAAKqD,QAAUrD,KAAKqD,OAAOF,QAAUnD,KAAKqD,OAAOF,OAAOC,aAEZ,oBAAxBE,sBACrBJ,EAAUI,qBAGRb,GACFA,EAAalC,KAAKP,KAAMkD,GAGtBA,GAAWA,EAAQK,uBACrBL,EAAQK,sBAAsBC,IAAIb,IAKtCG,EAAQW,aAAeZ,GACdJ,IACTI,EAAOD,EACH,WACAH,EAAalC,KACXP,MACC8C,EAAQE,WAAahD,KAAKqD,OAASrD,MAAM0D,MAAMC,SAASC,aAG3DnB,GAGFI,EACF,GAAIC,EAAQE,WAAY,CAGtBF,EAAQe,cAAgBhB,EAExB,IAAIiB,EAAiBhB,EAAQR,OAC7BQ,EAAQR,OAAS,SAAmCyB,EAAGb,GAErD,OADAL,EAAKtC,KAAK2C,GACHY,EAAeC,EAAGb,QAEtB,CAEL,IAAIc,EAAWlB,EAAQmB,aACvBnB,EAAQmB,aAAeD,EACnB,GAAGE,OAAOF,EAAUnB,GACpB,CAACA,GAIT,MAAO,CACLlD,QAAS0C,EACTS,QAASA,GA/Fb,mC,8DCAA,ICMaqB,EAAW,SAACC,EAAMC,EAAMC,GACnC,GAAa,IAATA,EACF,IAAIC,EAAW,OACV,GAAa,IAATD,EACT,IAAIE,EAEN,OAAO,WACL,IAAItB,EAAUlD,KACVyE,EAAOC,UACX,GAAa,IAATJ,EAAY,CACd,IAAIK,EAAMC,KAAKD,MAEXA,EAAMJ,EAAWF,IACnBD,EAAKS,MAAM3B,EAASuB,GACpBF,EAAWI,QAEK,IAATL,IACJE,IACHA,EAAUM,YAAW,WACnBN,EAAU,KACVJ,EAAKS,MAAM3B,EAASuB,KACnBJ,OC3B+N,ECgD1O,CACE1D,KAAM,YACNoE,MAAO,CACLC,QAAS,CACPV,KAAMW,MACNC,QAFN,WAGQ,MAAO,KAGXpC,QAAS,CACPwB,KAAMxD,OACNoE,QAFN,WAGQ,MAAO,CACLC,UAAU,EACVC,OAAQ,GACRC,OAAQ,GACRC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,UAAU,EACVC,aAAa,EACbC,WAAW,EACXC,QAAS,KAGbC,UAAU,GAEZC,MAAO,CACLxB,KAAMyB,OACNb,QAAS,KAGbc,KAhCF,WAiCI,MAAO,CACLC,SAAU,KACVC,SAAS,EACTC,aAAa,EAEbC,OAAQ,CACNC,QAAS,KACTC,IAAK,MAGPC,YAAa,CACXC,YAAa,KACbF,IAAK,MAGPG,SAAU,CACRC,OAAQ,EACRC,YAAa,QACbC,UAAW,QACXC,SAAU,CACRC,MAAO,EACPC,QAAS,IAGbC,MAAO,CACLC,aAAa,EACbC,IAAK,GACLC,YAAa,EACbC,YAAY,EACZC,SAAS,EACTC,WAAW,EACXC,OAAO,EACPC,SAAS,EACTC,SAAS,GAEXC,eAAe,IAGnBC,SAAU,CACRC,WADJ,WAEM,OAAO5H,KAAK8C,QAAQ2C,WAGxBoC,MAAO,CACL7C,QAAS,CACP8C,QADN,SACA,gBACYC,GAAYC,GAAYD,GAAYC,GACtChI,KAAKiI,WAAU,WACb,EAAZ,oBAIMC,WAAW,GAEbpF,QAAS,CACPgF,QADN,SACA,GACQ9H,KAAKgH,MAAMS,UAAUU,EAAI3C,OAAQ2C,EAAI3C,OAEvC0C,WAAW,IAkBfE,QA7GF,WA8GIpI,KAAKqI,QAEPC,QAAS,CACPD,KADJ,WACA,WACMrI,KAAKiG,SAAWjG,KAAKuI,IAAIC,qBAAqB,SAAS,GACnDxI,KAAK8C,QAAQqC,UACfnF,KAAKiG,SAASwC,OAGZzI,KAAK8C,QAAQ6C,YACf3F,KAAK0H,eAAgB,GAEnB1H,KAAK8C,QAAQ4C,cACf1F,KAAKiG,SAASyC,aAAa,cAAe1I,KAAK8C,QAAQ4C,aACvD1F,KAAKiG,SAASyC,aAAa,qBAAsB1I,KAAK8C,QAAQ4C,aAC9D1F,KAAKiG,SAASyC,aAAa,iBAAkB1I,KAAK8C,QAAQ4C,aAC1D1F,KAAKiG,SAASyC,aAAa,uBAAwB,MACnD1I,KAAKiG,SAASyC,aAAa,8BAA8B,IAE3D1I,KAAK2I,eAED3I,KAAKmG,YACPnG,KAAK4I,gBAEL5I,KAAKiG,SAAS4C,iBAAiB,QAAQ,WACrC,EAAV,iBACU,EAAV,4BAEQ7I,KAAKiG,SAAS4C,iBAAiB,SAAS,WACtC,EAAV,iBACU,EAAV,6BAEQ7I,KAAKiG,SAAS4C,iBAAiB,QAAS7I,KAAK8I,WAE7C9I,KAAKiG,SAAS4C,iBAAiB,aAAc1E,EAASnE,KAAK+I,YAAa,IAAK,MAGjFH,aAnCJ,WAoCM,IAAN,WACA,iDAEM5I,KAAKoG,OAAOC,QAAUA,EACtBrG,KAAKuG,YAAYC,YAAcwC,EAE/BhJ,KAAKuG,YAAYD,IAAM0C,EAAUC,wBACjCjJ,KAAKyG,SAASI,SAASC,MAAQoC,KAAKC,MAAMH,EAAUC,wBAAwBnC,QAE9E2B,KA7CJ,WA6CA,WACM,GAAIzI,KAAK8C,QAAQqC,UAAYnF,KAAK8C,QAAQ2C,SAGxC,OAFAzF,KAAKgH,MAAMK,SAAU,GAEd,EAGT,GADArH,KAAKgH,MAAMK,SAAWrH,KAAKgH,MAAMK,QAC7BrH,KAAKiG,SAEP,GAAIjG,KAAKgH,MAAMK,QACb,IACErH,KAAKiG,SAASwC,OAEdzI,KAAKiG,SAAS4C,iBAAiB,YAAY,SAAvD,GACc,EAAd,iBAGY7I,KAAKiG,SAAS4C,iBAAiB,aAAc1E,EAASnE,KAAK+I,YAAa,IAAK,IAE7E/I,KAAKiG,SAAS4C,iBAAiB,QAAS7I,KAAK8I,WAC7C9I,KAAKoJ,MAAM,OAAQpJ,KAAKiG,UACpC,SAEYjG,KAAKqJ,mBAKPrJ,KAAKiG,SAASqD,QACdtJ,KAAKoJ,MAAM,QAASpJ,KAAKiG,WAK/B0C,aA/EJ,WAgFM3I,KAAKgH,MAAME,IAAMlH,KAAK8C,QAAQsC,QAGhCmE,YAnFJ,WAoFMvJ,KAAKgH,MAAMS,SAAWzH,KAAKgH,MAAMS,QACjCzH,KAAKiG,SAAST,MAAQxF,KAAKgH,MAAMS,SAEnCqB,UAvFJ,WAwFM9I,KAAKgH,MAAMK,SAAU,EACrBrH,KAAKgH,MAAMO,OAAQ,EACnBvH,KAAKgH,MAAMwC,gBAAiB,EAC5BxJ,KAAKyG,SAASE,YAAc,QAC5B3G,KAAKyG,SAASI,SAASE,QAAU,EACjC/G,KAAKiG,SAASkB,YAAc,EAC5BnH,KAAKoJ,MAAM,UAAWpJ,KAAKiG,WAG7BoD,YAjGJ,WAmGMrJ,KAAKgH,MAAMQ,SAAU,GAGvBJ,WAtGJ,WAuGWpH,KAAKgH,MAAMI,YAIdpH,KAAKgH,MAAMI,YAAa,EACxBqC,SAASC,2BAJT1J,KAAKgH,MAAMI,YAAa,EACxBpH,KAAKiG,SAAS0D,4BAQlBZ,YAjHJ,WAkHM,IAAN,mDACM/I,KAAKyG,SAASI,SAASE,QAAUmC,KAAKC,MAAMnJ,KAAKyG,SAASI,SAASC,MAAQ8C,GAG3E5J,KAAKyG,SAASG,UAAY5G,KAAK6J,WAAW7J,KAAKiG,SAAS6D,UACxD9J,KAAKyG,SAASE,YAAc3G,KAAK6J,WAAW7J,KAAKiG,SAASkB,cAE5D0C,WAzHJ,SAyHA,GACM,IAAI9F,EAAImF,KAAKa,MAAMzI,EAAI,MACnByC,EAAI,KACNA,EAAI,IAAMA,GAEZ,IAAIvD,EAAI0I,KAAKa,MAAM,EAAzB,SACUvJ,EAAI,KACNA,EAAI,IAAMA,GAEZ,IAAI2B,EAAI+G,KAAKC,MAAM,EAAzB,SACUhH,EAAI,KACNA,EAAI,IAAMA,GAQZ,OALS,GAAL4B,EACIA,EAAI,IAAMvD,EAAI,IAAM2B,EAEpB3B,EAAI,IAAM2B,GAKpB6H,YA/IJ,WAgJUhK,KAAKyG,SAASC,SAAQ1G,KAAKyG,SAASC,OAAS,KAAvD,sDAEIuD,QAlJJ,WAkJA,WACMjK,KAAKiG,SAAS4C,iBAAiB,kBAAkB,SAAvD,OAGM7I,KAAKiG,SAAS4C,iBAAiB,YAAY,SAAjD,GACQ,EAAR,0EAEM7I,KAAKyG,SAASyD,IAAMlK,KAAKiG,SAAS6D,UAGpCK,eA5JJ,SA4JA,KACIC,cA7JJ,SA6JA,GACM,IACN,EADA,yBACA,0BAEUC,GAAW,IACbA,EAAU,GAGRA,GAAWrK,KAAKyG,SAASI,SAASC,QACpCuD,EAAUrK,KAAKyG,SAASI,SAASC,OAEnC9G,KAAKyG,SAASI,SAASE,QAAUsD,EAEjC,IAAN,8DACMrK,KAAKiG,SAAS6D,UAAY9J,KAAKsK,YAAYV,EAAS5J,KAAKiG,SAAS6D,WAEpES,aA7KJ,SA6KA,GACM,IACN,EADA,0BACA,0BACMvK,KAAKyG,SAASI,SAASE,QAAUsD,EAEjC,IAAN,iCACMrK,KAAKiG,SAAS6D,UAAY9J,KAAKsK,YAAYV,EAAS5J,KAAKiG,SAAS6D,WAGpEQ,YAtLJ,SAsLA,KACMtK,KAAKiG,SAASkB,YAAc+B,KAAKa,MAAMH,EAAUhD,IAGnD4D,MA1LJ,WA4LMxK,KAAKgH,MAAMQ,SAAU,EACrBxH,KAAKqI,SAGToC,cAhTF,c,OC9Be,EAXC,YACd,GJRW,WAAa,IAAIC,EAAI1K,KAAS2K,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,IAAI,WAAWC,YAAY,aAAa,CAACH,EAAG,QAAQ,CAACE,IAAI,QAAQC,YAAY,kBAAkBC,MAAM,CAAC,SAAWP,EAAI5H,QAAQqC,SAAS,KAAOuF,EAAI5H,QAAQwC,KAAK,OAASoF,EAAI5H,QAAQuC,OAAO,SAAWqF,EAAI5H,QAAQyC,SAAS,QAAUmF,EAAI5H,QAAQ8C,SAASsF,SAAS,CAAC,MAAQR,EAAI5H,QAAQ0C,OAAO2F,GAAG,CAAC,MAAQT,EAAIrB,cAAcqB,EAAIU,GAAIV,EAAW,SAAE,SAASW,GAAQ,OAAOR,EAAG,SAAS,CAAClJ,IAAI0J,EAAOC,IAAIL,MAAM,CAAC,IAAMI,EAAOC,IAAI,KAAOD,EAAO/G,WAAU,GAAGoG,EAAIa,GAAG,KAAMb,EAAIvE,cAAgBuE,EAAI9C,WAAYiD,EAAG,MAAM,CAACE,IAAI,YAAYC,YAAY,eAAeG,GAAG,CAAC,MAAQT,EAAIjC,QAAQiC,EAAIc,KAAKd,EAAIa,GAAG,KAAMb,EAAIvE,cAAgBuE,EAAI9C,WAAYiD,EAAG,MAAM,CAACY,WAAW,CAAC,CAAC9K,KAAK,OAAO+K,QAAQ,SAASrK,OAAQqJ,EAAI1D,MAAMK,QAASsE,WAAW,mBAAmBZ,IAAI,UAAUC,YAAY,qBAAqBG,GAAG,CAAC,MAAQT,EAAIjC,QAAQiC,EAAIc,KAAKd,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACY,WAAW,CAAC,CAAC9K,KAAK,OAAO+K,QAAQ,SAASrK,MAAOqJ,EAAIvE,cAAgBuE,EAAI9C,WAAY+D,WAAW,+BAA+BX,YAAY,uBAAuBY,MAAM,CAAE,gBAAiBlB,EAAI1D,MAAMK,QAAS,eAAgBqD,EAAI1D,MAAMK,UAAW,CAACwD,EAAG,MAAM,CAACG,YAAY,mBAAmBG,GAAG,CAAC,MAAQT,EAAIjC,QAAQiC,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACN,EAAIa,GAAGb,EAAImB,GAAGnB,EAAIjE,SAASE,gBAAgB+D,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACE,IAAI,cAAcC,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,WAAWc,MAAM,CAAGhF,MAAS4D,EAAIjE,SAAe,OAAI,OAAUiE,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACG,YAAY,aAAac,MAAM,CAAGC,UAAY,eAAkBrB,EAAIjE,SAASI,SAAgB,QAAI,gBAAmBsE,GAAG,CAAC,UAAY,SAASa,GAAyD,OAAjDA,EAAOC,kBAAkBD,EAAOE,iBAAwBxB,EAAIN,cAAc4B,IAAS,WAAa,SAASA,GAAiC,OAAzBA,EAAOC,kBAAyBvB,EAAIP,eAAe6B,IAAS,SAAW,SAASA,GAAiC,OAAzBA,EAAOC,kBAAyBvB,EAAIH,aAAayB,MAAW,CAACnB,EAAG,MAAM,CAACG,YAAY,kBAAkBN,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACE,IAAI,YAAYC,YAAY,eAAeN,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACN,EAAIa,GAAGb,EAAImB,GAAGnB,EAAIjE,SAASG,cAAc8D,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACG,YAAY,SAASY,MAAM,CAAEpG,MAAOkF,EAAI1D,MAAMS,SAAU0D,GAAG,CAAC,MAAQT,EAAInB,eAAemB,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACG,YAAY,kBAAkBG,GAAG,CAAC,MAAQT,EAAItD,gBAAgBsD,EAAIa,GAAG,KAAKV,EAAG,MAAM,CAACY,WAAW,CAAC,CAAC9K,KAAK,OAAO+K,QAAQ,SAASrK,MAAOqJ,EAAI1D,MAAa,QAAE2E,WAAW,kBAAkBX,YAAY,mBAAmB,CAACH,EAAG,IAAI,CAACG,YAAY,QAAQ,CAACN,EAAIa,GAAG,YAAYb,EAAIa,GAAG,KAAKV,EAAG,IAAI,CAACG,YAAY,QAAQG,GAAG,CAAC,MAAQT,EAAIF,QAAQ,CAACE,EAAIa,GAAG,gBACnjF,IIUpB,EACA,KACA,KACA,M,eCXFY,EAAMC,QAAU,SAASC,GACvBA,EAAIC,UAAUH,EAAMxL,KAAMwL,IAGbA","file":"video/video.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(\"video\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"video\"] = factory();\n\telse\n\t\troot[\"video\"] = 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 = 166);\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:\"videocon\",staticClass:\"nut-video\"},[_c('video',{ref:\"video\",staticClass:\"nut-videoplayer\",attrs:{\"autoplay\":_vm.options.autoplay,\"loop\":_vm.options.loop,\"poster\":_vm.options.poster,\"controls\":_vm.options.controls,\"preload\":_vm.options.preload},domProps:{\"muted\":_vm.options.muted},on:{\"error\":_vm.handleError}},_vm._l((_vm.sources),function(source){return _c('source',{key:source.src,attrs:{\"src\":source.src,\"type\":source.type}})}),0),_vm._v(\" \"),(_vm.showToolbox && !_vm.isDisabled)?_c('div',{ref:\"touchMask\",staticClass:\"playing-mask\",on:{\"click\":_vm.play}}):_vm._e(),_vm._v(\" \"),(_vm.showToolbox && !_vm.isDisabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.state.playing),expression:\"!state.playing\"}],ref:\"palyBtn\",staticClass:\"nut-video-play-btn\",on:{\"click\":_vm.play}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showToolbox && !_vm.isDisabled),expression:\"showToolbox && !isDisabled\"}],staticClass:\"nut-video-controller\",class:{ 'show-control': !_vm.state.playing, 'hide-control': _vm.state.playing }},[_c('div',{staticClass:\"control-play-btn\",on:{\"click\":_vm.play}}),_vm._v(\" \"),_c('div',{staticClass:\"current-time\"},[_vm._v(_vm._s(_vm.videoSet.displayTime))]),_vm._v(\" \"),_c('div',{staticClass:\"progress-container\"},[_c('div',{ref:\"progressBar\",staticClass:\"progress\"},[_c('div',{staticClass:\"buffered\",style:({ width: ((_vm.videoSet.loaded) + \"%\") })}),_vm._v(\" \"),_c('div',{staticClass:\"video-ball\",style:({ transform: (\"translate3d(\" + (_vm.videoSet.progress.current) + \"px, -50%, 0)\") }),on:{\"touchmove\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.touchSlidMove($event)},\"touchstart\":function($event){$event.stopPropagation();return _vm.touchSlidSrart($event)},\"touchend\":function($event){$event.stopPropagation();return _vm.touchSlidEnd($event)}}},[_c('div',{staticClass:\"move-handle\"})]),_vm._v(\" \"),_c('div',{ref:\"playedBar\",staticClass:\"played\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"duration-time\"},[_vm._v(_vm._s(_vm.videoSet.totalTime))]),_vm._v(\" \"),_c('div',{staticClass:\"volume\",class:{ muted: _vm.state.isMuted },on:{\"click\":_vm.handleMuted}}),_vm._v(\" \"),_c('div',{staticClass:\"fullscreen-icon\",on:{\"click\":_vm.fullScreen}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.isError),expression:\"state.isError\"}],staticClass:\"nut-video-error\"},[_c('p',{staticClass:\"lose\"},[_vm._v(\"视频加载失败\")]),_vm._v(\" \"),_c('p',{staticClass:\"retry\",on:{\"click\":_vm.retry}},[_vm._v(\"点击重试\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @desc 函数节流\n * @param func 函数\n * @param wait 延迟执行毫秒数\n * @param type 1 表时间戳版,2 表定时器版\n */\nexport const throttle = (func, wait, type) => {\n if (type === 1) {\n var previous = 0;\n } else if (type === 2) {\n var timeout;\n }\n return function() {\n let context = this;\n let args = arguments;\n if (type === 1) {\n let now = Date.now();\n\n if (now - previous > wait) {\n func.apply(context, args);\n previous = now;\n }\n } else if (type === 2) {\n if (!timeout) {\n timeout = setTimeout(() => {\n timeout = null;\n func.apply(context, args);\n }, wait);\n }\n }\n };\n};\n","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!./video.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!./video.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-video\" ref=\"videocon\">\n <video\n ref=\"video\"\n class=\"nut-videoplayer\"\n :muted=\"options.muted\"\n :autoplay=\"options.autoplay\"\n :loop=\"options.loop\"\n :poster=\"options.poster\"\n :controls=\"options.controls\"\n :preload=\"options.preload\"\n @error=\"handleError\"\n >\n <source v-for=\"source in sources\" :src=\"source.src\" :type=\"source.type\" :key=\"source.src\" />\n </video>\n <div class=\"playing-mask\" ref=\"touchMask\" v-if=\"showToolbox && !isDisabled\" @click=\"play\"></div>\n <div class=\"nut-video-play-btn\" v-if=\"showToolbox && !isDisabled\" ref=\"palyBtn\" v-show=\"!state.playing\" @click=\"play\"></div>\n <div class=\"nut-video-controller\" v-show=\"showToolbox && !isDisabled\" :class=\"{ 'show-control': !state.playing, 'hide-control': state.playing }\">\n <div class=\"control-play-btn\" @click=\"play\"></div>\n <div class=\"current-time\">{{ videoSet.displayTime }}</div>\n <div class=\"progress-container\">\n <div class=\"progress\" ref=\"progressBar\">\n <div class=\"buffered\" :style=\"{ width: `${videoSet.loaded}%` }\"></div>\n <div\n class=\"video-ball\"\n :style=\"{ transform: `translate3d(${videoSet.progress.current}px, -50%, 0)` }\"\n @touchmove.stop.prevent=\"touchSlidMove($event)\"\n @touchstart.stop=\"touchSlidSrart($event)\"\n @touchend.stop=\"touchSlidEnd($event)\"\n >\n <div class=\"move-handle\"></div>\n </div>\n <div class=\"played\" ref=\"playedBar\"></div>\n </div>\n </div>\n <div class=\"duration-time\">{{ videoSet.totalTime }}</div>\n <div class=\"volume\" @click=\"handleMuted\" :class=\"{ muted: state.isMuted }\"></div>\n <div class=\"fullscreen-icon\" @click=\"fullScreen\"></div>\n </div>\n <!-- 错误弹窗 -->\n <div class=\"nut-video-error\" v-show=\"state.isError\">\n <p class=\"lose\">视频加载失败</p>\n <p class=\"retry\" @click=\"retry\">点击重试</p>\n </div>\n </div>\n</template>\n<script>\nimport { throttle } from '../../utils/throttle';\nexport default {\n name: 'nut-video',\n props: {\n sources: {\n type: Array,\n default() {\n return [];\n }\n },\n options: {\n type: Object,\n default() {\n return {\n autoplay: false, //是否自动播放\n volume: 0.5,\n poster: '',\n loop: false,\n controls: true,\n muted: false, //是否静音\n disabled: false, //禁止操作\n playsinline: false, //行内展示\n touchPlay: false,\n preload: ''\n };\n },\n required: true\n },\n model: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n videoElm: null,\n initial: true, //控制封面的显示\n showToolbox: false, //控制控制器和标题的显示\n // 视频容器元素\n player: {\n $player: null,\n pos: null\n },\n // progress进度条元素\n progressBar: {\n progressElm: null, // 进度条DOM对象\n pos: null\n },\n // video控制显示设置\n videoSet: {\n loaded: 0, // 缓存长度\n displayTime: '00:00', // 进度时间\n totalTime: '00:00', // 总时间\n progress: {\n width: 0, // 进度条长度\n current: 0 // 进度条当前位置\n }\n },\n state: {\n controlShow: true,\n vol: 0.5, //音量\n currentTime: 0, //当前时间\n fullScreen: false,\n playing: false, //是否正在播放\n isLoading: false,\n isEnd: false,\n isError: false,\n isMuted: false\n },\n showTouchMask: false\n };\n },\n computed: {\n isDisabled() {\n return this.options.disabled;\n }\n },\n watch: {\n sources: {\n handler(newValue, oldValue) {\n if (newValue && oldValue && newValue != oldValue) {\n this.$nextTick(() => {\n this.videoElm.load();\n });\n }\n },\n immediate: true\n },\n options: {\n handler(val) {\n this.state.isMuted = val.muted ? val.muted : false;\n },\n immediate: true\n }\n // model: {\n // handler(val) {\n // if (val) {\n // if (val == 'custom') {\n // this.state.controlShow = false;\n // this.showToolbox = this.options.controls ? true : false\n // }\n // } else {\n // this.showToolbox = false;\n // this.state.controlShow = this.options.controls ? true : false\n // }\n // },\n // immediate: true\n\n // }\n },\n mounted() {\n this.init();\n },\n methods: {\n init() {\n this.videoElm = this.$el.getElementsByTagName('video')[0];\n if (this.options.autoplay) {\n this.videoElm.play();\n }\n\n if (this.options.touchPlay) {\n this.showTouchMask = true;\n }\n if (this.options.playsinline) {\n this.videoElm.setAttribute('playsinline', this.options.playsinline);\n this.videoElm.setAttribute('webkit-playsinline', this.options.playsinline);\n this.videoElm.setAttribute('x5-playsinline', this.options.playsinline);\n this.videoElm.setAttribute('x5-video-player-type', 'h5');\n this.videoElm.setAttribute('x5-video-player-fullscreen', false);\n }\n this.volumeHandle();\n\n if (this.showToolbox) {\n this.customerInit();\n } else {\n this.videoElm.addEventListener('play', () => {\n this.state.playing = true;\n this.$emit('play', this.videoElm);\n });\n this.videoElm.addEventListener('pause', () => {\n this.state.playing = false;\n this.$emit('pause', this.videoElm);\n });\n this.videoElm.addEventListener('ended', this.playEnded);\n\n this.videoElm.addEventListener('timeupdate', throttle(this.getPlayTime, 100, 1));\n }\n },\n customerInit() {\n const $player = this.$el;\n const $progress = this.$el.getElementsByClassName('progress')[0];\n // 播放器位置\n this.player.$player = $player;\n this.progressBar.progressElm = $progress;\n // this.player.pos = $player.getBoundingClientRect();\n this.progressBar.pos = $progress.getBoundingClientRect();\n this.videoSet.progress.width = Math.round($progress.getBoundingClientRect().width);\n },\n play() {\n if (this.options.autoplay && this.options.disabled) {\n this.state.playing = true;\n // this.state.controlShow = false\n return false;\n }\n this.state.playing = !this.state.playing;\n if (this.videoElm) {\n // 播放状态\n if (this.state.playing) {\n try {\n this.videoElm.play();\n // 监听缓存进度\n this.videoElm.addEventListener('progress', e => {\n this.getLoadTime();\n });\n // 监听播放进度\n this.videoElm.addEventListener('timeupdate', throttle(this.getPlayTime, 100, 1));\n // 监听结束\n this.videoElm.addEventListener('ended', this.playEnded);\n this.$emit('play', this.videoElm);\n } catch (e) {\n // 捕获url异常出现的错误\n this.handleError();\n }\n }\n // 停止状态\n else {\n this.videoElm.pause();\n this.$emit('pause', this.videoElm);\n }\n }\n },\n // 音量控制\n volumeHandle() {\n this.state.vol = this.options.volume;\n },\n // 静音控制\n handleMuted() {\n this.state.isMuted = !this.state.isMuted;\n this.videoElm.muted = this.state.isMuted;\n },\n playEnded() {\n this.state.playing = false;\n this.state.isEnd = true;\n this.state.controlBtnShow = true;\n this.videoSet.displayTime = '00:00';\n this.videoSet.progress.current = 0;\n this.videoElm.currentTime = 0;\n this.$emit('playend', this.videoElm);\n },\n // 数据加载出错\n handleError() {\n // console.log('error')\n this.state.isError = true;\n },\n\n fullScreen() {\n if (!this.state.fullScreen) {\n this.state.fullScreen = true;\n this.videoElm.webkitRequestFullScreen();\n } else {\n this.state.fullScreen = false;\n document.webkitCancelFullScreen();\n }\n // setTimeout(this.initVideo, 200);\n },\n // 获取播放时间\n getPlayTime() {\n const percent = this.videoElm.currentTime / this.videoElm.duration;\n this.videoSet.progress.current = Math.round(this.videoSet.progress.width * percent);\n\n // 赋值时长\n this.videoSet.totalTime = this.timeFormat(this.videoElm.duration);\n this.videoSet.displayTime = this.timeFormat(this.videoElm.currentTime);\n },\n timeFormat(t) {\n var h = Math.floor(t / 3600);\n if (h < 10) {\n h = '0' + h;\n }\n var m = Math.floor((t % 3600) / 60);\n if (m < 10) {\n m = '0' + m;\n }\n var s = Math.round((t % 3600) % 60);\n if (s < 10) {\n s = '0' + s;\n }\n var str = '';\n if (h != 0) {\n str = h + ':' + m + ':' + s;\n } else {\n str = m + ':' + s;\n }\n return str;\n },\n // 获取缓存时间\n getLoadTime() {\n if (this.videoSet.loaded) this.videoSet.loaded = (this.videoElm.buffered.end(0) / this.videoElm.duration) * 100;\n },\n getTime() {\n this.videoElm.addEventListener('durationchange', e => {\n // console.log(e);\n });\n this.videoElm.addEventListener('progress', e => {\n this.videoSet.loaded = (-1 + this.videoElm.buffered.end(0) / this.videoElm.duration) * 100;\n });\n this.videoSet.len = this.videoElm.duration;\n },\n // 拖动播放进度\n touchSlidSrart(e) {},\n touchSlidMove(e) {\n let currentX = e.targetTouches[0].pageX;\n let offsetX = currentX - this.progressBar.pos.left;\n // 边界检测\n if (offsetX <= 0) {\n offsetX = 0;\n }\n\n if (offsetX >= this.videoSet.progress.width) {\n offsetX = this.videoSet.progress.width;\n }\n this.videoSet.progress.current = offsetX;\n\n let percent = this.videoSet.progress.current / this.videoSet.progress.width;\n this.videoElm.duration && this.setPlayTime(percent, this.videoElm.duration);\n },\n touchSlidEnd(e) {\n let currentX = e.changedTouches[0].pageX;\n let offsetX = currentX - this.progressBar.pos.left;\n this.videoSet.progress.current = offsetX;\n // 这里的offsetX都是正数\n let percent = offsetX / this.videoSet.progress.width;\n this.videoElm.duration && this.setPlayTime(percent, this.videoElm.duration);\n },\n // 设置手动播放时间\n setPlayTime(percent, totalTime) {\n this.videoElm.currentTime = Math.floor(percent * totalTime);\n },\n // 点击重新加载\n retry() {\n // console.log('error');\n this.state.isError = false;\n this.init();\n }\n },\n beforeDestroy() {}\n};\n</script>\n","import { render, staticRenderFns } from \"./video.vue?vue&type=template&id=62e2def6&\"\nimport script from \"./video.vue?vue&type=script&lang=js&\"\nexport * from \"./video.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 Video from './video.vue';\nimport './video.scss';\n\nVideo.install = function(Vue) {\n Vue.component(Video.name, Video);\n};\n\nexport default Video;\n"],"sourceRoot":""}
@@ -90,3 +90,4 @@ export declare class NumberKeyboard extends UIComponent {}
90
90
  export declare class CollapseItem extends UIComponent {}
91
91
  export declare class Coupon extends UIComponent {}
92
92
  export declare class Magic extends UIComponent {}
93
+ export declare class NineGrid extends UIComponent {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nutui/nutui",
3
- "version": "2.3.4",
3
+ "version": "2.3.7",
4
4
  "description": "一套轻量级移动端Vue组件库",
5
5
  "typings": "dist/types/index.d.ts",
6
6
  "main": "dist/nutui.js",