@nutui/nutui 2.3.14-beta.1 → 2.3.14

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 (224) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.DS_Store +0 -0
  3. package/dist/nutui.css +1 -1
  4. package/dist/nutui.js +2101 -271
  5. package/dist/nutui.js.map +1 -1
  6. package/dist/nutui.min.css +1 -1
  7. package/dist/nutui.min.js +3 -3
  8. package/dist/nutui.min.js.map +1 -1
  9. package/dist/packages/.DS_Store +0 -0
  10. package/dist/packages/actionsheet/actionsheet.css +1 -1
  11. package/dist/packages/actionsheet/actionsheet.js +2 -2
  12. package/dist/packages/actionsheet/actionsheet.js.map +1 -1
  13. package/dist/packages/address/address.css +1 -1
  14. package/dist/packages/address/address.js +2 -2
  15. package/dist/packages/address/address.js.map +1 -1
  16. package/dist/packages/avatar/avatar.css +1 -1
  17. package/dist/packages/avatar/avatar.js +2 -2
  18. package/dist/packages/avatar/avatar.js.map +1 -1
  19. package/dist/packages/backtop/backtop.css +1 -1
  20. package/dist/packages/backtop/backtop.js +2 -2
  21. package/dist/packages/backtop/backtop.js.map +1 -1
  22. package/dist/packages/badge/badge.css +1 -1
  23. package/dist/packages/badge/badge.js +2 -2
  24. package/dist/packages/badge/badge.js.map +1 -1
  25. package/dist/packages/button/button.css +1 -1
  26. package/dist/packages/button/button.js +2 -2
  27. package/dist/packages/button/button.js.map +1 -1
  28. package/dist/packages/buttongroup/buttongroup.css +1 -1
  29. package/dist/packages/buttongroup/buttongroup.js +2 -2
  30. package/dist/packages/buttongroup/buttongroup.js.map +1 -1
  31. package/dist/packages/calendar/calendar.css +1 -1
  32. package/dist/packages/calendar/calendar.js +2 -2
  33. package/dist/packages/calendar/calendar.js.map +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/checkbox/checkbox.js.map +1 -1
  40. package/dist/packages/checkboxgroup/checkboxgroup.css +1 -1
  41. package/dist/packages/checkboxgroup/checkboxgroup.js +2 -2
  42. package/dist/packages/checkboxgroup/checkboxgroup.js.map +1 -1
  43. package/dist/packages/checkboxgroup/checkboxgroup.vue +6 -1
  44. package/dist/packages/circleprogress/circleprogress.css +1 -1
  45. package/dist/packages/circleprogress/circleprogress.js +2 -2
  46. package/dist/packages/circleprogress/circleprogress.js.map +1 -1
  47. package/dist/packages/col/col.css +1 -1
  48. package/dist/packages/col/col.js +2 -2
  49. package/dist/packages/col/col.js.map +1 -1
  50. package/dist/packages/collapse/collapse.css +1 -1
  51. package/dist/packages/collapse/collapse.js +2 -2
  52. package/dist/packages/collapse/collapse.js.map +1 -1
  53. package/dist/packages/collapseitem/collapseitem.css +1 -1
  54. package/dist/packages/collapseitem/collapseitem.js +2 -2
  55. package/dist/packages/collapseitem/collapseitem.js.map +1 -1
  56. package/dist/packages/collapseitem/collapseitem.vue +1 -1
  57. package/dist/packages/countdown/countdown.css +1 -1
  58. package/dist/packages/countdown/countdown.js +2 -2
  59. package/dist/packages/countdown/countdown.js.map +1 -1
  60. package/dist/packages/countup/countup.css +1 -1
  61. package/dist/packages/countup/countup.js +2 -2
  62. package/dist/packages/countup/countup.js.map +1 -1
  63. package/dist/packages/coupon/coupon.css +1 -1
  64. package/dist/packages/coupon/coupon.js +2 -2
  65. package/dist/packages/coupon/coupon.js.map +1 -1
  66. package/dist/packages/datepicker/datepicker.css +1 -1
  67. package/dist/packages/datepicker/datepicker.js +2 -2
  68. package/dist/packages/datepicker/datepicker.js.map +1 -1
  69. package/dist/packages/dialog/dialog.css +1 -1
  70. package/dist/packages/dialog/dialog.js +2 -2
  71. package/dist/packages/dialog/dialog.js.map +1 -1
  72. package/dist/packages/drag/drag.css +1 -1
  73. package/dist/packages/drag/drag.js +2 -2
  74. package/dist/packages/drag/drag.js.map +1 -1
  75. package/dist/packages/elevator/elevator.css +1 -1
  76. package/dist/packages/elevator/elevator.js +2 -2
  77. package/dist/packages/elevator/elevator.js.map +1 -1
  78. package/dist/packages/fixednav/fixednav.css +1 -1
  79. package/dist/packages/fixednav/fixednav.js +2 -2
  80. package/dist/packages/fixednav/fixednav.js.map +1 -1
  81. package/dist/packages/flex/flex.css +1 -1
  82. package/dist/packages/flex/flex.js +2 -2
  83. package/dist/packages/flex/flex.js.map +1 -1
  84. package/dist/packages/icon/icon.css +1 -1
  85. package/dist/packages/icon/icon.js +2 -2
  86. package/dist/packages/icon/icon.js.map +1 -1
  87. package/dist/packages/imagepicker/imagepicker.css +1 -1
  88. package/dist/packages/imagepicker/imagepicker.js +2 -2
  89. package/dist/packages/imagepicker/imagepicker.js.map +1 -1
  90. package/dist/packages/infiniteloading/infiniteloading.css +1 -1
  91. package/dist/packages/infiniteloading/infiniteloading.js +2 -2
  92. package/dist/packages/infiniteloading/infiniteloading.js.map +1 -1
  93. package/dist/packages/lazyload/lazyload.css +1 -1
  94. package/dist/packages/lazyload/lazyload.js +1 -1
  95. package/dist/packages/leftslip/leftslip.css +1 -1
  96. package/dist/packages/leftslip/leftslip.js +2 -2
  97. package/dist/packages/leftslip/leftslip.js.map +1 -1
  98. package/dist/packages/luckdraw/luckdraw.css +1 -1
  99. package/dist/packages/luckdraw/luckdraw.js +2 -2
  100. package/dist/packages/luckdraw/luckdraw.js.map +1 -1
  101. package/dist/packages/luckycard/luckycard.css +1 -1
  102. package/dist/packages/luckycard/luckycard.js +2 -2
  103. package/dist/packages/luckycard/luckycard.js.map +1 -1
  104. package/dist/packages/magic/magic.css +1 -1
  105. package/dist/packages/magic/magic.js +2 -2
  106. package/dist/packages/magic/magic.js.map +1 -1
  107. package/dist/packages/menu/menu.css +1 -1
  108. package/dist/packages/menu/menu.js +2 -2
  109. package/dist/packages/menu/menu.js.map +1 -1
  110. package/dist/packages/navbar/navbar.css +1 -1
  111. package/dist/packages/navbar/navbar.js +2 -2
  112. package/dist/packages/navbar/navbar.js.map +1 -1
  113. package/dist/packages/ninegrid/ninegrid.css +1 -1
  114. package/dist/packages/ninegrid/ninegrid.js +2 -2
  115. package/dist/packages/ninegrid/ninegrid.js.map +1 -1
  116. package/dist/packages/noticebar/noticebar.css +1 -1
  117. package/dist/packages/noticebar/noticebar.js +2 -2
  118. package/dist/packages/noticebar/noticebar.js.map +1 -1
  119. package/dist/packages/notify/notify.css +1 -1
  120. package/dist/packages/notify/notify.js +2 -2
  121. package/dist/packages/notify/notify.js.map +1 -1
  122. package/dist/packages/numberkeyboard/numberkeyboard.css +1 -1
  123. package/dist/packages/numberkeyboard/numberkeyboard.js +2 -2
  124. package/dist/packages/numberkeyboard/numberkeyboard.js.map +1 -1
  125. package/dist/packages/picker/picker.css +1 -1
  126. package/dist/packages/picker/picker.js +2 -2
  127. package/dist/packages/picker/picker.js.map +1 -1
  128. package/dist/packages/popup/popup.css +1 -1
  129. package/dist/packages/popup/popup.js +2 -2
  130. package/dist/packages/popup/popup.js.map +1 -1
  131. package/dist/packages/price/price.css +1 -1
  132. package/dist/packages/price/price.js +2 -2
  133. package/dist/packages/price/price.js.map +1 -1
  134. package/dist/packages/progress/progress.css +1 -1
  135. package/dist/packages/progress/progress.js +2 -2
  136. package/dist/packages/progress/progress.js.map +1 -1
  137. package/dist/packages/radio/radio.css +1 -1
  138. package/dist/packages/radio/radio.js +2 -2
  139. package/dist/packages/radio/radio.js.map +1 -1
  140. package/dist/packages/radiogroup/radiogroup.css +1 -1
  141. package/dist/packages/radiogroup/radiogroup.js +2 -2
  142. package/dist/packages/radiogroup/radiogroup.js.map +1 -1
  143. package/dist/packages/range/range.css +1 -1
  144. package/dist/packages/range/range.js +2 -2
  145. package/dist/packages/range/range.js.map +1 -1
  146. package/dist/packages/rate/rate.css +1 -1
  147. package/dist/packages/rate/rate.js +2 -2
  148. package/dist/packages/rate/rate.js.map +1 -1
  149. package/dist/packages/row/row.css +1 -1
  150. package/dist/packages/row/row.js +2 -2
  151. package/dist/packages/row/row.js.map +1 -1
  152. package/dist/packages/scroller/scroller.css +1 -1
  153. package/dist/packages/scroller/scroller.js +2 -2
  154. package/dist/packages/scroller/scroller.js.map +1 -1
  155. package/dist/packages/searchbar/searchbar.css +1 -1
  156. package/dist/packages/searchbar/searchbar.js +2 -2
  157. package/dist/packages/searchbar/searchbar.js.map +1 -1
  158. package/dist/packages/shortpassword/shortpassword.css +1 -1
  159. package/dist/packages/shortpassword/shortpassword.js +2 -2
  160. package/dist/packages/shortpassword/shortpassword.js.map +1 -1
  161. package/dist/packages/sidenavbar/sidenavbar.css +1 -1
  162. package/dist/packages/sidenavbar/sidenavbar.js +2 -2
  163. package/dist/packages/sidenavbar/sidenavbar.js.map +1 -1
  164. package/dist/packages/sidenavbaritem/sidenavbaritem.css +1 -1
  165. package/dist/packages/sidenavbaritem/sidenavbaritem.js +2 -2
  166. package/dist/packages/sidenavbaritem/sidenavbaritem.js.map +1 -1
  167. package/dist/packages/signature/signature.css +1 -1
  168. package/dist/packages/signature/signature.js +2 -2
  169. package/dist/packages/signature/signature.js.map +1 -1
  170. package/dist/packages/skeleton/skeleton.css +1 -1
  171. package/dist/packages/skeleton/skeleton.js +2 -2
  172. package/dist/packages/skeleton/skeleton.js.map +1 -1
  173. package/dist/packages/slider/slider.css +1 -1
  174. package/dist/packages/slider/slider.js +2 -2
  175. package/dist/packages/slider/slider.js.map +1 -1
  176. package/dist/packages/stepper/stepper.css +1 -1
  177. package/dist/packages/stepper/stepper.js +2 -2
  178. package/dist/packages/stepper/stepper.js.map +1 -1
  179. package/dist/packages/steps/steps.css +1 -1
  180. package/dist/packages/steps/steps.js +2 -2
  181. package/dist/packages/steps/steps.js.map +1 -1
  182. package/dist/packages/subsidenavbar/subsidenavbar.css +1 -1
  183. package/dist/packages/subsidenavbar/subsidenavbar.js +2 -2
  184. package/dist/packages/subsidenavbar/subsidenavbar.js.map +1 -1
  185. package/dist/packages/swiper/swiper.css +1 -1
  186. package/dist/packages/swiper/swiper.js +2 -2
  187. package/dist/packages/swiper/swiper.js.map +1 -1
  188. package/dist/packages/switch/switch.css +1 -1
  189. package/dist/packages/switch/switch.js +2 -2
  190. package/dist/packages/switch/switch.js.map +1 -1
  191. package/dist/packages/tab/tab.css +1 -1
  192. package/dist/packages/tab/tab.js +2 -2
  193. package/dist/packages/tab/tab.js.map +1 -1
  194. package/dist/packages/tabbar/tabbar.css +1 -1
  195. package/dist/packages/tabbar/tabbar.js +2 -2
  196. package/dist/packages/tabbar/tabbar.js.map +1 -1
  197. package/dist/packages/tabpanel/tabpanel.css +1 -1
  198. package/dist/packages/tabpanel/tabpanel.js +2 -2
  199. package/dist/packages/tabpanel/tabpanel.js.map +1 -1
  200. package/dist/packages/tabselect/tabselect.css +1 -1
  201. package/dist/packages/tabselect/tabselect.js +2 -2
  202. package/dist/packages/tabselect/tabselect.js.map +1 -1
  203. package/dist/packages/textbox/textbox.css +1 -1
  204. package/dist/packages/textbox/textbox.js +2 -2
  205. package/dist/packages/textbox/textbox.js.map +1 -1
  206. package/dist/packages/textinput/textinput.css +1 -1
  207. package/dist/packages/textinput/textinput.js +2 -2
  208. package/dist/packages/textinput/textinput.js.map +1 -1
  209. package/dist/packages/timeline/timeline.css +1 -1
  210. package/dist/packages/timeline/timeline.js +2 -2
  211. package/dist/packages/timeline/timeline.js.map +1 -1
  212. package/dist/packages/timelineitem/timelineitem.css +1 -1
  213. package/dist/packages/timelineitem/timelineitem.js +2 -2
  214. package/dist/packages/timelineitem/timelineitem.js.map +1 -1
  215. package/dist/packages/toast/toast.css +1 -1
  216. package/dist/packages/toast/toast.js +2 -2
  217. package/dist/packages/toast/toast.js.map +1 -1
  218. package/dist/packages/uploader/uploader.css +1 -1
  219. package/dist/packages/uploader/uploader.js +2 -2
  220. package/dist/packages/uploader/uploader.js.map +1 -1
  221. package/dist/packages/video/video.css +1 -1
  222. package/dist/packages/video/video.js +2 -2
  223. package/dist/packages/video/video.js.map +1 -1
  224. package/package.json +5 -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/luckycard/luckycard.vue?dd02","webpack://[name]/./src/packages/luckycard/luckycard.vue?3456","webpack://[name]/./src/packages/luckycard/luckycard.js","webpack://[name]/./src/packages/luckycard/luckycard.vue?a47c","webpack://[name]/src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/index.js","webpack://[name]/./node_modules/@babel/runtime/helpers/typeof.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","LuckyCard","settings","callback","cover","ctx","scratchDiv","cardDiv","cHeight","cWidth","supportTouch","events","startEventHandler","moveEventHandler","endEventHandler","opt","coverColor","coverImg","ratio","init","_calcArea","pixels","getImageData","transPixels","_forEach","data","item","pixel","push","length","items","Array","forEach","idx","_isCanvasSupported","elem","document","createElement","getContext","_startEventHandler","event","preventDefault","_moveEventHandler","addEventListener","_endEventHandler","evt","touches","coverPos","getBoundingClientRect","pageScrollTop","documentElement","scrollTop","body","pageScrollLeft","scrollLeft","mouseX","pageX","left","mouseY","pageY","top","beginPath","fillStyle","globalCompositeOperation","arc","Math","PI","fill","removeEventListener","createCanvas","className","height","width","_this","Image","src","onload","drawImage","fillRect","appendChild","style","opacity","eventDetect","window","addEvent","clearCover","clearRect","arguments","_typeof","k","querySelector","clientHeight","clientWidth","alert","case","props","content","type","String","default","Number","fontSize","backgroundColor","luckcard","methods","console","log","mounted","$nextTick","_vm","$el","$emit","_c","_self","staticClass","domProps","_s","install","Vue","component","obj","iterator","constructor"],"mappings":"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","file":"luckycard/luckycard.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(\"luckycard\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"luckycard\"] = factory();\n\telse\n\t\troot[\"luckycard\"] = 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 = 170);\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 =\n typeof scriptExports === 'function' ? scriptExports.options : 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) {\n // 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 ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--0-0!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--0-3!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=style&index=0&id=1a2402ac&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"nut-luckycard\",style:({ height: _vm.height + 'px', width: _vm.width + 'px' })},[_c('div',{staticClass:\"nut-content\",style:({ backgroundColor: _vm.backgroundColor, fontSize: _vm.fontSize + 'px' }),domProps:{\"innerHTML\":_vm._s(_vm.content)}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * lucky-card.js - Scratch CARDS based on HTML5 Canvas\n *\n * Copyright (c) 2015 Frans Lee dmon@foxmail.com\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Version: 1.0.3\n */\n'use strict';\n\n/**\n * Instantiate parameters\n *\n * @constructor\n */\nfunction LuckyCard(settings, callback) {\n this.cover = null;\n this.ctx = null;\n this.scratchDiv = settings.scratchDiv;\n this.cardDiv = null;\n this.cHeight = 0;\n this.cWidth = 0;\n this.supportTouch = false;\n this.events = [];\n this.startEventHandler = null;\n this.moveEventHandler = null;\n this.endEventHandler = null;\n\n this.opt = {\n coverColor: '#C5C5C5',\n coverImg: '',\n ratio: .8,\n callback: null\n };\n\n this.init(settings, callback);\n};\n\nfunction _calcArea(ctx, callback, ratio) {\n var pixels = ctx.getImageData(0, 0, this.cWidth, this.cHeight);\n var transPixels = [];\n _forEach(pixels.data, function(item, i) {\n var pixel = pixels.data[i + 3];\n if (pixel === 0) {\n transPixels.push(pixel);\n }\n });\n\n if (transPixels.length / pixels.data.length > ratio) {\n callback && typeof callback === 'function' && callback();\n }\n}\n\nfunction _forEach(items, callback) {\n return Array.prototype.forEach.call(items, function(item, idx) {\n callback(item, idx);\n });\n}\n\nfunction _isCanvasSupported() {\n var elem = document.createElement('canvas');\n return !!(elem.getContext && elem.getContext('2d'));\n}\n\n/**\n * touchstart/mousedown event handler\n */\nfunction _startEventHandler(event) {\n event.preventDefault();\n this.moveEventHandler = _moveEventHandler.bind(this);\n this.cover.addEventListener(this.events[1], this.moveEventHandler, false);\n this.endEventHandler = _endEventHandler.bind(this);\n document.addEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * touchmove/mousemove event handler\n */\nfunction _moveEventHandler(event) {\n event.preventDefault();\n var evt = this.supportTouch ? event.touches[0] : event;\n var coverPos = this.cover.getBoundingClientRect();\n var pageScrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n var pageScrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n var mouseX = evt.pageX - coverPos.left - pageScrollLeft;\n var mouseY = evt.pageY - coverPos.top - pageScrollTop;\n\n this.ctx.beginPath();\n this.ctx.fillStyle = '#FFFFFF';\n this.ctx.globalCompositeOperation = \"destination-out\";\n this.ctx.arc(mouseX, mouseY, 10, 0, 2 * Math.PI);\n this.ctx.fill();\n};\n\n/**\n * touchend/mouseup event handler\n */\nfunction _endEventHandler(event) {\n event.preventDefault();\n if (this.opt.callback && typeof this.opt.callback === 'function') _calcArea.call(this, this.ctx, this.opt.callback, this.opt.ratio);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler, false);\n document.removeEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * Create Canvas element\n */\nLuckyCard.prototype.createCanvas = function() {\n this.cover = document.createElement('canvas');\n this.cover.className = 'nut-cover';\n this.cover.height = this.cHeight;\n this.cover.width = this.cWidth;\n this.ctx = this.cover.getContext('2d');\n if (this.opt.coverImg) {\n var _this = this;\n var coverImg = new Image();\n coverImg.src = this.opt.coverImg;\n coverImg.onload = function() {\n _this.ctx.drawImage(coverImg, 0, 0, _this.cover.width, _this.cover.height);\n }\n } else {\n this.ctx.fillStyle = this.opt.coverColor;\n this.ctx.fillRect(0, 0, this.cover.width, this.cover.height);\n }\n this.scratchDiv.appendChild(this.cover);\n this.cardDiv.style.opacity = 1;\n}\n\n/**\n * To detect whether support touch events\n */\nLuckyCard.prototype.eventDetect = function() {\n if ('ontouchstart' in window) this.supportTouch = true;\n this.events = this.supportTouch ? ['touchstart', 'touchmove', 'touchend'] : ['mousedown', 'mousemove', 'mouseup'];\n this.addEvent();\n};\n\n/**\n * Add touchstart/mousedown event listener\n */\nLuckyCard.prototype.addEvent = function() {\n this.startEventHandler = _startEventHandler.bind(this);\n this.cover.addEventListener(this.events[0], this.startEventHandler, false);\n};\n\n/**\n * Clear pixels of canvas\n */\nLuckyCard.prototype.clearCover = function() {\n this.ctx.clearRect(0, 0, this.cover.width, this.cover.height);\n this.cover.removeEventListener(this.events[0], this.startEventHandler);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler);\n this.cover.removeEventListener(this.events[2], this.endEventHandler);\n};\n\n\n/**\n * LuckyCard initializer\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.prototype.init = function(settings, callback) {\n if (!_isCanvasSupported()) {\n alert('对不起,当前浏览器不支持Canvas,无法使用本控件!');\n return;\n }\n var _this = this;\n _forEach(arguments, function(item) {\n if (typeof item === \"object\") {\n for (var k in item) {\n if (k === 'callback' && typeof item[k] === 'function') {\n _this.opt.callback = item[k].bind(_this);\n } else {\n k in _this.opt && (_this.opt[k] = item[k]);\n }\n }\n } else if (typeof item === \"function\") {\n _this.opt.callback = item.bind(_this);\n }\n });\n /* this.scratchDiv = document.getElementById('scratch');*/\n if (!this.scratchDiv) return;\n this.cardDiv = this.scratchDiv.querySelector('.nut-content');\n if (!this.cardDiv) return;\n\n this.cHeight = this.cardDiv.clientHeight;\n this.cWidth = this.cardDiv.clientWidth;\n this.cardDiv.style.opacity = 0;\n this.createCanvas();\n this.eventDetect();\n};\n\n/**\n * To generate an instance of object\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.case = function(settings, callback) {\n return new LuckyCard(settings, callback);\n};\n\nexport default LuckyCard.case;","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!./luckycard.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!./luckycard.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-luckycard\" :style=\"{ height: height + 'px', width: width + 'px' }\">\n <div class=\"nut-content\" v-html=\"content\" :style=\"{ backgroundColor: backgroundColor, fontSize: fontSize + 'px' }\"></div>\n </div>\n</template>\n\n<script>\nimport LuckyCard from './luckycard.js';\nexport default {\n name: 'nut-luckycard',\n props: {\n content: {\n type: String,\n default: ''\n },\n height: {\n type: [String, Number],\n default: 50\n },\n width: {\n type: [String, Number],\n default: 300\n },\n coverColor: {\n type: String,\n default: '#C5C5C5'\n },\n coverImg: {\n type: String,\n default: ''\n },\n fontSize: {\n type: [String, Number],\n default: 20\n },\n backgroundColor: {\n type: String,\n default: '#FFFFFF'\n },\n ratio: {\n type: [String, Number],\n default: 0.5\n }\n },\n data() {\n return {\n luckcard: null\n };\n },\n methods: {\n clearCover() {\n console.log(this.luckcard);\n this.luckcard.clearCover();\n }\n },\n mounted() {\n this.$nextTick(() => {\n const _vm = this;\n this.luckcard = LuckyCard({\n scratchDiv: this.$el,\n coverColor: this.coverColor,\n coverImg: this.coverImg,\n ratio: Number(this.ratio),\n callback: function() {\n //console.log(this);\n this.clearCover();\n _vm.$emit('open', this);\n }\n });\n });\n }\n};\n</script>\n<style lang=\"scss\">\n.nut-luckycard {\n position: relative;\n .nut-cover {\n position: absolute;\n top: 0;\n left: 0;\n }\n .nut-content {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n line-height: 100%;\n user-select: none;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./luckycard.vue?vue&type=template&id=1a2402ac&\"\nimport script from \"./luckycard.vue?vue&type=script&lang=js&\"\nexport * from \"./luckycard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./luckycard.vue?vue&type=style&index=0&id=1a2402ac&prod&lang=scss&\"\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 LuckyCard from './luckycard.vue';\nimport './luckycard.scss';\n\nLuckyCard.install = function(Vue) {\n Vue.component(LuckyCard.name, LuckyCard);\n};\n\nexport default LuckyCard","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"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/luckycard/luckycard.vue?dd02","webpack://[name]/./src/packages/luckycard/luckycard.vue?62f1","webpack://[name]/./src/packages/luckycard/luckycard.js","webpack://[name]/./src/packages/luckycard/luckycard.vue?a47c","webpack://[name]/src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/index.js","webpack://[name]/./node_modules/@babel/runtime/helpers/typeof.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","LuckyCard","settings","callback","cover","ctx","scratchDiv","cardDiv","cHeight","cWidth","supportTouch","events","startEventHandler","moveEventHandler","endEventHandler","opt","coverColor","coverImg","ratio","init","_calcArea","pixels","getImageData","transPixels","_forEach","data","item","pixel","push","length","items","Array","forEach","idx","_isCanvasSupported","elem","document","createElement","getContext","_startEventHandler","event","preventDefault","_moveEventHandler","addEventListener","_endEventHandler","evt","touches","coverPos","getBoundingClientRect","pageScrollTop","documentElement","scrollTop","body","pageScrollLeft","scrollLeft","mouseX","pageX","left","mouseY","pageY","top","beginPath","fillStyle","globalCompositeOperation","arc","Math","PI","fill","removeEventListener","createCanvas","className","height","width","_this","Image","src","onload","drawImage","fillRect","appendChild","style","opacity","eventDetect","window","addEvent","clearCover","clearRect","arguments","_typeof","k","querySelector","clientHeight","clientWidth","alert","case","props","content","type","String","default","Number","fontSize","backgroundColor","luckcard","methods","console","log","mounted","$nextTick","_vm","$el","$emit","_h","$createElement","_c","_self","staticClass","domProps","_s","install","Vue","component","obj","iterator","constructor"],"mappings":"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","file":"luckycard/luckycard.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(\"luckycard\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"luckycard\"] = factory();\n\telse\n\t\troot[\"luckycard\"] = 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 = 170);\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 =\n typeof scriptExports === 'function' ? scriptExports.options : 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) {\n // 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 ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--0-0!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--0-3!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=style&index=0&id=1a2402ac&prod&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nut-luckycard\",style:({ height: _vm.height + 'px', width: _vm.width + 'px' })},[_c('div',{staticClass:\"nut-content\",style:({ backgroundColor: _vm.backgroundColor, fontSize: _vm.fontSize + 'px' }),domProps:{\"innerHTML\":_vm._s(_vm.content)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * lucky-card.js - Scratch CARDS based on HTML5 Canvas\n *\n * Copyright (c) 2015 Frans Lee dmon@foxmail.com\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Version: 1.0.3\n */\n'use strict';\n\n/**\n * Instantiate parameters\n *\n * @constructor\n */\nfunction LuckyCard(settings, callback) {\n this.cover = null;\n this.ctx = null;\n this.scratchDiv = settings.scratchDiv;\n this.cardDiv = null;\n this.cHeight = 0;\n this.cWidth = 0;\n this.supportTouch = false;\n this.events = [];\n this.startEventHandler = null;\n this.moveEventHandler = null;\n this.endEventHandler = null;\n\n this.opt = {\n coverColor: '#C5C5C5',\n coverImg: '',\n ratio: .8,\n callback: null\n };\n\n this.init(settings, callback);\n};\n\nfunction _calcArea(ctx, callback, ratio) {\n var pixels = ctx.getImageData(0, 0, this.cWidth, this.cHeight);\n var transPixels = [];\n _forEach(pixels.data, function(item, i) {\n var pixel = pixels.data[i + 3];\n if (pixel === 0) {\n transPixels.push(pixel);\n }\n });\n\n if (transPixels.length / pixels.data.length > ratio) {\n callback && typeof callback === 'function' && callback();\n }\n}\n\nfunction _forEach(items, callback) {\n return Array.prototype.forEach.call(items, function(item, idx) {\n callback(item, idx);\n });\n}\n\nfunction _isCanvasSupported() {\n var elem = document.createElement('canvas');\n return !!(elem.getContext && elem.getContext('2d'));\n}\n\n/**\n * touchstart/mousedown event handler\n */\nfunction _startEventHandler(event) {\n event.preventDefault();\n this.moveEventHandler = _moveEventHandler.bind(this);\n this.cover.addEventListener(this.events[1], this.moveEventHandler, false);\n this.endEventHandler = _endEventHandler.bind(this);\n document.addEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * touchmove/mousemove event handler\n */\nfunction _moveEventHandler(event) {\n event.preventDefault();\n var evt = this.supportTouch ? event.touches[0] : event;\n var coverPos = this.cover.getBoundingClientRect();\n var pageScrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n var pageScrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n var mouseX = evt.pageX - coverPos.left - pageScrollLeft;\n var mouseY = evt.pageY - coverPos.top - pageScrollTop;\n\n this.ctx.beginPath();\n this.ctx.fillStyle = '#FFFFFF';\n this.ctx.globalCompositeOperation = \"destination-out\";\n this.ctx.arc(mouseX, mouseY, 10, 0, 2 * Math.PI);\n this.ctx.fill();\n};\n\n/**\n * touchend/mouseup event handler\n */\nfunction _endEventHandler(event) {\n event.preventDefault();\n if (this.opt.callback && typeof this.opt.callback === 'function') _calcArea.call(this, this.ctx, this.opt.callback, this.opt.ratio);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler, false);\n document.removeEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * Create Canvas element\n */\nLuckyCard.prototype.createCanvas = function() {\n this.cover = document.createElement('canvas');\n this.cover.className = 'nut-cover';\n this.cover.height = this.cHeight;\n this.cover.width = this.cWidth;\n this.ctx = this.cover.getContext('2d');\n if (this.opt.coverImg) {\n var _this = this;\n var coverImg = new Image();\n coverImg.src = this.opt.coverImg;\n coverImg.onload = function() {\n _this.ctx.drawImage(coverImg, 0, 0, _this.cover.width, _this.cover.height);\n }\n } else {\n this.ctx.fillStyle = this.opt.coverColor;\n this.ctx.fillRect(0, 0, this.cover.width, this.cover.height);\n }\n this.scratchDiv.appendChild(this.cover);\n this.cardDiv.style.opacity = 1;\n}\n\n/**\n * To detect whether support touch events\n */\nLuckyCard.prototype.eventDetect = function() {\n if ('ontouchstart' in window) this.supportTouch = true;\n this.events = this.supportTouch ? ['touchstart', 'touchmove', 'touchend'] : ['mousedown', 'mousemove', 'mouseup'];\n this.addEvent();\n};\n\n/**\n * Add touchstart/mousedown event listener\n */\nLuckyCard.prototype.addEvent = function() {\n this.startEventHandler = _startEventHandler.bind(this);\n this.cover.addEventListener(this.events[0], this.startEventHandler, false);\n};\n\n/**\n * Clear pixels of canvas\n */\nLuckyCard.prototype.clearCover = function() {\n this.ctx.clearRect(0, 0, this.cover.width, this.cover.height);\n this.cover.removeEventListener(this.events[0], this.startEventHandler);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler);\n this.cover.removeEventListener(this.events[2], this.endEventHandler);\n};\n\n\n/**\n * LuckyCard initializer\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.prototype.init = function(settings, callback) {\n if (!_isCanvasSupported()) {\n alert('对不起,当前浏览器不支持Canvas,无法使用本控件!');\n return;\n }\n var _this = this;\n _forEach(arguments, function(item) {\n if (typeof item === \"object\") {\n for (var k in item) {\n if (k === 'callback' && typeof item[k] === 'function') {\n _this.opt.callback = item[k].bind(_this);\n } else {\n k in _this.opt && (_this.opt[k] = item[k]);\n }\n }\n } else if (typeof item === \"function\") {\n _this.opt.callback = item.bind(_this);\n }\n });\n /* this.scratchDiv = document.getElementById('scratch');*/\n if (!this.scratchDiv) return;\n this.cardDiv = this.scratchDiv.querySelector('.nut-content');\n if (!this.cardDiv) return;\n\n this.cHeight = this.cardDiv.clientHeight;\n this.cWidth = this.cardDiv.clientWidth;\n this.cardDiv.style.opacity = 0;\n this.createCanvas();\n this.eventDetect();\n};\n\n/**\n * To generate an instance of object\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.case = function(settings, callback) {\n return new LuckyCard(settings, callback);\n};\n\nexport default LuckyCard.case;","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!./luckycard.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!./luckycard.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-luckycard\" :style=\"{ height: height + 'px', width: width + 'px' }\">\n <div class=\"nut-content\" v-html=\"content\" :style=\"{ backgroundColor: backgroundColor, fontSize: fontSize + 'px' }\"></div>\n </div>\n</template>\n\n<script>\nimport LuckyCard from './luckycard.js';\nexport default {\n name: 'nut-luckycard',\n props: {\n content: {\n type: String,\n default: ''\n },\n height: {\n type: [String, Number],\n default: 50\n },\n width: {\n type: [String, Number],\n default: 300\n },\n coverColor: {\n type: String,\n default: '#C5C5C5'\n },\n coverImg: {\n type: String,\n default: ''\n },\n fontSize: {\n type: [String, Number],\n default: 20\n },\n backgroundColor: {\n type: String,\n default: '#FFFFFF'\n },\n ratio: {\n type: [String, Number],\n default: 0.5\n }\n },\n data() {\n return {\n luckcard: null\n };\n },\n methods: {\n clearCover() {\n console.log(this.luckcard);\n this.luckcard.clearCover();\n }\n },\n mounted() {\n this.$nextTick(() => {\n const _vm = this;\n this.luckcard = LuckyCard({\n scratchDiv: this.$el,\n coverColor: this.coverColor,\n coverImg: this.coverImg,\n ratio: Number(this.ratio),\n callback: function() {\n //console.log(this);\n this.clearCover();\n _vm.$emit('open', this);\n }\n });\n });\n }\n};\n</script>\n<style lang=\"scss\">\n.nut-luckycard {\n position: relative;\n .nut-cover {\n position: absolute;\n top: 0;\n left: 0;\n }\n .nut-content {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n line-height: 100%;\n user-select: none;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./luckycard.vue?vue&type=template&id=1a2402ac&\"\nimport script from \"./luckycard.vue?vue&type=script&lang=js&\"\nexport * from \"./luckycard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./luckycard.vue?vue&type=style&index=0&id=1a2402ac&prod&lang=scss&\"\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 LuckyCard from './luckycard.vue';\nimport './luckycard.scss';\n\nLuckyCard.install = function(Vue) {\n Vue.component(LuckyCard.name, LuckyCard);\n};\n\nexport default LuckyCard","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v2.3.13 - magic.css, 67f43efc8eaf4a122fb6, Tue Apr 11 2023 18:52:32 GMT+0800 (GMT+08:00)
2
+ * @nutui/nutui v2.3.14 - magic.css, ea1cfeedc4af744045aa, Thu Jul 27 2023 18:33:12 GMT+0800 (GMT+08:00)
3
3
  * (c) 2017-2020 JDC
4
4
  * Released under the MIT License.
5
5
  */.adjust-position{margin-top:-20px;margin-bottom:-20px}.header-wrap{position:relative;height:710px}.header-wrap .img-header{position:absolute;bottom:0;width:100%}.cube-item{height:90px;width:88px;border-radius:26px;overflow:hidden;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-item:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:60px;border-radius:0 0 26px 26px}.cube-item-box{height:63px;background:#fff;border-radius:26px 26px 11px 11px;background-size:cover;background-repeat:no-repeat}.cube-item-box,.cube-item .sub-name{width:100%;text-align:center;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.cube-item .sub-name{top:63px;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;font-size:14px;line-height:27px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.cube-item .sub-image{display:block;width:60px;height:60px;margin:0 auto;background-color:#fff;background-position:50%;background-size:100%;-webkit-transform:translateY(6px);-ms-transform:translateY(6px);transform:translateY(6px)}.cube-item .sub-desc{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:77px;-webkit-box-sizing:border-box;box-sizing:border-box;height:15px;color:#fff;border-radius:6px;font-size:12px;text-align:center;position:absolute;bottom:29px;left:50%;-webkit-transform-origin:0 center;-ms-transform-origin:0 center;transform-origin:0 center;-webkit-transform:translate3d(-50%,0,1px);transform:translate3d(-50%,0,1px)}.cube-item .sub-desc span{width:100%;display:block;line-height:normal;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cube-item--pic:before{background:url(https://img12.360buyimg.com/imagetools/jfs/t1/184083/34/6101/38841/60b065caEaaf7c5d0/eec4cd260f46d9f0.png) no-repeat 50%/100%;height:100%}.cube-item--pic .cube-item-box,.cube-item--pic .sub-desc,.cube-item--pic .sub-name{display:none}.cube-item--act:before{background:url(https://img11.360buyimg.com/imagetools/jfs/t1/195605/17/5252/39357/60b065caEe0aa4c7e/04a341f4e51c6a9b.png) no-repeat 50%/100%}.cube-item--act .sub-desc{background:#ff5c17}.cube-item--rank:before{background:url(https://img14.360buyimg.com/imagetools/jfs/t1/183388/37/6207/39741/60b065caEea1440a1/8860c63660fc9ac4.png) no-repeat 50%/100%}.cube-item--rank .sub-desc{background:#1f95fb}.cube-item--shop:before{background:url(https://img12.360buyimg.com/imagetools/jfs/t1/184083/34/6101/38841/60b065caEaaf7c5d0/eec4cd260f46d9f0.png) no-repeat 50%/100%}.cube-item--shop .sub-desc{background:#ffd01f}.cube-item--shop .sub-desc span{color:#000}.cube-item--lbs:before{background:url(https://img10.360buyimg.com/imagetools/jfs/t1/129094/23/18726/38672/60b065caEb849e8cb/da761e3ebae5bc84.png) no-repeat 50%/100%}.cube-item--lbs .sub-desc{background:#ffd01f}.cube-item--lbs .sub-desc span{color:#000}.cube-item--unread{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2);-webkit-animation:show 2s infinite;animation:show 2s infinite}.cube-item--special{background-size:cover;background-repeat:no-repeat}.cube-item--special .cube-item-box,.cube-item--special .sub-desc,.cube-item--special:before{display:none}@-webkit-keyframes show{0%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}50%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.5);box-shadow:0 0 20px hsla(0,0%,100%,.5)}to{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}}@keyframes show{0%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}50%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.5);box-shadow:0 0 20px hsla(0,0%,100%,.5)}to{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}}.cube-wrapper--inited .cube-col .cube-item .sub-image{-webkit-animation:cube-image .2s cubic-bezier(.33,0,.67,1) 1s forwards;animation:cube-image .2s cubic-bezier(.33,0,.67,1) 1s forwards}@-webkit-keyframes cube-image{0%{-webkit-transform:translateY(13px);transform:translateY(13px)}66%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes cube-image{0%{-webkit-transform:translateY(13px);transform:translateY(13px)}66%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.cube{width:100%;z-index:10}.cube-container{width:100%;padding:15px 0;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden}.cube-wrapper{width:100%;white-space:nowrap;-webkit-perspective:500px;perspective:500px;-webkit-animation-play-state:paused;animation-play-state:paused;-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.39,.575,.565,1);-o-transition-timing-function:cubic-bezier(.39,.575,.565,1);transition-timing-function:cubic-bezier(.39,.575,.565,1)}.cube-col{display:inline-block;width:25%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.cube-col--anime:nth-child(5) .cube-item-wrap{-webkit-animation:cube5 .56s cubic-bezier(.33,0,.67,1) 1s both;animation:cube5 .56s cubic-bezier(.33,0,.67,1) 1s both}@-webkit-keyframes cube5{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(733px,0,0);transform:translate3d(733px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube5{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(733px,0,0);transform:translate3d(733px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-col--anime:nth-child(6) .cube-item-wrap{-webkit-animation:cube6 .56s cubic-bezier(.33,0,.83,1) 1.08s both;animation:cube6 .56s cubic-bezier(.33,0,.83,1) 1.08s both}@-webkit-keyframes cube6{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(554px,0,0);transform:translate3d(554px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube6{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(554px,0,0);transform:translate3d(554px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-col--anime:nth-child(7) .cube-item-wrap{-webkit-animation:cube7 .56s cubic-bezier(.33,0,.83,1) 1.16s both;animation:cube7 .56s cubic-bezier(.33,0,.83,1) 1.16s both}@-webkit-keyframes cube7{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(378px,0,0);transform:translate3d(378px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube7{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(378px,0,0);transform:translate3d(378px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-col--anime:nth-child(8) .cube-item-wrap{-webkit-animation:cube8 .56s cubic-bezier(.33,0,.83,1) 1.28s both;animation:cube8 .56s cubic-bezier(.33,0,.83,1) 1.28s both}@-webkit-keyframes cube8{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(205px,0,0);transform:translate3d(205px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube8{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(205px,0,0);transform:translate3d(205px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-item-wrap{margin-bottom:16px}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * @nutui/nutui v2.3.13 - magic.js, 67f43efc8eaf4a122fb6, Tue Apr 11 2023 18:52:32 GMT+0800 (GMT+08:00)
2
+ * @nutui/nutui v2.3.14 - magic.js, ea1cfeedc4af744045aa, Thu Jul 27 2023 18:33:12 GMT+0800 (GMT+08:00)
3
3
  * (c) 2017-2020 JDC
4
4
  * Released under the MIT License.
5
5
  */
6
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("magic",[],e):"object"==typeof exports?exports.magic=e():t.magic=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="./",n(n.s=160)}({0:function(t,e,n){"use strict";function i(t,e,n,i,r,a,o,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):r&&(c=s?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:t,options:l}}n.d(e,"a",(function(){return i}))},15:function(t,e,n){var i=n(9);t.exports=function(t,e){if(t){if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports},156:function(t,e,n){},160:function(t,e,n){"use strict";n.r(e);var i=n(5),r=n.n(i),a={name:"CubeItem",props:{item:{type:Object,default:null}},data:function(){return{}},methods:{cubeClick:function(t){this.$emit("clickEvent",t)}}},o=n(0),s=Object(o.a)(a,(function(){var t=this,e=t._self._c;return e("div",{class:"cube-item cube-item--"+t.item.type,on:{click:function(e){return t.cubeClick(t.item)}}},[e("div",{staticClass:"cube-item-box"},[e("div",{staticClass:"sub-image",style:{backgroundImage:`url(${t.item.pictureUrl})`}})]),t._v(" "),t.item.desc?e("div",{staticClass:"sub-desc"},[e("span",[t._v(t._s(t.item.desc))])]):t._e(),t._v(" "),t.item.name?e("div",{staticClass:"sub-name"},[e("span",[t._v(t._s(t.item.name))])]):t._e()])}),[],!1,null,null,null).exports;function c(t,e,n,i){return-n*(t/=i)*(t-2)+e}function l(t,e){var n=window.getComputedStyle(t,null),i=n.getPropertyValue("-webkit-"+e)||n.getPropertyValue("-moz-"+e)||n.getPropertyValue("-ms-"+e)||n.getPropertyValue("-o-"+e)||n.getPropertyValue(e);return i&&"none"!=i?i:null}var u={props:{dataMagic:{type:[Object,Array],default:null},type:{type:String,default:"rank"},overflow:{type:[String,Number],default:1.4,validator:function(t){return t>=1&&t<1.5}},autoplay:{type:Boolean,default:!1},interval:{type:[String,Number],default:3e3}},components:{CubeItem:s},data:function(){return{clone:4}},computed:{data_top:function(){return this.dataMagic.filter((function(t,e){return e%2==0}))},data_bottom:function(){return this.dataMagic.filter((function(t,e){return e%2==1}))}},watch:{autoplay:function(t){t?this.startPlay():this.clearPlayer()}},mounted:function(){var t=this;this.$nextTick((function(){t.canMove=!0,t.$wrapper=t.$refs.wrapper,t.$cubes=r()(t.$wrapper.children),t.ITEM_WIDTH=t.$wrapper.clientWidth/4,t.computeWidth={"-2":2*-t.ITEM_WIDTH,"-1":-t.ITEM_WIDTH,0:0,1:t.ITEM_WIDTH,2:2*t.ITEM_WIDTH,3:3*t.ITEM_WIDTH,4:4*t.ITEM_WIDTH,5:5*t.ITEM_WIDTH},t.current=t.clone,t.endX=-t.ITEM_WIDTH*t.current,t.offsetX=t.endX,t.$wrapper.style.transitionDuration=null,t.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})),t.setWrapper(t.endX),t.setCube(t.endX),t.$wrapper.style.webkitPerspectiveOrigin="".concat(t.current*t.ITEM_WIDTH+t.$wrapper.clientWidth/2,"px center"),setTimeout((function(){t.startPlay(),t.$wrapper.classList.add("cube-wrapper--inited")}),1e3),t.bindEvent()})),this.initWQVisibleEvent(),document.addEventListener("visibilitychange",(function(e){e.hidden?t.clearPlayer():t.startPlay()}))},methods:{clickEvent:function(t){this.$emit("clickItem",t)},bindEvent:function(){this.$wrapper.addEventListener("touchstart",this.touchStartHandler),this.$wrapper.addEventListener("touchmove",this.touchMoveHandler),this.$wrapper.addEventListener("touchend",this.touchEndHandler)},initWQVisibleEvent:function(){document.addEventListener("qbrowserVisibilityChange",(function(t){var e=document.createEvent("HTMLEvents");e.initEvent("visibilitychange",!1,!1),e.hidden=t.hidden,document.dispatchEvent(e)}),!0),document.addEventListener("visibilitychange",(function(t){t.hidden=void 0===t.hidden?document.hidden:t.hidden}),!0)},startPlay:function(){var t=this;this.autoplay&&(this.clearPlayer(),this.player=setInterval((function(){t.canMove=!0,t.goto(t.current+1,600,!0)}),this.interval))},clearPlayer:function(){clearInterval(this.player),this.player=null},touchStartHandler:function(t){this.canMove&&(this.clearPlayer(),this.touching=!0,this.$wrapper.style.transitionDuration,this.startX=t.touches[0].pageX,this.startY=t.touches[0].pageY,this.$wrapper.style.transitionDuration=null,this.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})))},touchMoveHandler:function(t){if(this.canMove&&this.touching){var e=t.touches[0].pageX-this.startX,n=t.touches[0].pageY-this.startY;if(Math.abs(n)>1.5*Math.abs(e)||t.cancelable&&t.preventDefault(),(e/=3)>0)this.direction=-1;else{if(!(e<0))return;this.direction=1}this.offsetX=e+this.endX;this.getMiddleRotate(e);this.setWrapper(this.offsetX),this.setCube(this.offsetX,this.offsetX>0?e:-e)}},touchEndHandler:function(t){if(this.canMove&&this.touching){var e,n=this.offsetX%this.ITEM_WIDTH*this.direction;((e=-(e=0==n?this.offsetX/this.ITEM_WIDTH:n>0&&n<this.ITEM_WIDTH*(3/4)||n<0&&n>=-this.ITEM_WIDTH*(1/4)?Math.ceil(this.offsetX/this.ITEM_WIDTH):Math.floor(this.offsetX/this.ITEM_WIDTH)))>=this.data_bottom.length+this.clone||e<=this.clone-1)&&(this.canMove=!1),this.goto(e,400),this.startPlay(),this.touching=!1}},continueTransition:function(){var t=l(this.$wrapper,"transform"),e=l(this.$wrapper,"perspective-origin");t&&this.$wrapper.style.transitionDuration&&(this.$wrapper.style.transform=t,this.$wrapper.style.perspectiveOrigin=e,this.$cubes.forEach((function(t){t.style.transform=l(t,"transform"),t.style.opacity=+l(t,"opacity"),t.style.transformOrigin=l(t,"transform-origin")})),this.endX=0)},setWrapper:function(t,e,n){var i=this;this.offsetX=t,e>0&&(this.$wrapper.style.transitionDuration="".concat(e,"ms")),n?setTimeout((function(){i.$wrapper.style.transform="translate3d(".concat(t,"px, 0, 0)")}),0):this.$wrapper.style.transform="translate3d(".concat(t,"px, 0, 0)")},setCube:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.$cubes.forEach((function(i,r){i.style.transition&&(i.style.transition=null);var a=r*e.ITEM_WIDTH+t;if(a>e.computeWidth[-1]&&a<e.computeWidth[0]){var o=c(a%e.ITEM_WIDTH,0,-e.ITEM_WIDTH,-e.ITEM_WIDTH);i.style.transform="rotateY(".concat(e.getBetweenRotate(a),"deg) translate3d(0, ").concat(e.getTranslate(a),"px, 0)"),i.style.opacity=e.getOpacity(o)}else if(a>e.computeWidth[3]&&a<e.computeWidth[4]){var s=c(a%e.ITEM_WIDTH,0,e.ITEM_WIDTH,e.ITEM_WIDTH);i.style.transform="rotateY(".concat(e.getBetweenRotate(a),"deg) translate3d(0, ").concat(e.getTranslate(a),"px, 0)"),i.style.opacity=e.getOpacity(s)}else a>=e.computeWidth[4]&&a<e.computeWidth[5]?(i.style.transform="rotateY(60deg) translate3d(0, ".concat(e.getTranslate(a),"px, 0)"),i.style.opacity=0):a>e.computeWidth[-2]&&a<=e.computeWidth[-1]?(i.style.transform="rotateY(-60deg) translate3d(0, ".concat(e.getTranslate(a),"px, 0)"),i.style.opacity=0):a>=e.computeWidth[0]&&a<=e.computeWidth[3]&&(i.style.transform="rotateY(".concat(e.getMiddleRotate(n),"deg) translate3d(0, ").concat(e.getTranslate(a),"px, 0)"),i.style.opacity=1);i.style.transformOrigin=e.getTransformOrigin(a)}))},getTransformOrigin:function(t,e){if(t>=this.computeWidth[-1]&&t<=this.computeWidth[4]){var n=this.ITEM_WIDTH-t/3;return n<this.computeWidth[0]?n=this.computeWidth[0]:n>this.computeWidth[1]&&(n=this.computeWidth[1]),"".concat(n,"px center")}},getBetweenRotate:function(t){return t%this.ITEM_WIDTH*(360/this.$wrapper.clientWidth)*70/90},getMiddleRotate:function(t){var e=.35;return t>5*this.ITEM_WIDTH/10?.35*(this.ITEM_WIDTH-t):t<5*-this.ITEM_WIDTH/10?-.35*(this.ITEM_WIDTH+t):e*t},getOpacity:function(t){return 1-Math.abs(t)/this.ITEM_WIDTH%1},getTranslate:function(t){return t>this.computeWidth[2]?t>this.computeWidth[3]?(this.computeWidth[3]-t)/5:(this.computeWidth[3]-t)/7:t<this.computeWidth[1]?t<0?t/5:t/7:this.ITEM_WIDTH/7},transitionEndHandler:function(t){var e=this;t.target===this.$wrapper&&(this.$wrapper.style.transitionDuration=null,this.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})),this.$wrapper.style.webkitPerspectiveOrigin="".concat(this.current*this.ITEM_WIDTH+this.$wrapper.clientWidth/2,"px center"),this.current>=this.data_bottom.length+this.clone?(this.goto(this.current%this.data_bottom.length,0),setTimeout((function(){e.canMove=!0}),0)):this.current<=this.clone-1&&(this.goto(this.data_bottom.length+this.current,0),setTimeout((function(){e.canMove=!0}),0)))},goto:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,i=arguments.length>2?arguments[2]:void 0,r=i?t-.5:t;this.$wrapper.style.webkitPerspectiveOrigin="".concat(r*this.ITEM_WIDTH+this.$wrapper.clientWidth/2,"px center"),this.current=t,this.endX=-t*this.ITEM_WIDTH,n?(this.setWrapper(this.endX,n),this.$cubes.forEach((function(r,a){var o=a*e.ITEM_WIDTH+e.endX;r.style.transformOrigin=e.getTransformOrigin(o),t-1==a?(r.style.transition="all ".concat(n,"ms cubic-bezier(0.215, 0.610, 0.355, 1.000)"),r.style.transform="rotateY(-60deg) translate3d(0, ".concat(e.getTranslate(r.offsetLeft+e.endX),"px, 0)"),r.style.opacity=0):t+4==a?(r.style.transition="all ".concat(n,"ms cubic-bezier(0.215, 0.610, 0.355, 1.000)"),r.style.transform="rotateY(60deg) translate3d(0, ".concat(e.getTranslate(r.offsetLeft+e.endX),"px, 0)"),r.style.opacity=0):a>t-1&&a<t+4?(r.style.transition=i?"transform ".concat(n,"ms cubic-bezier(0.22, 0.01, 0.68, 1.00), opacity ").concat(.9*n,"ms cubic-bezier(0.62, 0.02, 0.68, 1.00)"):"all ".concat(n,"ms cubic-bezier(0.390, 0.575, 0.565, 1.000)"),r.style.transform="rotateY(0.1deg) translate3d(0, ".concat(e.getTranslate(r.offsetLeft+e.endX),"px, 0)"),r.style.opacity=1):(r.style.transition=null,r.style.transform=null,r.style.opacity=null,r.style.transformOrigin=null)}))):(this.$wrapper.style.transitionDuration=null,this.$wrapper.style.transitionDuration=null,this.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})),this.setCube(this.endX,0),this.setWrapper(this.endX,0,!0))}}},p=Object(o.a)(u,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"cube"},[e("div",{ref:"container",staticClass:"adjust-position cube-container"},[e("div",{ref:"wrapper",staticClass:"cube-wrapper",on:{transitionend:t.transitionEndHandler}},[t._l(t.clone,(function(n){return e("div",{key:"clone-prev-"+n,staticClass:"cube-col"},[e("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_top[n+t.data_bottom.length-t.clone-1]},on:{clickEvent:t.clickEvent}}),t._v(" "),e("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_bottom[n+t.data_bottom.length-t.clone-1]},on:{clickEvent:t.clickEvent}})],1)})),t._v(" "),t._l(t.data_bottom,(function(n,i){return e("div",{key:i,staticClass:"cube-col cube-col--anime"},[e("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_top[i]},on:{clickEvent:t.clickEvent}}),t._v(" "),e("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_bottom[i]},on:{clickEvent:t.clickEvent}})],1)})),t._v(" "),t._l(t.data_bottom.slice(0,t.clone),(function(n,i){return e("div",{key:"clone-next-"+i,staticClass:"cube-col"},[e("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_top[i]},on:{clickEvent:t.clickEvent}}),t._v(" "),e("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_bottom[i]},on:{clickEvent:t.clickEvent}})],1)}))],2)])])}),[],!1,null,null,null).exports,d={name:"nut-magic",components:{Cube:p},props:{data:{type:[Object,Array],default:function(){return[]}},type:{type:String,default:"rank"},autoplay:{default:!0}},computed:{},data:function(){return{}},watch:{data:function(t,e){}},methods:{clickItem:function(t){this.$emit("click",t)}}},h=Object(o.a)(d,(function(){var t=this._self._c;return this.data&&this.data.length>=8?t("Cube",{attrs:{dataMagic:this.data,type:this.type,autoplay:this.autoplay},on:{clickItem:this.clickItem}}):this._e()}),[],!1,null,"601c4726",null).exports;n(156);h.install=function(t){t.component(h.name,h),t.component("Cube",p),t.component("CubeItem",s)};e.default=h},48:function(t,e,n){var i=n(9);t.exports=function(t){if(Array.isArray(t))return i(t)},t.exports.__esModule=!0,t.exports.default=t.exports},49:function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},t.exports.__esModule=!0,t.exports.default=t.exports},5:function(t,e,n){var i=n(48),r=n(49),a=n(15),o=n(50);t.exports=function(t){return i(t)||r(t)||a(t)||o()},t.exports.__esModule=!0,t.exports.default=t.exports},50:function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.__esModule=!0,t.exports.default=t.exports},9:function(t,e){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i},t.exports.__esModule=!0,t.exports.default=t.exports}})}));
6
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("magic",[],e):"object"==typeof exports?exports.magic=e():t.magic=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="./",n(n.s=160)}({0:function(t,e,n){"use strict";function i(t,e,n,i,r,a,o,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):r&&(c=s?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:t,options:l}}n.d(e,"a",(function(){return i}))},15:function(t,e,n){var i=n(9);t.exports=function(t,e){if(t){if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports},156:function(t,e,n){},160:function(t,e,n){"use strict";n.r(e);var i=n(5),r=n.n(i),a={name:"CubeItem",props:{item:{type:Object,default:null}},data:function(){return{}},methods:{cubeClick:function(t){this.$emit("clickEvent",t)}}},o=n(0),s=Object(o.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:"cube-item cube-item--"+t.item.type,on:{click:function(e){return t.cubeClick(t.item)}}},[n("div",{staticClass:"cube-item-box"},[n("div",{staticClass:"sub-image",style:{backgroundImage:"url("+t.item.pictureUrl+")"}})]),t._v(" "),t.item.desc?n("div",{staticClass:"sub-desc"},[n("span",[t._v(t._s(t.item.desc))])]):t._e(),t._v(" "),t.item.name?n("div",{staticClass:"sub-name"},[n("span",[t._v(t._s(t.item.name))])]):t._e()])}),[],!1,null,null,null).exports;function c(t,e,n,i){return-n*(t/=i)*(t-2)+e}function l(t,e){var n=window.getComputedStyle(t,null),i=n.getPropertyValue("-webkit-"+e)||n.getPropertyValue("-moz-"+e)||n.getPropertyValue("-ms-"+e)||n.getPropertyValue("-o-"+e)||n.getPropertyValue(e);return i&&"none"!=i?i:null}var u={props:{dataMagic:{type:[Object,Array],default:null},type:{type:String,default:"rank"},overflow:{type:[String,Number],default:1.4,validator:function(t){return t>=1&&t<1.5}},autoplay:{type:Boolean,default:!1},interval:{type:[String,Number],default:3e3}},components:{CubeItem:s},data:function(){return{clone:4}},computed:{data_top:function(){return this.dataMagic.filter((function(t,e){return e%2==0}))},data_bottom:function(){return this.dataMagic.filter((function(t,e){return e%2==1}))}},watch:{autoplay:function(t){t?this.startPlay():this.clearPlayer()}},mounted:function(){var t=this;this.$nextTick((function(){t.canMove=!0,t.$wrapper=t.$refs.wrapper,t.$cubes=r()(t.$wrapper.children),t.ITEM_WIDTH=t.$wrapper.clientWidth/4,t.computeWidth={"-2":2*-t.ITEM_WIDTH,"-1":-t.ITEM_WIDTH,0:0,1:t.ITEM_WIDTH,2:2*t.ITEM_WIDTH,3:3*t.ITEM_WIDTH,4:4*t.ITEM_WIDTH,5:5*t.ITEM_WIDTH},t.current=t.clone,t.endX=-t.ITEM_WIDTH*t.current,t.offsetX=t.endX,t.$wrapper.style.transitionDuration=null,t.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})),t.setWrapper(t.endX),t.setCube(t.endX),t.$wrapper.style.webkitPerspectiveOrigin="".concat(t.current*t.ITEM_WIDTH+t.$wrapper.clientWidth/2,"px center"),setTimeout((function(){t.startPlay(),t.$wrapper.classList.add("cube-wrapper--inited")}),1e3),t.bindEvent()})),this.initWQVisibleEvent(),document.addEventListener("visibilitychange",(function(e){e.hidden?t.clearPlayer():t.startPlay()}))},methods:{clickEvent:function(t){this.$emit("clickItem",t)},bindEvent:function(){this.$wrapper.addEventListener("touchstart",this.touchStartHandler),this.$wrapper.addEventListener("touchmove",this.touchMoveHandler),this.$wrapper.addEventListener("touchend",this.touchEndHandler)},initWQVisibleEvent:function(){document.addEventListener("qbrowserVisibilityChange",(function(t){var e=document.createEvent("HTMLEvents");e.initEvent("visibilitychange",!1,!1),e.hidden=t.hidden,document.dispatchEvent(e)}),!0),document.addEventListener("visibilitychange",(function(t){t.hidden=void 0===t.hidden?document.hidden:t.hidden}),!0)},startPlay:function(){var t=this;this.autoplay&&(this.clearPlayer(),this.player=setInterval((function(){t.canMove=!0,t.goto(t.current+1,600,!0)}),this.interval))},clearPlayer:function(){clearInterval(this.player),this.player=null},touchStartHandler:function(t){this.canMove&&(this.clearPlayer(),this.touching=!0,this.$wrapper.style.transitionDuration,this.startX=t.touches[0].pageX,this.startY=t.touches[0].pageY,this.$wrapper.style.transitionDuration=null,this.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})))},touchMoveHandler:function(t){if(this.canMove&&this.touching){var e=t.touches[0].pageX-this.startX,n=t.touches[0].pageY-this.startY;if(Math.abs(n)>1.5*Math.abs(e)||t.cancelable&&t.preventDefault(),(e/=3)>0)this.direction=-1;else{if(!(e<0))return;this.direction=1}this.offsetX=e+this.endX;this.getMiddleRotate(e);this.setWrapper(this.offsetX),this.setCube(this.offsetX,this.offsetX>0?e:-e)}},touchEndHandler:function(t){if(this.canMove&&this.touching){var e,n=this.offsetX%this.ITEM_WIDTH*this.direction;((e=-(e=0==n?this.offsetX/this.ITEM_WIDTH:n>0&&n<this.ITEM_WIDTH*(3/4)||n<0&&n>=-this.ITEM_WIDTH*(1/4)?Math.ceil(this.offsetX/this.ITEM_WIDTH):Math.floor(this.offsetX/this.ITEM_WIDTH)))>=this.data_bottom.length+this.clone||e<=this.clone-1)&&(this.canMove=!1),this.goto(e,400),this.startPlay(),this.touching=!1}},continueTransition:function(){var t=l(this.$wrapper,"transform"),e=l(this.$wrapper,"perspective-origin");t&&this.$wrapper.style.transitionDuration&&(this.$wrapper.style.transform=t,this.$wrapper.style.perspectiveOrigin=e,this.$cubes.forEach((function(t){t.style.transform=l(t,"transform"),t.style.opacity=+l(t,"opacity"),t.style.transformOrigin=l(t,"transform-origin")})),this.endX=0)},setWrapper:function(t,e,n){var i=this;this.offsetX=t,e>0&&(this.$wrapper.style.transitionDuration="".concat(e,"ms")),n?setTimeout((function(){i.$wrapper.style.transform="translate3d(".concat(t,"px, 0, 0)")}),0):this.$wrapper.style.transform="translate3d(".concat(t,"px, 0, 0)")},setCube:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.$cubes.forEach((function(i,r){i.style.transition&&(i.style.transition=null);var a=r*e.ITEM_WIDTH+t;if(a>e.computeWidth[-1]&&a<e.computeWidth[0]){var o=c(a%e.ITEM_WIDTH,0,-e.ITEM_WIDTH,-e.ITEM_WIDTH);i.style.transform="rotateY(".concat(e.getBetweenRotate(a),"deg) translate3d(0, ").concat(e.getTranslate(a),"px, 0)"),i.style.opacity=e.getOpacity(o)}else if(a>e.computeWidth[3]&&a<e.computeWidth[4]){var s=c(a%e.ITEM_WIDTH,0,e.ITEM_WIDTH,e.ITEM_WIDTH);i.style.transform="rotateY(".concat(e.getBetweenRotate(a),"deg) translate3d(0, ").concat(e.getTranslate(a),"px, 0)"),i.style.opacity=e.getOpacity(s)}else a>=e.computeWidth[4]&&a<e.computeWidth[5]?(i.style.transform="rotateY(60deg) translate3d(0, ".concat(e.getTranslate(a),"px, 0)"),i.style.opacity=0):a>e.computeWidth[-2]&&a<=e.computeWidth[-1]?(i.style.transform="rotateY(-60deg) translate3d(0, ".concat(e.getTranslate(a),"px, 0)"),i.style.opacity=0):a>=e.computeWidth[0]&&a<=e.computeWidth[3]&&(i.style.transform="rotateY(".concat(e.getMiddleRotate(n),"deg) translate3d(0, ").concat(e.getTranslate(a),"px, 0)"),i.style.opacity=1);i.style.transformOrigin=e.getTransformOrigin(a)}))},getTransformOrigin:function(t,e){if(t>=this.computeWidth[-1]&&t<=this.computeWidth[4]){var n=this.ITEM_WIDTH-t/3;return n<this.computeWidth[0]?n=this.computeWidth[0]:n>this.computeWidth[1]&&(n=this.computeWidth[1]),"".concat(n,"px center")}},getBetweenRotate:function(t){return t%this.ITEM_WIDTH*(360/this.$wrapper.clientWidth)*70/90},getMiddleRotate:function(t){var e=.35;return t>5*this.ITEM_WIDTH/10?.35*(this.ITEM_WIDTH-t):t<5*-this.ITEM_WIDTH/10?-.35*(this.ITEM_WIDTH+t):e*t},getOpacity:function(t){return 1-Math.abs(t)/this.ITEM_WIDTH%1},getTranslate:function(t){return t>this.computeWidth[2]?t>this.computeWidth[3]?(this.computeWidth[3]-t)/5:(this.computeWidth[3]-t)/7:t<this.computeWidth[1]?t<0?t/5:t/7:this.ITEM_WIDTH/7},transitionEndHandler:function(t){var e=this;t.target===this.$wrapper&&(this.$wrapper.style.transitionDuration=null,this.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})),this.$wrapper.style.webkitPerspectiveOrigin="".concat(this.current*this.ITEM_WIDTH+this.$wrapper.clientWidth/2,"px center"),this.current>=this.data_bottom.length+this.clone?(this.goto(this.current%this.data_bottom.length,0),setTimeout((function(){e.canMove=!0}),0)):this.current<=this.clone-1&&(this.goto(this.data_bottom.length+this.current,0),setTimeout((function(){e.canMove=!0}),0)))},goto:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,i=arguments.length>2?arguments[2]:void 0,r=i?t-.5:t;this.$wrapper.style.webkitPerspectiveOrigin="".concat(r*this.ITEM_WIDTH+this.$wrapper.clientWidth/2,"px center"),this.current=t,this.endX=-t*this.ITEM_WIDTH,n?(this.setWrapper(this.endX,n),this.$cubes.forEach((function(r,a){var o=a*e.ITEM_WIDTH+e.endX;r.style.transformOrigin=e.getTransformOrigin(o),t-1==a?(r.style.transition="all ".concat(n,"ms cubic-bezier(0.215, 0.610, 0.355, 1.000)"),r.style.transform="rotateY(-60deg) translate3d(0, ".concat(e.getTranslate(r.offsetLeft+e.endX),"px, 0)"),r.style.opacity=0):t+4==a?(r.style.transition="all ".concat(n,"ms cubic-bezier(0.215, 0.610, 0.355, 1.000)"),r.style.transform="rotateY(60deg) translate3d(0, ".concat(e.getTranslate(r.offsetLeft+e.endX),"px, 0)"),r.style.opacity=0):a>t-1&&a<t+4?(r.style.transition=i?"transform ".concat(n,"ms cubic-bezier(0.22, 0.01, 0.68, 1.00), opacity ").concat(.9*n,"ms cubic-bezier(0.62, 0.02, 0.68, 1.00)"):"all ".concat(n,"ms cubic-bezier(0.390, 0.575, 0.565, 1.000)"),r.style.transform="rotateY(0.1deg) translate3d(0, ".concat(e.getTranslate(r.offsetLeft+e.endX),"px, 0)"),r.style.opacity=1):(r.style.transition=null,r.style.transform=null,r.style.opacity=null,r.style.transformOrigin=null)}))):(this.$wrapper.style.transitionDuration=null,this.$wrapper.style.transitionDuration=null,this.$cubes.forEach((function(t,e){t.style.transition&&(t.style.transition=null)})),this.setCube(this.endX,0),this.setWrapper(this.endX,0,!0))}}},p=Object(o.a)(u,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"cube"},[n("div",{ref:"container",staticClass:"adjust-position cube-container"},[n("div",{ref:"wrapper",staticClass:"cube-wrapper",on:{transitionend:t.transitionEndHandler}},[t._l(t.clone,(function(e){return n("div",{key:"clone-prev-"+e,staticClass:"cube-col"},[n("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_top[e+t.data_bottom.length-t.clone-1]},on:{clickEvent:t.clickEvent}}),t._v(" "),n("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_bottom[e+t.data_bottom.length-t.clone-1]},on:{clickEvent:t.clickEvent}})],1)})),t._v(" "),t._l(t.data_bottom,(function(e,i){return n("div",{key:i,staticClass:"cube-col cube-col--anime"},[n("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_top[i]},on:{clickEvent:t.clickEvent}}),t._v(" "),n("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_bottom[i]},on:{clickEvent:t.clickEvent}})],1)})),t._v(" "),t._l(t.data_bottom.slice(0,t.clone),(function(e,i){return n("div",{key:"clone-next-"+i,staticClass:"cube-col"},[n("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_top[i]},on:{clickEvent:t.clickEvent}}),t._v(" "),n("CubeItem",{staticClass:"cube-item-wrap",attrs:{item:t.data_bottom[i]},on:{clickEvent:t.clickEvent}})],1)}))],2)])])}),[],!1,null,null,null).exports,d={name:"nut-magic",components:{Cube:p},props:{data:{type:[Object,Array],default:function(){return[]}},type:{type:String,default:"rank"},autoplay:{default:!0}},computed:{},data:function(){return{}},watch:{data:function(t,e){}},methods:{clickItem:function(t){this.$emit("click",t)}}},h=Object(o.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return this.data&&this.data.length>=8?e("Cube",{attrs:{dataMagic:this.data,type:this.type,autoplay:this.autoplay},on:{clickItem:this.clickItem}}):this._e()}),[],!1,null,"601c4726",null).exports;n(156);h.install=function(t){t.component(h.name,h),t.component("Cube",p),t.component("CubeItem",s)};e.default=h},48:function(t,e,n){var i=n(9);t.exports=function(t){if(Array.isArray(t))return i(t)},t.exports.__esModule=!0,t.exports.default=t.exports},49:function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},t.exports.__esModule=!0,t.exports.default=t.exports},5:function(t,e,n){var i=n(48),r=n(49),a=n(15),o=n(50);t.exports=function(t){return i(t)||r(t)||a(t)||o()},t.exports.__esModule=!0,t.exports.default=t.exports},50:function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.__esModule=!0,t.exports.default=t.exports},9:function(t,e){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i},t.exports.__esModule=!0,t.exports.default=t.exports}})}));
7
7
  //# sourceMappingURL=magic.js.map
@@ -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]/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://[name]/./src/packages/magic/magic.vue?9c2c","webpack://[name]/./src/packages/magic/Cube/CubeItem.vue?d719","webpack://[name]/src/packages/magic/Cube/CubeItem.vue","webpack://[name]/./src/packages/magic/Cube/CubeItem.vue","webpack://[name]/./src/packages/magic/Cube/CubeItem.vue?28c3","webpack://[name]/src/packages/magic/Cube/index.vue","webpack://[name]/./src/packages/magic/Cube/index.vue?2ba2","webpack://[name]/./src/packages/magic/Cube/index.vue","webpack://[name]/./src/packages/magic/Cube/index.vue?923b","webpack://[name]/./src/packages/magic/magic.vue?d35f","webpack://[name]/src/packages/magic/magic.vue","webpack://[name]/./src/packages/magic/magic.vue","webpack://[name]/./src/packages/magic/index.js","webpack://[name]/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://[name]/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://[name]/./node_modules/@babel/runtime/helpers/arrayLikeToArray.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","arrayLikeToArray","minLen","toString","slice","constructor","Array","from","test","props","item","type","default","data","methods","cubeClick","$emit","_vm","_c","_self","class","on","$event","staticClass","style","backgroundImage","pictureUrl","_v","_s","desc","_e","cubicEaseOut","b","getPropertyValue","el","attr","st","window","getComputedStyle","tr","dataMagic","String","overflow","Number","validator","autoplay","Boolean","interval","components","CubeItem","clone","computed","data_top","filter","data_bottom","watch","startPlay","clearPlayer","mounted","_this","$nextTick","canMove","$wrapper","$refs","wrapper","$cubes","_toConsumableArray","children","ITEM_WIDTH","clientWidth","computeWidth","current","endX","offsetX","transitionDuration","forEach","cube","idx","transition","setWrapper","setCube","webkitPerspectiveOrigin","setTimeout","classList","bindEvent","initWQVisibleEvent","document","addEventListener","e","hidden","clickEvent","touchStartHandler","touchMoveHandler","touchEndHandler","evt","createEvent","initEvent","dispatchEvent","undefined","_this2","player","setInterval","goto","clearInterval","touching","startX","touches","pageX","startY","pageY","moveX","moveY","Math","abs","cancelable","preventDefault","direction","getMiddleRotate","cur","overX","ceil","floor","length","continueTransition","_wrapperTr","_wrapperPo","transform","perspectiveOrigin","opacity","transformOrigin","nowX","time","wait","_this3","_this4","rotate","arguments","_offset","bezier_offset","getBetweenRotate","getTranslate","getOpacity","getTransformOrigin","to","a","transitionEndHandler","event","_this5","target","_this6","duration","isAutoPlay","nextCur","offsetLeft","ref","_l","attrs","Cube","newV","old","clickItem","Magic","install","Vue","component","arr","isArray","iter","iterator","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","TypeError","len","arr2"],"mappings":"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","file":"magic/magic.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(\"magic\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"magic\"] = factory();\n\telse\n\t\troot[\"magic\"] = 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 = 160);\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 =\n typeof scriptExports === 'function' ? scriptExports.options : 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) {\n // 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 ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.data && _vm.data.length >= 8)?_c('Cube',{attrs:{\"dataMagic\":_vm.data,\"type\":_vm.type,\"autoplay\":_vm.autoplay},on:{\"clickItem\":_vm.clickItem}}):_vm._e()\n}\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!./CubeItem.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!./CubeItem.vue?vue&type=script&lang=js&\"","<template>\n <div :class=\"`cube-item cube-item--${item.type}`\" @click=\"cubeClick(item)\">\n <div class=\"cube-item-box\">\n <div class=\"sub-image\" :style=\"{ backgroundImage: `url(${item.pictureUrl})` }\"></div>\n </div>\n <div class=\"sub-desc\" v-if=\"item.desc\">\n <span>{{ item.desc }}</span>\n </div>\n <div class=\"sub-name\" v-if=\"item.name\">\n <span>{{ item.name }}</span>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'CubeItem',\n props: {\n item: {\n type: Object,\n default: null\n }\n },\n data() {\n return {};\n },\n methods: {\n cubeClick(item) {\n this.$emit('clickEvent', item);\n }\n }\n};\n</script>\n\n<style lang=\"scss\"></style>\n","import { render, staticRenderFns } from \"./CubeItem.vue?vue&type=template&id=12be9f58&\"\nimport script from \"./CubeItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CubeItem.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`cube-item cube-item--${_vm.item.type}`,on:{\"click\":function($event){return _vm.cubeClick(_vm.item)}}},[_c('div',{staticClass:\"cube-item-box\"},[_c('div',{staticClass:\"sub-image\",style:({ backgroundImage: `url(${_vm.item.pictureUrl})` })})]),_vm._v(\" \"),(_vm.item.desc)?_c('div',{staticClass:\"sub-desc\"},[_c('span',[_vm._v(_vm._s(_vm.item.desc))])]):_vm._e(),_vm._v(\" \"),(_vm.item.name)?_c('div',{staticClass:\"sub-name\"},[_c('span',[_vm._v(_vm._s(_vm.item.name))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"cube\">\n <div class=\"adjust-position cube-container\" ref=\"container\">\n <div class=\"cube-wrapper\" ref=\"wrapper\" @transitionend=\"transitionEndHandler\">\n <div class=\"cube-col\" v-for=\"i in clone\" :key=\"'clone-prev-' + i\">\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_top[i + data_bottom.length - clone - 1]\" />\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_bottom[i + data_bottom.length - clone - 1]\" />\n </div>\n <div class=\"cube-col cube-col--anime\" v-for=\"(item, i) in data_bottom\" :key=\"i\">\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_top[i]\" />\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_bottom[i]\" />\n </div>\n <div class=\"cube-col\" v-for=\"(item, i) in data_bottom.slice(0, clone)\" :key=\"'clone-next-' + i\">\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_top[i]\" />\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_bottom[i]\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport CubeItem from './CubeItem';\n// 贝赛尔缓冲曲线计算公式\nfunction sineEaseOut(t, b, c, d) {\n return c * Math.sin((t / d) * (Math.PI / 2)) + b;\n}\nfunction cubicEaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n}\n// 获取计算属性\nfunction getPropertyValue(el, attr) {\n const st = window.getComputedStyle(el, null);\n const tr =\n st.getPropertyValue('-webkit-' + attr) ||\n st.getPropertyValue('-moz-' + attr) ||\n st.getPropertyValue('-ms-' + attr) ||\n st.getPropertyValue('-o-' + attr) ||\n st.getPropertyValue(attr);\n if (tr && tr != 'none') {\n return tr;\n }\n return null;\n}\nexport default {\n props: {\n dataMagic: {\n type: [Object, Array],\n default: null\n },\n type: {\n type: String,\n default: 'rank'\n },\n // 溢出可滑动的倍数\n overflow: {\n type: [String, Number],\n default: 1.4,\n validator: value => {\n return value >= 1 && value < 1.5;\n }\n },\n autoplay: {\n type: Boolean,\n default: false\n },\n interval: {\n type: [String, Number],\n default: 3000\n }\n },\n components: {\n CubeItem\n },\n data() {\n return {\n // 克隆数目\n clone: 4\n };\n },\n computed: {\n data_top() {\n return this.dataMagic.filter((item, i) => i % 2 == 0);\n },\n data_bottom() {\n return this.dataMagic.filter((item, i) => i % 2 == 1);\n }\n },\n watch: {\n autoplay(value) {\n value ? this.startPlay() : this.clearPlayer();\n }\n },\n // computed: {\n // ...mapGetters([\n // 'xHeight'\n // ]),\n // styleTop() {\n // let top = (this.xHeight * 0.244) + 12\n // return {\n // marginTop: `${this.xHeight}px`,\n // }\n // }\n // },\n mounted() {\n this.$nextTick(() => {\n this.canMove = true;\n this.$wrapper = this.$refs.wrapper;\n this.$cubes = [...this.$wrapper.children];\n // 单元大小\n this.ITEM_WIDTH = this.$wrapper.clientWidth / 4;\n this.computeWidth = {\n '-2': -this.ITEM_WIDTH * 2,\n '-1': -this.ITEM_WIDTH,\n '0': 0,\n '1': this.ITEM_WIDTH,\n '2': this.ITEM_WIDTH * 2,\n '3': this.ITEM_WIDTH * 3,\n '4': this.ITEM_WIDTH * 4,\n '5': this.ITEM_WIDTH * 5\n };\n // 起始索引\n this.current = this.clone;\n // 起始位置\n this.endX = -this.ITEM_WIDTH * this.current;\n this.offsetX = this.endX;\n // 设置魔方样式\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n this.setWrapper(this.endX);\n this.setCube(this.endX);\n this.$wrapper.style.webkitPerspectiveOrigin = `${this.current * this.ITEM_WIDTH + this.$wrapper.clientWidth / 2}px center`;\n // 自动播放\n setTimeout(() => {\n this.startPlay();\n this.$wrapper.classList.add('cube-wrapper--inited');\n }, 1000);\n this.bindEvent();\n });\n\n this.initWQVisibleEvent();\n // 防止关闭屏幕/跳出时仍在执行动画\n document.addEventListener('visibilitychange', e => {\n e.hidden ? this.clearPlayer() : this.startPlay();\n });\n },\n methods: {\n clickEvent(item) {\n this.$emit('clickItem', item);\n },\n bindEvent() {\n this.$wrapper.addEventListener('touchstart', this.touchStartHandler);\n this.$wrapper.addEventListener('touchmove', this.touchMoveHandler);\n this.$wrapper.addEventListener('touchend', this.touchEndHandler);\n },\n // 初始化微信手q的展示隐藏事件\n initWQVisibleEvent() {\n document.addEventListener(\n 'qbrowserVisibilityChange',\n function(e) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent('visibilitychange', false, false);\n evt.hidden = e.hidden;\n document.dispatchEvent(evt);\n },\n true\n );\n document.addEventListener(\n 'visibilitychange',\n function(e) {\n e.hidden = e.hidden === undefined ? document.hidden : e.hidden;\n },\n true\n );\n },\n // 播放\n startPlay() {\n if (!this.autoplay) return;\n this.clearPlayer();\n this.player = setInterval(() => {\n // 防止关闭屏幕/跳出时仍在执行\n this.canMove = true;\n this.goto(this.current + 1, 600, true);\n }, this.interval);\n },\n clearPlayer() {\n clearInterval(this.player);\n this.player = null;\n },\n touchStartHandler(e) {\n if (!this.canMove) return;\n this.clearPlayer();\n this.touching = true;\n\n // 追随到当前过渡位置\n if (this.$wrapper.style.transitionDuration) {\n // 正在过渡\n // this.continueTransition()\n }\n\n // 记录起始坐标\n this.startX = e.touches[0].pageX;\n this.startY = e.touches[0].pageY;\n\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n },\n touchMoveHandler(e) {\n if (!this.canMove || !this.touching) return;\n\n let moveX = e.touches[0].pageX - this.startX;\n let moveY = e.touches[0].pageY - this.startY;\n // 防止上下滑动对影响魔方水平滚动的影响\n if (!(Math.abs(moveY) > Math.abs(moveX) * 1.5)) {\n e.cancelable && e.preventDefault();\n }\n // sineEaseOut曲线: 当前x、 起始x、目标y、目标x\n moveX = moveX / 3;\n if (moveX > 0) {\n // moveX = sineEaseOut(moveX, 0, this.ITEM_WIDTH * this.overflow , this.ITEM_WIDTH * 6)\n this.direction = -1;\n } else if (moveX < 0) {\n // moveX = -sineEaseOut(-moveX, 0, this.ITEM_WIDTH * this.overflow , this.ITEM_WIDTH * 6)\n this.direction = 1;\n } else {\n return;\n }\n // 滑动偏移量\n this.offsetX = moveX + this.endX;\n // 设置魔方样式\n\n let rotate = this.getMiddleRotate(moveX);\n this.setWrapper(this.offsetX);\n this.setCube(this.offsetX, this.offsetX > 0 ? moveX : -moveX);\n },\n touchEndHandler(e) {\n if (!this.canMove || !this.touching) return;\n let cur;\n let overX = (this.offsetX % this.ITEM_WIDTH) * this.direction;\n // 计算目标索引\n if (overX == 0) {\n cur = this.offsetX / this.ITEM_WIDTH;\n } else if ((overX > 0 && overX < this.ITEM_WIDTH * (3 / 4)) || (overX < 0 && overX >= -this.ITEM_WIDTH * (1 / 4))) {\n cur = Math.ceil(this.offsetX / this.ITEM_WIDTH);\n } else {\n cur = Math.floor(this.offsetX / this.ITEM_WIDTH);\n }\n cur = -cur;\n // 达到循环边界了,需要禁止滑动,等切换结束才允许继续滑\n if (cur >= this.data_bottom.length + this.clone || cur <= this.clone - 1) {\n this.canMove = false;\n }\n\n // 调整到边界目标距离\n this.goto(cur, 400);\n // this.goto(cur, Math.abs(cur * this.ITEM_WIDTH - Math.abs(this.offsetX)) / this.ITEM_WIDTH * 400)\n\n // 继续自动播放\n this.startPlay();\n this.touching = false;\n },\n /**\n * 中断过渡\n */\n continueTransition() {\n let _wrapperTr = getPropertyValue(this.$wrapper, 'transform');\n let _wrapperPo = getPropertyValue(this.$wrapper, 'perspective-origin');\n if (_wrapperTr && this.$wrapper.style.transitionDuration) {\n (this.$wrapper.style.transform = _wrapperTr), (this.$wrapper.style.perspectiveOrigin = _wrapperPo);\n this.$cubes.forEach(cube => {\n cube.style.transform = getPropertyValue(cube, 'transform');\n cube.style.opacity = +getPropertyValue(cube, 'opacity');\n cube.style.transformOrigin = getPropertyValue(cube, 'transform-origin');\n });\n // 记录当前位置\n this.endX = 0;\n }\n },\n /**\n * 设置容器滚动\n * nowX: 目标位置\n * time: 过渡时长\n * wait: 运动是否需要滞后\n */\n setWrapper(nowX, time, wait) {\n this.offsetX = nowX;\n if (time > 0) {\n this.$wrapper.style.transitionDuration = `${time}ms`;\n }\n if (wait) {\n setTimeout(() => {\n this.$wrapper.style.transform = `translate3d(${nowX}px, 0, 0)`;\n }, 0);\n } else {\n this.$wrapper.style.transform = `translate3d(${nowX}px, 0, 0)`;\n }\n },\n /**\n * 设置魔方样式\n * nowX: 目标位置\n * rotate: 角度正负\n */\n setCube(nowX, rotate = 0) {\n // 关闭所有过渡\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n let _offset = idx * this.ITEM_WIDTH + nowX;\n if (_offset > this.computeWidth[-1] && _offset < this.computeWidth[0]) {\n // 左边元素\n let bezier_offset = cubicEaseOut(_offset % this.ITEM_WIDTH, 0, -this.ITEM_WIDTH, -this.ITEM_WIDTH);\n cube.style.transform = `rotateY(${this.getBetweenRotate(_offset)}deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = this.getOpacity(bezier_offset);\n } else if (_offset > this.computeWidth[3] && _offset < this.computeWidth[4]) {\n // 右边元素\n let bezier_offset = cubicEaseOut(_offset % this.ITEM_WIDTH, 0, this.ITEM_WIDTH, this.ITEM_WIDTH);\n cube.style.transform = `rotateY(${this.getBetweenRotate(_offset)}deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = this.getOpacity(bezier_offset);\n } else if (_offset >= this.computeWidth[4] && _offset < this.computeWidth[5]) {\n // 最右边元素(自动播放时的预备状态)\n cube.style.transform = `rotateY(60deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = 0;\n } else if (_offset > this.computeWidth[-2] && _offset <= this.computeWidth[-1]) {\n // 最左边元素(自动播放时的预备状态)\n cube.style.transform = `rotateY(-60deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = 0;\n } else if (_offset >= this.computeWidth[0] && _offset <= this.computeWidth[3]) {\n // 中间元素\n cube.style.transform = `rotateY(${this.getMiddleRotate(rotate)}deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = 1;\n }\n cube.style.transformOrigin = this.getTransformOrigin(_offset);\n });\n },\n // 设置魔方的变化基准点\n getTransformOrigin(d, overflow) {\n if (d >= this.computeWidth[-1] && d <= this.computeWidth[4]) {\n let to = this.ITEM_WIDTH - d / 3;\n if (to < this.computeWidth[0]) {\n to = this.computeWidth[0];\n } else if (to > this.computeWidth[1]) {\n to = this.computeWidth[1];\n }\n return `${to}px center`;\n }\n },\n // 设置两侧魔方的旋转\n getBetweenRotate(d) {\n return ((d % this.ITEM_WIDTH) * (360 / this.$wrapper.clientWidth) * 70) / 90;\n },\n // 设置中间魔方的旋转, 假设临界值交点为5 * 魔方宽度,减缓数率a为0.4\n getMiddleRotate(d) {\n let mid = 5;\n let a = 0.35;\n // 下降曲线:y2 = bx + k 得出 b = -7/3、k = 7/3 所以:y2 = -7/3x + 7/3w\n if (d > (this.ITEM_WIDTH * mid) / 10) {\n return ((a * mid) / (10 - mid)) * (this.ITEM_WIDTH - d);\n } else if (d < (-this.ITEM_WIDTH * mid) / 10) {\n return ((-a * mid) / (10 - mid)) * (this.ITEM_WIDTH + d);\n } else {\n // 上升曲线:y1 = ax 设 a = 0.2\n return a * d;\n }\n },\n // 设置透明度\n getOpacity(d) {\n return 1 - ((Math.abs(d) / this.ITEM_WIDTH) % 1);\n },\n // 设置偏移量\n getTranslate(d) {\n const slow = 7; // 减缓倍率\n if (d > this.computeWidth[2]) {\n if (d > this.computeWidth[3]) {\n return (this.computeWidth[3] - d) / 5;\n }\n return (this.computeWidth[3] - d) / slow;\n } else if (d < this.computeWidth[1]) {\n if (d < 0) {\n return d / 5;\n }\n return d / slow;\n } else {\n return this.ITEM_WIDTH / slow;\n }\n },\n // 检测无限循环\n transitionEndHandler(event) {\n if (event.target === this.$wrapper) {\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n this.$wrapper.style.webkitPerspectiveOrigin = `${this.current * this.ITEM_WIDTH + this.$wrapper.clientWidth / 2}px center`;\n if (this.current >= this.data_bottom.length + this.clone) {\n this.goto(this.current % this.data_bottom.length, 0);\n setTimeout(() => {\n this.canMove = true;\n }, 0);\n } else if (this.current <= this.clone - 1) {\n this.goto(this.data_bottom.length + this.current, 0);\n setTimeout(() => {\n this.canMove = true;\n }, 0);\n }\n }\n },\n /**\n * 跳转到某个索引的位置\n * cur: 目标魔方索引\n * duration: 过渡时长\n */\n goto(cur, duration = 400, isAutoPlay) {\n let nextCur = isAutoPlay ? cur - 0.5 : cur;\n this.$wrapper.style.webkitPerspectiveOrigin = `${nextCur * this.ITEM_WIDTH + this.$wrapper.clientWidth / 2}px center`;\n\n this.current = cur;\n this.endX = -cur * this.ITEM_WIDTH;\n if (!duration) {\n this.$wrapper.style.transitionDuration = null;\n\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n this.setCube(this.endX, 0);\n this.setWrapper(this.endX, 0, true);\n } else {\n // 执行过渡\n this.setWrapper(this.endX, duration);\n this.$cubes.forEach((cube, idx) => {\n let _offset = idx * this.ITEM_WIDTH + this.endX;\n cube.style.transformOrigin = this.getTransformOrigin(_offset);\n if (cur - 1 == idx) {\n // 左边过渡\n cube.style.transition = `all ${duration}ms cubic-bezier(0.215, 0.610, 0.355, 1.000)`;\n cube.style.transform = `rotateY(-60deg) translate3d(0, ${this.getTranslate(cube.offsetLeft + this.endX)}px, 0)`;\n cube.style.opacity = 0;\n } else if (cur + 4 == idx) {\n // 右边过渡\n cube.style.transition = `all ${duration}ms cubic-bezier(0.215, 0.610, 0.355, 1.000)`;\n cube.style.transform = `rotateY(60deg) translate3d(0, ${this.getTranslate(cube.offsetLeft + this.endX)}px, 0)`;\n cube.style.opacity = 0;\n } else if (idx > cur - 1 && idx < cur + 4) {\n // 中间过渡\n if (isAutoPlay) {\n cube.style.transition = `transform ${duration}ms cubic-bezier(0.22, 0.01, 0.68, 1.00), opacity ${duration *\n 0.9}ms cubic-bezier(0.62, 0.02, 0.68, 1.00)`;\n } else {\n cube.style.transition = `all ${duration}ms cubic-bezier(0.390, 0.575, 0.565, 1.000)`;\n }\n cube.style.transform = `rotateY(0.1deg) translate3d(0, ${this.getTranslate(cube.offsetLeft + this.endX)}px, 0)`;\n cube.style.opacity = 1;\n } else {\n cube.style.transition = null;\n cube.style.transform = null;\n cube.style.opacity = null;\n cube.style.transformOrigin = null;\n }\n });\n }\n }\n }\n};\n</script>\n\n<style lang=\"scss\"></style>\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!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=002ab09b&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"cube\"},[_c('div',{ref:\"container\",staticClass:\"adjust-position cube-container\"},[_c('div',{ref:\"wrapper\",staticClass:\"cube-wrapper\",on:{\"transitionend\":_vm.transitionEndHandler}},[_vm._l((_vm.clone),function(i){return _c('div',{key:'clone-prev-' + i,staticClass:\"cube-col\"},[_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_top[i + _vm.data_bottom.length - _vm.clone - 1]},on:{\"clickEvent\":_vm.clickEvent}}),_vm._v(\" \"),_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_bottom[i + _vm.data_bottom.length - _vm.clone - 1]},on:{\"clickEvent\":_vm.clickEvent}})],1)}),_vm._v(\" \"),_vm._l((_vm.data_bottom),function(item,i){return _c('div',{key:i,staticClass:\"cube-col cube-col--anime\"},[_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_top[i]},on:{\"clickEvent\":_vm.clickEvent}}),_vm._v(\" \"),_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_bottom[i]},on:{\"clickEvent\":_vm.clickEvent}})],1)}),_vm._v(\" \"),_vm._l((_vm.data_bottom.slice(0, _vm.clone)),function(item,i){return _c('div',{key:'clone-next-' + i,staticClass:\"cube-col\"},[_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_top[i]},on:{\"clickEvent\":_vm.clickEvent}}),_vm._v(\" \"),_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_bottom[i]},on:{\"clickEvent\":_vm.clickEvent}})],1)})],2)])])\n}\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!./magic.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!./magic.vue?vue&type=script&lang=js&\"","<template>\n <Cube :dataMagic=\"data\" :type=\"type\" :autoplay=\"autoplay\" v-if=\"data && data.length >= 8\" @clickItem=\"clickItem\" />\n</template>\n\n<script>\nimport Cube from './Cube';\n\nexport default {\n name: 'nut-magic',\n components: {\n Cube\n },\n props: {\n data: {\n type: [Object, Array],\n default: () => {\n return [];\n }\n },\n // dataSpecial: {\n // type: [Object, Array],\n // default: null\n // },\n type: {\n type: String,\n default: 'rank'\n },\n autoplay: {\n default: true\n }\n },\n computed: {},\n data() {\n return {};\n },\n watch: {\n data(newV, old) {\n // this.init();\n }\n },\n methods: {\n clickItem(item) {\n this.$emit('click', item);\n }\n }\n};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","import { render, staticRenderFns } from \"./magic.vue?vue&type=template&id=601c4726&scoped=true&\"\nimport script from \"./magic.vue?vue&type=script&lang=js&\"\nexport * from \"./magic.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 \"601c4726\",\n null\n \n)\n\nexport default component.exports","import Magic from './magic.vue';\nimport Cube from './Cube/index.vue';\nimport CubeItem from './Cube/CubeItem.vue';\nimport './magic.scss';\n\nMagic.install = function(Vue) {\n Vue.component(Magic.name, Magic);\n Vue.component('Cube', Cube);\n Vue.component('CubeItem', CubeItem);\n};\n\nexport default Magic;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"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]/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://[name]/./src/packages/magic/magic.vue?efd0","webpack://[name]/./src/packages/magic/Cube/CubeItem.vue?d719","webpack://[name]/src/packages/magic/Cube/CubeItem.vue","webpack://[name]/./src/packages/magic/Cube/CubeItem.vue","webpack://[name]/./src/packages/magic/Cube/CubeItem.vue?ff72","webpack://[name]/src/packages/magic/Cube/index.vue","webpack://[name]/./src/packages/magic/Cube/index.vue?2ba2","webpack://[name]/./src/packages/magic/Cube/index.vue","webpack://[name]/./src/packages/magic/Cube/index.vue?fb79","webpack://[name]/./src/packages/magic/magic.vue?d35f","webpack://[name]/src/packages/magic/magic.vue","webpack://[name]/./src/packages/magic/magic.vue","webpack://[name]/./src/packages/magic/index.js","webpack://[name]/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://[name]/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://[name]/./node_modules/@babel/runtime/helpers/arrayLikeToArray.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","arrayLikeToArray","minLen","toString","slice","constructor","Array","from","test","props","item","type","default","data","methods","cubeClick","$emit","_vm","_h","$createElement","_c","_self","class","on","$event","staticClass","style","backgroundImage","_v","_s","desc","_e","cubicEaseOut","b","getPropertyValue","el","attr","st","window","getComputedStyle","tr","dataMagic","String","overflow","Number","validator","autoplay","Boolean","interval","components","CubeItem","clone","computed","data_top","filter","data_bottom","watch","startPlay","clearPlayer","mounted","_this","$nextTick","canMove","$wrapper","$refs","wrapper","$cubes","_toConsumableArray","children","ITEM_WIDTH","clientWidth","computeWidth","current","endX","offsetX","transitionDuration","forEach","cube","idx","transition","setWrapper","setCube","webkitPerspectiveOrigin","setTimeout","classList","bindEvent","initWQVisibleEvent","document","addEventListener","e","hidden","clickEvent","touchStartHandler","touchMoveHandler","touchEndHandler","evt","createEvent","initEvent","dispatchEvent","undefined","_this2","player","setInterval","goto","clearInterval","touching","startX","touches","pageX","startY","pageY","moveX","moveY","Math","abs","cancelable","preventDefault","direction","getMiddleRotate","cur","overX","ceil","floor","length","continueTransition","_wrapperTr","_wrapperPo","transform","perspectiveOrigin","opacity","transformOrigin","nowX","time","wait","_this3","_this4","rotate","arguments","_offset","bezier_offset","getBetweenRotate","getTranslate","getOpacity","getTransformOrigin","to","a","transitionEndHandler","event","_this5","target","_this6","duration","isAutoPlay","nextCur","offsetLeft","ref","_l","attrs","Cube","newV","old","clickItem","Magic","install","Vue","component","arr","isArray","iter","iterator","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","TypeError","len","arr2"],"mappings":"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","file":"magic/magic.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(\"magic\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"magic\"] = factory();\n\telse\n\t\troot[\"magic\"] = 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 = 160);\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 =\n typeof scriptExports === 'function' ? scriptExports.options : 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) {\n // 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 ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.data && _vm.data.length >= 8)?_c('Cube',{attrs:{\"dataMagic\":_vm.data,\"type\":_vm.type,\"autoplay\":_vm.autoplay},on:{\"clickItem\":_vm.clickItem}}):_vm._e()}\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!./CubeItem.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!./CubeItem.vue?vue&type=script&lang=js&\"","<template>\n <div :class=\"`cube-item cube-item--${item.type}`\" @click=\"cubeClick(item)\">\n <div class=\"cube-item-box\">\n <div class=\"sub-image\" :style=\"{ backgroundImage: `url(${item.pictureUrl})` }\"></div>\n </div>\n <div class=\"sub-desc\" v-if=\"item.desc\">\n <span>{{ item.desc }}</span>\n </div>\n <div class=\"sub-name\" v-if=\"item.name\">\n <span>{{ item.name }}</span>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'CubeItem',\n props: {\n item: {\n type: Object,\n default: null\n }\n },\n data() {\n return {};\n },\n methods: {\n cubeClick(item) {\n this.$emit('clickEvent', item);\n }\n }\n};\n</script>\n\n<style lang=\"scss\"></style>\n","import { render, staticRenderFns } from \"./CubeItem.vue?vue&type=template&id=12be9f58&\"\nimport script from \"./CubeItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CubeItem.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"cube-item cube-item--\" + (_vm.item.type)),on:{\"click\":function($event){return _vm.cubeClick(_vm.item)}}},[_c('div',{staticClass:\"cube-item-box\"},[_c('div',{staticClass:\"sub-image\",style:({ backgroundImage: (\"url(\" + (_vm.item.pictureUrl) + \")\") })})]),_vm._v(\" \"),(_vm.item.desc)?_c('div',{staticClass:\"sub-desc\"},[_c('span',[_vm._v(_vm._s(_vm.item.desc))])]):_vm._e(),_vm._v(\" \"),(_vm.item.name)?_c('div',{staticClass:\"sub-name\"},[_c('span',[_vm._v(_vm._s(_vm.item.name))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"cube\">\n <div class=\"adjust-position cube-container\" ref=\"container\">\n <div class=\"cube-wrapper\" ref=\"wrapper\" @transitionend=\"transitionEndHandler\">\n <div class=\"cube-col\" v-for=\"i in clone\" :key=\"'clone-prev-' + i\">\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_top[i + data_bottom.length - clone - 1]\" />\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_bottom[i + data_bottom.length - clone - 1]\" />\n </div>\n <div class=\"cube-col cube-col--anime\" v-for=\"(item, i) in data_bottom\" :key=\"i\">\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_top[i]\" />\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_bottom[i]\" />\n </div>\n <div class=\"cube-col\" v-for=\"(item, i) in data_bottom.slice(0, clone)\" :key=\"'clone-next-' + i\">\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_top[i]\" />\n <CubeItem @clickEvent=\"clickEvent\" class=\"cube-item-wrap\" :item=\"data_bottom[i]\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport CubeItem from './CubeItem';\n// 贝赛尔缓冲曲线计算公式\nfunction sineEaseOut(t, b, c, d) {\n return c * Math.sin((t / d) * (Math.PI / 2)) + b;\n}\nfunction cubicEaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n}\n// 获取计算属性\nfunction getPropertyValue(el, attr) {\n const st = window.getComputedStyle(el, null);\n const tr =\n st.getPropertyValue('-webkit-' + attr) ||\n st.getPropertyValue('-moz-' + attr) ||\n st.getPropertyValue('-ms-' + attr) ||\n st.getPropertyValue('-o-' + attr) ||\n st.getPropertyValue(attr);\n if (tr && tr != 'none') {\n return tr;\n }\n return null;\n}\nexport default {\n props: {\n dataMagic: {\n type: [Object, Array],\n default: null\n },\n type: {\n type: String,\n default: 'rank'\n },\n // 溢出可滑动的倍数\n overflow: {\n type: [String, Number],\n default: 1.4,\n validator: value => {\n return value >= 1 && value < 1.5;\n }\n },\n autoplay: {\n type: Boolean,\n default: false\n },\n interval: {\n type: [String, Number],\n default: 3000\n }\n },\n components: {\n CubeItem\n },\n data() {\n return {\n // 克隆数目\n clone: 4\n };\n },\n computed: {\n data_top() {\n return this.dataMagic.filter((item, i) => i % 2 == 0);\n },\n data_bottom() {\n return this.dataMagic.filter((item, i) => i % 2 == 1);\n }\n },\n watch: {\n autoplay(value) {\n value ? this.startPlay() : this.clearPlayer();\n }\n },\n // computed: {\n // ...mapGetters([\n // 'xHeight'\n // ]),\n // styleTop() {\n // let top = (this.xHeight * 0.244) + 12\n // return {\n // marginTop: `${this.xHeight}px`,\n // }\n // }\n // },\n mounted() {\n this.$nextTick(() => {\n this.canMove = true;\n this.$wrapper = this.$refs.wrapper;\n this.$cubes = [...this.$wrapper.children];\n // 单元大小\n this.ITEM_WIDTH = this.$wrapper.clientWidth / 4;\n this.computeWidth = {\n '-2': -this.ITEM_WIDTH * 2,\n '-1': -this.ITEM_WIDTH,\n '0': 0,\n '1': this.ITEM_WIDTH,\n '2': this.ITEM_WIDTH * 2,\n '3': this.ITEM_WIDTH * 3,\n '4': this.ITEM_WIDTH * 4,\n '5': this.ITEM_WIDTH * 5\n };\n // 起始索引\n this.current = this.clone;\n // 起始位置\n this.endX = -this.ITEM_WIDTH * this.current;\n this.offsetX = this.endX;\n // 设置魔方样式\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n this.setWrapper(this.endX);\n this.setCube(this.endX);\n this.$wrapper.style.webkitPerspectiveOrigin = `${this.current * this.ITEM_WIDTH + this.$wrapper.clientWidth / 2}px center`;\n // 自动播放\n setTimeout(() => {\n this.startPlay();\n this.$wrapper.classList.add('cube-wrapper--inited');\n }, 1000);\n this.bindEvent();\n });\n\n this.initWQVisibleEvent();\n // 防止关闭屏幕/跳出时仍在执行动画\n document.addEventListener('visibilitychange', e => {\n e.hidden ? this.clearPlayer() : this.startPlay();\n });\n },\n methods: {\n clickEvent(item) {\n this.$emit('clickItem', item);\n },\n bindEvent() {\n this.$wrapper.addEventListener('touchstart', this.touchStartHandler);\n this.$wrapper.addEventListener('touchmove', this.touchMoveHandler);\n this.$wrapper.addEventListener('touchend', this.touchEndHandler);\n },\n // 初始化微信手q的展示隐藏事件\n initWQVisibleEvent() {\n document.addEventListener(\n 'qbrowserVisibilityChange',\n function(e) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent('visibilitychange', false, false);\n evt.hidden = e.hidden;\n document.dispatchEvent(evt);\n },\n true\n );\n document.addEventListener(\n 'visibilitychange',\n function(e) {\n e.hidden = e.hidden === undefined ? document.hidden : e.hidden;\n },\n true\n );\n },\n // 播放\n startPlay() {\n if (!this.autoplay) return;\n this.clearPlayer();\n this.player = setInterval(() => {\n // 防止关闭屏幕/跳出时仍在执行\n this.canMove = true;\n this.goto(this.current + 1, 600, true);\n }, this.interval);\n },\n clearPlayer() {\n clearInterval(this.player);\n this.player = null;\n },\n touchStartHandler(e) {\n if (!this.canMove) return;\n this.clearPlayer();\n this.touching = true;\n\n // 追随到当前过渡位置\n if (this.$wrapper.style.transitionDuration) {\n // 正在过渡\n // this.continueTransition()\n }\n\n // 记录起始坐标\n this.startX = e.touches[0].pageX;\n this.startY = e.touches[0].pageY;\n\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n },\n touchMoveHandler(e) {\n if (!this.canMove || !this.touching) return;\n\n let moveX = e.touches[0].pageX - this.startX;\n let moveY = e.touches[0].pageY - this.startY;\n // 防止上下滑动对影响魔方水平滚动的影响\n if (!(Math.abs(moveY) > Math.abs(moveX) * 1.5)) {\n e.cancelable && e.preventDefault();\n }\n // sineEaseOut曲线: 当前x、 起始x、目标y、目标x\n moveX = moveX / 3;\n if (moveX > 0) {\n // moveX = sineEaseOut(moveX, 0, this.ITEM_WIDTH * this.overflow , this.ITEM_WIDTH * 6)\n this.direction = -1;\n } else if (moveX < 0) {\n // moveX = -sineEaseOut(-moveX, 0, this.ITEM_WIDTH * this.overflow , this.ITEM_WIDTH * 6)\n this.direction = 1;\n } else {\n return;\n }\n // 滑动偏移量\n this.offsetX = moveX + this.endX;\n // 设置魔方样式\n\n let rotate = this.getMiddleRotate(moveX);\n this.setWrapper(this.offsetX);\n this.setCube(this.offsetX, this.offsetX > 0 ? moveX : -moveX);\n },\n touchEndHandler(e) {\n if (!this.canMove || !this.touching) return;\n let cur;\n let overX = (this.offsetX % this.ITEM_WIDTH) * this.direction;\n // 计算目标索引\n if (overX == 0) {\n cur = this.offsetX / this.ITEM_WIDTH;\n } else if ((overX > 0 && overX < this.ITEM_WIDTH * (3 / 4)) || (overX < 0 && overX >= -this.ITEM_WIDTH * (1 / 4))) {\n cur = Math.ceil(this.offsetX / this.ITEM_WIDTH);\n } else {\n cur = Math.floor(this.offsetX / this.ITEM_WIDTH);\n }\n cur = -cur;\n // 达到循环边界了,需要禁止滑动,等切换结束才允许继续滑\n if (cur >= this.data_bottom.length + this.clone || cur <= this.clone - 1) {\n this.canMove = false;\n }\n\n // 调整到边界目标距离\n this.goto(cur, 400);\n // this.goto(cur, Math.abs(cur * this.ITEM_WIDTH - Math.abs(this.offsetX)) / this.ITEM_WIDTH * 400)\n\n // 继续自动播放\n this.startPlay();\n this.touching = false;\n },\n /**\n * 中断过渡\n */\n continueTransition() {\n let _wrapperTr = getPropertyValue(this.$wrapper, 'transform');\n let _wrapperPo = getPropertyValue(this.$wrapper, 'perspective-origin');\n if (_wrapperTr && this.$wrapper.style.transitionDuration) {\n (this.$wrapper.style.transform = _wrapperTr), (this.$wrapper.style.perspectiveOrigin = _wrapperPo);\n this.$cubes.forEach(cube => {\n cube.style.transform = getPropertyValue(cube, 'transform');\n cube.style.opacity = +getPropertyValue(cube, 'opacity');\n cube.style.transformOrigin = getPropertyValue(cube, 'transform-origin');\n });\n // 记录当前位置\n this.endX = 0;\n }\n },\n /**\n * 设置容器滚动\n * nowX: 目标位置\n * time: 过渡时长\n * wait: 运动是否需要滞后\n */\n setWrapper(nowX, time, wait) {\n this.offsetX = nowX;\n if (time > 0) {\n this.$wrapper.style.transitionDuration = `${time}ms`;\n }\n if (wait) {\n setTimeout(() => {\n this.$wrapper.style.transform = `translate3d(${nowX}px, 0, 0)`;\n }, 0);\n } else {\n this.$wrapper.style.transform = `translate3d(${nowX}px, 0, 0)`;\n }\n },\n /**\n * 设置魔方样式\n * nowX: 目标位置\n * rotate: 角度正负\n */\n setCube(nowX, rotate = 0) {\n // 关闭所有过渡\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n let _offset = idx * this.ITEM_WIDTH + nowX;\n if (_offset > this.computeWidth[-1] && _offset < this.computeWidth[0]) {\n // 左边元素\n let bezier_offset = cubicEaseOut(_offset % this.ITEM_WIDTH, 0, -this.ITEM_WIDTH, -this.ITEM_WIDTH);\n cube.style.transform = `rotateY(${this.getBetweenRotate(_offset)}deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = this.getOpacity(bezier_offset);\n } else if (_offset > this.computeWidth[3] && _offset < this.computeWidth[4]) {\n // 右边元素\n let bezier_offset = cubicEaseOut(_offset % this.ITEM_WIDTH, 0, this.ITEM_WIDTH, this.ITEM_WIDTH);\n cube.style.transform = `rotateY(${this.getBetweenRotate(_offset)}deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = this.getOpacity(bezier_offset);\n } else if (_offset >= this.computeWidth[4] && _offset < this.computeWidth[5]) {\n // 最右边元素(自动播放时的预备状态)\n cube.style.transform = `rotateY(60deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = 0;\n } else if (_offset > this.computeWidth[-2] && _offset <= this.computeWidth[-1]) {\n // 最左边元素(自动播放时的预备状态)\n cube.style.transform = `rotateY(-60deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = 0;\n } else if (_offset >= this.computeWidth[0] && _offset <= this.computeWidth[3]) {\n // 中间元素\n cube.style.transform = `rotateY(${this.getMiddleRotate(rotate)}deg) translate3d(0, ${this.getTranslate(_offset)}px, 0)`;\n cube.style.opacity = 1;\n }\n cube.style.transformOrigin = this.getTransformOrigin(_offset);\n });\n },\n // 设置魔方的变化基准点\n getTransformOrigin(d, overflow) {\n if (d >= this.computeWidth[-1] && d <= this.computeWidth[4]) {\n let to = this.ITEM_WIDTH - d / 3;\n if (to < this.computeWidth[0]) {\n to = this.computeWidth[0];\n } else if (to > this.computeWidth[1]) {\n to = this.computeWidth[1];\n }\n return `${to}px center`;\n }\n },\n // 设置两侧魔方的旋转\n getBetweenRotate(d) {\n return ((d % this.ITEM_WIDTH) * (360 / this.$wrapper.clientWidth) * 70) / 90;\n },\n // 设置中间魔方的旋转, 假设临界值交点为5 * 魔方宽度,减缓数率a为0.4\n getMiddleRotate(d) {\n let mid = 5;\n let a = 0.35;\n // 下降曲线:y2 = bx + k 得出 b = -7/3、k = 7/3 所以:y2 = -7/3x + 7/3w\n if (d > (this.ITEM_WIDTH * mid) / 10) {\n return ((a * mid) / (10 - mid)) * (this.ITEM_WIDTH - d);\n } else if (d < (-this.ITEM_WIDTH * mid) / 10) {\n return ((-a * mid) / (10 - mid)) * (this.ITEM_WIDTH + d);\n } else {\n // 上升曲线:y1 = ax 设 a = 0.2\n return a * d;\n }\n },\n // 设置透明度\n getOpacity(d) {\n return 1 - ((Math.abs(d) / this.ITEM_WIDTH) % 1);\n },\n // 设置偏移量\n getTranslate(d) {\n const slow = 7; // 减缓倍率\n if (d > this.computeWidth[2]) {\n if (d > this.computeWidth[3]) {\n return (this.computeWidth[3] - d) / 5;\n }\n return (this.computeWidth[3] - d) / slow;\n } else if (d < this.computeWidth[1]) {\n if (d < 0) {\n return d / 5;\n }\n return d / slow;\n } else {\n return this.ITEM_WIDTH / slow;\n }\n },\n // 检测无限循环\n transitionEndHandler(event) {\n if (event.target === this.$wrapper) {\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n this.$wrapper.style.webkitPerspectiveOrigin = `${this.current * this.ITEM_WIDTH + this.$wrapper.clientWidth / 2}px center`;\n if (this.current >= this.data_bottom.length + this.clone) {\n this.goto(this.current % this.data_bottom.length, 0);\n setTimeout(() => {\n this.canMove = true;\n }, 0);\n } else if (this.current <= this.clone - 1) {\n this.goto(this.data_bottom.length + this.current, 0);\n setTimeout(() => {\n this.canMove = true;\n }, 0);\n }\n }\n },\n /**\n * 跳转到某个索引的位置\n * cur: 目标魔方索引\n * duration: 过渡时长\n */\n goto(cur, duration = 400, isAutoPlay) {\n let nextCur = isAutoPlay ? cur - 0.5 : cur;\n this.$wrapper.style.webkitPerspectiveOrigin = `${nextCur * this.ITEM_WIDTH + this.$wrapper.clientWidth / 2}px center`;\n\n this.current = cur;\n this.endX = -cur * this.ITEM_WIDTH;\n if (!duration) {\n this.$wrapper.style.transitionDuration = null;\n\n this.$wrapper.style.transitionDuration = null;\n this.$cubes.forEach((cube, idx) => {\n cube.style.transition && (cube.style.transition = null);\n });\n this.setCube(this.endX, 0);\n this.setWrapper(this.endX, 0, true);\n } else {\n // 执行过渡\n this.setWrapper(this.endX, duration);\n this.$cubes.forEach((cube, idx) => {\n let _offset = idx * this.ITEM_WIDTH + this.endX;\n cube.style.transformOrigin = this.getTransformOrigin(_offset);\n if (cur - 1 == idx) {\n // 左边过渡\n cube.style.transition = `all ${duration}ms cubic-bezier(0.215, 0.610, 0.355, 1.000)`;\n cube.style.transform = `rotateY(-60deg) translate3d(0, ${this.getTranslate(cube.offsetLeft + this.endX)}px, 0)`;\n cube.style.opacity = 0;\n } else if (cur + 4 == idx) {\n // 右边过渡\n cube.style.transition = `all ${duration}ms cubic-bezier(0.215, 0.610, 0.355, 1.000)`;\n cube.style.transform = `rotateY(60deg) translate3d(0, ${this.getTranslate(cube.offsetLeft + this.endX)}px, 0)`;\n cube.style.opacity = 0;\n } else if (idx > cur - 1 && idx < cur + 4) {\n // 中间过渡\n if (isAutoPlay) {\n cube.style.transition = `transform ${duration}ms cubic-bezier(0.22, 0.01, 0.68, 1.00), opacity ${duration *\n 0.9}ms cubic-bezier(0.62, 0.02, 0.68, 1.00)`;\n } else {\n cube.style.transition = `all ${duration}ms cubic-bezier(0.390, 0.575, 0.565, 1.000)`;\n }\n cube.style.transform = `rotateY(0.1deg) translate3d(0, ${this.getTranslate(cube.offsetLeft + this.endX)}px, 0)`;\n cube.style.opacity = 1;\n } else {\n cube.style.transition = null;\n cube.style.transform = null;\n cube.style.opacity = null;\n cube.style.transformOrigin = null;\n }\n });\n }\n }\n }\n};\n</script>\n\n<style lang=\"scss\"></style>\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!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=002ab09b&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cube\"},[_c('div',{ref:\"container\",staticClass:\"adjust-position cube-container\"},[_c('div',{ref:\"wrapper\",staticClass:\"cube-wrapper\",on:{\"transitionend\":_vm.transitionEndHandler}},[_vm._l((_vm.clone),function(i){return _c('div',{key:'clone-prev-' + i,staticClass:\"cube-col\"},[_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_top[i + _vm.data_bottom.length - _vm.clone - 1]},on:{\"clickEvent\":_vm.clickEvent}}),_vm._v(\" \"),_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_bottom[i + _vm.data_bottom.length - _vm.clone - 1]},on:{\"clickEvent\":_vm.clickEvent}})],1)}),_vm._v(\" \"),_vm._l((_vm.data_bottom),function(item,i){return _c('div',{key:i,staticClass:\"cube-col cube-col--anime\"},[_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_top[i]},on:{\"clickEvent\":_vm.clickEvent}}),_vm._v(\" \"),_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_bottom[i]},on:{\"clickEvent\":_vm.clickEvent}})],1)}),_vm._v(\" \"),_vm._l((_vm.data_bottom.slice(0, _vm.clone)),function(item,i){return _c('div',{key:'clone-next-' + i,staticClass:\"cube-col\"},[_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_top[i]},on:{\"clickEvent\":_vm.clickEvent}}),_vm._v(\" \"),_c('CubeItem',{staticClass:\"cube-item-wrap\",attrs:{\"item\":_vm.data_bottom[i]},on:{\"clickEvent\":_vm.clickEvent}})],1)})],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!./magic.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!./magic.vue?vue&type=script&lang=js&\"","<template>\n <Cube :dataMagic=\"data\" :type=\"type\" :autoplay=\"autoplay\" v-if=\"data && data.length >= 8\" @clickItem=\"clickItem\" />\n</template>\n\n<script>\nimport Cube from './Cube';\n\nexport default {\n name: 'nut-magic',\n components: {\n Cube\n },\n props: {\n data: {\n type: [Object, Array],\n default: () => {\n return [];\n }\n },\n // dataSpecial: {\n // type: [Object, Array],\n // default: null\n // },\n type: {\n type: String,\n default: 'rank'\n },\n autoplay: {\n default: true\n }\n },\n computed: {},\n data() {\n return {};\n },\n watch: {\n data(newV, old) {\n // this.init();\n }\n },\n methods: {\n clickItem(item) {\n this.$emit('click', item);\n }\n }\n};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","import { render, staticRenderFns } from \"./magic.vue?vue&type=template&id=601c4726&scoped=true&\"\nimport script from \"./magic.vue?vue&type=script&lang=js&\"\nexport * from \"./magic.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 \"601c4726\",\n null\n \n)\n\nexport default component.exports","import Magic from './magic.vue';\nimport Cube from './Cube/index.vue';\nimport CubeItem from './Cube/CubeItem.vue';\nimport './magic.scss';\n\nMagic.install = function(Vue) {\n Vue.component(Magic.name, Magic);\n Vue.component('Cube', Cube);\n Vue.component('CubeItem', CubeItem);\n};\n\nexport default Magic;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v2.3.13 - menu.css, 67f43efc8eaf4a122fb6, Tue Apr 11 2023 18:52:32 GMT+0800 (GMT+08:00)
2
+ * @nutui/nutui v2.3.14 - menu.css, ea1cfeedc4af744045aa, Thu Jul 27 2023 18:33:12 GMT+0800 (GMT+08:00)
3
3
  * (c) 2017-2020 JDC
4
4
  * Released under the MIT License.
5
5
  */.nut-menu .nut-menu-mask{position:fixed;z-index:9998;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.5)}.nut-menu .nut-menu-panel{display:block;width:100%;position:absolute;left:0;color:#2d2d2d;overflow:hidden;background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;z-index:9998}.nut-menu .nut-menu-panel .menu-multiple-style1 ul,.nut-menu .nut-menu-panel .menu-multiple-style2 ul,.nut-menu .nut-menu-panel .menu-multiple-style3 ul,.nut-menu .nut-menu-panel .menu-simple ul{position:relative;padding:0;margin:0;min-height:200px;max-height:300px;list-style:none;overflow-y:auto}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li,.nut-menu .nut-menu-panel .menu-simple ul li{position:relative;width:100%;height:45px;line-height:45px;padding:0 0 0 10px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li.selected,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li.selected,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li.selected,.nut-menu .nut-menu-panel .menu-simple ul li.selected{color:#f0250f}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li:before,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li:before,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li:before,.nut-menu .nut-menu-panel .menu-simple ul li:before{content:" ";height:1px;position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none;background-color:#e5e5e5;-webkit-transform:scaleY(.5);-ms-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li.col2,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li.col2,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li.col2,.nut-menu .nut-menu-panel .menu-simple ul li.col2{float:left;width:50%}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li.col2:nth-child(2n):after,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li.col2:nth-child(2n):after,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li.col2:nth-child(2n):after,.nut-menu .nut-menu-panel .menu-simple ul li.col2:nth-child(2n):after{content:" ";position:absolute;z-index:1;pointer-events:none;background-color:#e5e5e5;width:1px;left:0;top:13px;bottom:13px;-webkit-transform:scaleX(.5);-ms-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li.col3,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li.col3,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li.col3,.nut-menu .nut-menu-panel .menu-simple ul li.col3{float:left;width:33.33%}.nut-menu .nut-menu-panel .menu-multiple-style1 ul li.col3:not(:nth-child(3n+1)):after,.nut-menu .nut-menu-panel .menu-multiple-style2 ul li.col3:not(:nth-child(3n+1)):after,.nut-menu .nut-menu-panel .menu-multiple-style3 ul li.col3:not(:nth-child(3n+1)):after,.nut-menu .nut-menu-panel .menu-simple ul li.col3:not(:nth-child(3n+1)):after{content:" ";position:absolute;z-index:1;pointer-events:none;background-color:#e5e5e5;width:1px;left:0;top:13px;bottom:13px;-webkit-transform:scaleX(.5);-ms-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.nut-menu .nut-menu-panel .menu-multiple-style1 .nut-buttongroup .nut-button,.nut-menu .nut-menu-panel .menu-multiple-style2 .nut-buttongroup .nut-button,.nut-menu .nut-menu-panel .menu-multiple-style3 .nut-buttongroup .nut-button,.nut-menu .nut-menu-panel .menu-simple .nut-buttongroup .nut-button{-webkit-appearance:none}.nut-menu .nut-menu-panel .menu-simple li.selected span{position:absolute;top:10px;right:10px}.nut-menu .nut-menu-panel .menu-multiple-style1 li .nut-checkbox{margin-right:10px;vertical-align:middle}.nut-menu .nut-menu-panel .menu-multiple-style1 li label{vertical-align:middle}.nut-menu .nut-menu-panel .menu-multiple-style2 ul li{padding:0 10px;margin-bottom:10px;text-align:center;border-radius:4px}.nut-menu .nut-menu-panel .menu-multiple-style2 ul li:before{height:0!important}.nut-menu .nut-menu-panel .menu-multiple-style2 ul li.selected a{background-color:#fdf0f0;color:#f0250f}.nut-menu .nut-menu-panel .menu-multiple-style2 ul li a{display:inline-block;width:100%;height:100%;color:#2d2d2d;text-decoration:none;background-color:#f6f6f6}.nut-menu .nut-menu-panel .menu-multiple-style3 li label{padding-left:5px;border-left:3px solid transparent}.nut-menu .nut-menu-panel .menu-multiple-style3 li.selected label{border-left:3px solid #f0250f}