UNPKG

@mdsfe/mds-ui

Version:

A set of enterprise-class Vue UI components.

469 lines (412 loc) 14.7 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("./transition"), require("./_util/getScroll"), require("./_util/getRequestAnimationFrame")); else if(typeof define === 'function' && define.amd) define(["./transition", "./_util/getScroll", "./_util/getRequestAnimationFrame"], factory); else { var a = typeof exports === 'object' ? factory(require("./transition"), require("./_util/getScroll"), require("./_util/getRequestAnimationFrame")) : factory(root["./transition"], root["./_util/getScroll"], root["./_util/getRequestAnimationFrame"]); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } })(window, function(__WEBPACK_EXTERNAL_MODULE__12__, __WEBPACK_EXTERNAL_MODULE__44__, __WEBPACK_EXTERNAL_MODULE__65__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 135); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent ( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, /* server only */ shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } /***/ }), /***/ 12: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__12__; /***/ }), /***/ 135: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/backtop/back-top.vue?vue&type=template&id=0e601a8b& var render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c("mds-transition", { attrs: { type: "fade" } }, [ _vm.visible ? _c( "div", { ref: "BackTop", class: _vm.prefixCls, on: { click: _vm.scrollToTop }, }, [ _vm._t("default"), _vm.$slots.default === undefined ? _c("div", { class: _vm.prefixCls + "-content" }, [ _c( "svg", { staticClass: "icon", class: _vm.prefixCls + "-icon", attrs: { t: "1562838530206", viewBox: "0 0 1024 1024", version: "1.1", xmlns: "http://www.w3.org/2000/svg", "p-id": "4044", width: "40", height: "40", }, }, [ _c("path", { attrs: { d: "M537.6 523.8784V729.6a38.4 38.4 0 0 1-76.8 0v-205.7216l-79.2576 79.2832a38.4 38.4 0 0 1-54.3232-54.3232l144.8192-144.8192c7.5008-7.4752 17.3312-11.2384 27.1616-11.2384 9.8304 0 19.6608 3.7632 27.136 11.264l144.8448 144.7936a38.4 38.4 0 1 1-54.3232 54.3232L537.6 523.8784zM345.6 281.6h307.2a38.4 38.4 0 0 1 0 76.8h-307.2a38.4 38.4 0 0 1 0-76.8z", fill: "#666666", "p-id": "4045", }, }), ] ), ]) : _vm._e(), ], 2 ) : _vm._e(), ]) } var staticRenderFns = [] render._withStripped = true // CONCATENATED MODULE: ./components/backtop/back-top.vue?vue&type=template&id=0e601a8b& // EXTERNAL MODULE: external "./transition" var external_transition_ = __webpack_require__(12); var external_transition_default = /*#__PURE__*/__webpack_require__.n(external_transition_); // EXTERNAL MODULE: external "./_util/getScroll" var getScroll_ = __webpack_require__(44); var getScroll_default = /*#__PURE__*/__webpack_require__.n(getScroll_); // EXTERNAL MODULE: external "./_util/getRequestAnimationFrame" var getRequestAnimationFrame_ = __webpack_require__(65); var getRequestAnimationFrame_default = /*#__PURE__*/__webpack_require__.n(getRequestAnimationFrame_); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/backtop/back-top.vue?vue&type=script&lang=js& // // // // // // // // // // // var reqAnimFrame = getRequestAnimationFrame_default()(); var easeInOutCubic = function easeInOutCubic(t, b, c, d) { var cc = c - b; t /= d / 2; if (t < 1) { return cc / 2 * t * t * t + b; } else { return cc / 2 * ((t -= 2) * t * t + 2) + b; } }; /* harmony default export */ var back_topvue_type_script_lang_js_ = ({ name: 'MdsBackTop', data: function data() { return { visible: true }; }, props: { prefixCls: { type: String, default: 'mds-back-top' }, target: { type: Function, default: function _default() { return window; } }, time: { type: Number, default: 10 }, visibilityHeight: { type: Number, default: 400 } }, mounted: function mounted() { var getTarget = this.target; this.scrollEvent = getTarget().addEventListener('scroll', this.handleScroll); this.handleScroll(); document.body.appendChild(this.$refs.BackTop); }, beforeDestroy: function beforeDestroy() { document.body.removeChild(this.$refs.BackTop); }, destroyed: function destroyed() { if (this.scrollEvent) { this.scrollEvent.remove(); } }, methods: { handleScroll: function handleScroll() { var scrollTop = getScroll_default()(this.target(), true); this.visible = scrollTop >= this.visibilityHeight; }, getCurrentScrollTop: function getCurrentScrollTop() { var getTarget = this.target; var targetNode = getTarget(); if (targetNode === window) { return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; } return targetNode.scrollTop; }, setScrollTop: function setScrollTop(value) { var getTarget = this.target; var targetNode = getTarget(); if (targetNode === window) { document.body.scrollTop = value; document.documentElement.scrollTop = value; } else { targetNode.scrollTop = value; } }, scrollToTop: function scrollToTop(e) { var _this = this; var scrollTop = this.getCurrentScrollTop(); var startTime = Date.now(); var frameFunc = function frameFunc() { var timestamp = Date.now(); var time = timestamp - startTime; _this.setScrollTop(easeInOutCubic(time, scrollTop, 0, 450)); if (time < 450) { reqAnimFrame(frameFunc); } }; reqAnimFrame(frameFunc); this.$emit('click', e); } }, components: { MdsTransition: external_transition_default.a } }); // CONCATENATED MODULE: ./components/backtop/back-top.vue?vue&type=script&lang=js& /* harmony default export */ var backtop_back_topvue_type_script_lang_js_ = (back_topvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./components/backtop/back-top.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( backtop_back_topvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* hot reload */ if (false) { var api; } component.options.__file = "components/backtop/back-top.vue" /* harmony default export */ var back_top = (component.exports); // EXTERNAL MODULE: ./components/backtop/style/index.less var style = __webpack_require__(156); // CONCATENATED MODULE: ./components/backtop/index.js /* istanbul ignore next */ back_top.install = function (Vue) { Vue.component(back_top.name, back_top); }; /* harmony default export */ var backtop = __webpack_exports__["default"] = (back_top); /***/ }), /***/ 156: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ 44: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__44__; /***/ }), /***/ 65: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__65__; /***/ }) /******/ }); });