@bic-fe/mds-ui
Version:
A set of enterprise-class Vue UI components.
522 lines (461 loc) • 14.7 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(window, function() {
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 = 104);
/******/ })
/************************************************************************/
/******/ ({
/***/ 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
}
}
/***/ }),
/***/ 104:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./components/style/index.less
var style = __webpack_require__(139);
// EXTERNAL MODULE: ./components/anchor/style/index.less
var anchor_style = __webpack_require__(147);
// CONCATENATED MODULE: ./components/anchor/style/index.js
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/anchor/anchor.vue?vue&type=template&id=05ca1aa4&
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", { class: _vm.prefixCls }, [
_c("div", {
class: _vm.prefixCls + "-line",
style: {
height: _vm.height + "px",
},
}),
_c("div", { class: _vm.prefixCls + "-options" }, [_vm._t("default")], 2),
])
}
var staticRenderFns = []
render._withStripped = true
// CONCATENATED MODULE: ./components/anchor/anchor.vue?vue&type=template&id=05ca1aa4&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/anchor/anchor.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var anchorvue_type_script_lang_js_ = ({
name: 'MdsAnchor',
props: {
defaultColor: {
type: String,
default: '#7F8FA4'
},
activeColor: {
type: String,
default: '#0364FF'
},
defaultTag: {
type: Number
},
tagHeight: {
type: Number,
default: 22
},
padding: {
type: Number,
default: 16
},
history: {
type: Boolean,
default: false
},
prefixCls: {
type: String,
default: 'mds-anchor'
}
},
data: function data() {
return {
height: 0
};
},
mounted: function mounted() {
var _this = this;
var l = 0;
this.$slots.default.forEach(function (element) {
if (element.child && element.child.prefixCls && element.child.prefixCls === _this.prefixCls + '-option') {
l++;
}
});
this.height = this.tagHeight * l + this.padding * (l - 1);
}
});
// CONCATENATED MODULE: ./components/anchor/anchor.vue?vue&type=script&lang=js&
/* harmony default export */ var anchor_anchorvue_type_script_lang_js_ = (anchorvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(0);
// CONCATENATED MODULE: ./components/anchor/anchor.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
anchor_anchorvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "components/anchor/anchor.vue"
/* harmony default export */ var anchor_anchor = (component.exports);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/anchor/option.vue?vue&type=template&id=b60dff38&
var optionvue_type_template_id_b60dff38_render = function () {
var _obj
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"div",
{
class:
((_obj = {}),
(_obj["" + _vm.prefixCls] = true),
(_obj.active = _vm.isActive),
_obj),
style: _vm.style,
},
[
_vm.isActive
? _c("i", {
class: _vm.prefixCls + "-icon",
style: { background: _vm.activeColor },
})
: _vm._e(),
_c("span", { on: { click: _vm.linkTo } }, [_vm._v(_vm._s(_vm.label))]),
]
)
}
var optionvue_type_template_id_b60dff38_staticRenderFns = []
optionvue_type_template_id_b60dff38_render._withStripped = true
// CONCATENATED MODULE: ./components/anchor/option.vue?vue&type=template&id=b60dff38&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/anchor/option.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var optionvue_type_script_lang_js_ = ({
name: 'MdsAnchorOption',
props: {
label: {
type: String,
default: ''
},
target: {
type: String,
required: true
}
},
data: function data() {
return {
isActive: false
};
},
computed: {
prefixCls: function prefixCls() {
return this.$parent.prefixCls + '-option';
},
history: function history() {
return this.$parent.history;
},
padding: function padding() {
return this.$parent.padding;
},
height: function height() {
return this.$parent.tagHeight;
},
defaultColor: function defaultColor() {
return this.$parent.defaultColor;
},
activeColor: function activeColor() {
return this.$parent.activeColor;
},
style: function style() {
var isActive = this.isActive,
height = this.height,
padding = this.padding,
defaultColor = this.defaultColor,
activeColor = this.activeColor;
return {
'margin-bottom': padding + 'px',
'line-height': height + 'px',
'color': isActive ? activeColor : defaultColor
};
}
},
methods: {
handleScroll: function handleScroll() {
var target = document.getElementById(this.target);
if (!target) {
return;
}
var offsetTop = target.getBoundingClientRect().top;
if (Math.abs(offsetTop) <= 20) {
this.isActive = true;
} else {
this.isActive = false;
}
},
linkTo: function linkTo() {
var that = this;
var route = that.$route.fullPath;
if (that.history) {
var link = document.createElement('a');
link.href = '#' + that.target;
link.click();
} else {
location.replace('#' + that.target);
}
if (this.$router) {
setTimeout(function () {
that.$router.replace(route);
}, 50);
}
}
},
destroyed: function destroyed() {
if (this.scrollEvent) {
this.scrollEvent.remove();
}
},
mounted: function mounted() {
this.scrollEvent = window.addEventListener('scroll', this.handleScroll);
}
});
// CONCATENATED MODULE: ./components/anchor/option.vue?vue&type=script&lang=js&
/* harmony default export */ var anchor_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/anchor/option.vue
/* normalize component */
var option_component = Object(componentNormalizer["a" /* default */])(
anchor_optionvue_type_script_lang_js_,
optionvue_type_template_id_b60dff38_render,
optionvue_type_template_id_b60dff38_staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var option_api; }
option_component.options.__file = "components/anchor/option.vue"
/* harmony default export */ var anchor_option = (option_component.exports);
// CONCATENATED MODULE: ./components/anchor/index.js
anchor_anchor.install = function (Vue) {
Vue.component(anchor_anchor.name, anchor_anchor);
Vue.component(anchor_option.name, anchor_option);
};
/* harmony default export */ var components_anchor = __webpack_exports__["default"] = (anchor_anchor);
/***/ }),
/***/ 139:
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ }),
/***/ 147:
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ })
/******/ });
});