bk-magic-vue
Version:
基于蓝鲸 Magicbox 和 Vue 的前端组件库
705 lines (649 loc) • 22.1 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = global || self, factory(global.library = {}));
}(this, function (exports) { 'use strict';
var script = {
name: 'bk-spin',
props: {
theme: {
type: String,
default: 'primary',
validator: function validator(value) {
if (!['default', 'primary', 'warning', 'success', 'danger', 'info'].includes(value)) {
console.error("theme property is not valid: '".concat(value, "'"));
return false;
}
return true;
}
},
size: {
type: String,
default: 'small',
validator: function validator(value) {
if (!['large', 'normal', 'small', 'mini'].includes(value)) {
console.error("size property is not valid: '".concat(value, "'"));
return false;
}
return true;
}
},
icon: {
type: String,
default: ''
},
extCls: {
type: String,
default: ''
},
placement: {
type: String,
default: 'bottom',
validator: function validator(value) {
if (!['bottom', 'right'].includes(value)) {
console.error("placement property is not valid: '".concat(value, "'"));
return false;
}
return true;
}
},
spinning: {
type: Boolean,
default: true
}
},
data: function data() {
return {};
},
computed: {
dotClass: function dotClass() {
var dotClass = ["bk-spin-rotation", "bk-spin-rotation-".concat(this.size), "bk-spin-rotation-".concat(this.theme)];
!this.spinning && dotClass.push("bk-spin-rotation-".concat(this.theme, "-wait"));
this.placement === 'right' && dotClass.push("bk-spin-rotation-flex");
this.placement === 'bottom' && dotClass.push("bk-spin-rotation-margin");
return dotClass;
},
slotTypeClass: function slotTypeClass() {
var slotType = ["rotate"];
this.$slots.default && this.placement === 'right' && slotType.push("slots-".concat(this.placement, "-rotate"));
return slotType;
},
iconClass: function iconClass() {
var iconClass = ["bk-spin-icon", "bk-spin-icon-".concat(this.size), "bk-spin-icon-".concat(this.theme)];
!this.spinning && iconClass.push("bk-spin-icon-wait");
this.placement === 'right' && iconClass.push("bk-display-flex");
return iconClass;
},
slotClass: function slotClass() {
var slotClass = ["bk-spin-title", "bk-spin-title-".concat(this.placement)];
this.placement === 'right' && slotClass.push("bk-spin-title-".concat(this.size), "bk-display-flex");
return slotClass;
}
}
};
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier
, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
if (typeof shadowMode !== 'boolean') {
createInjectorSSR = createInjector;
createInjector = shadowMode;
shadowMode = false;
}
var options = typeof script === 'function' ? script.options : script;
if (template && template.render) {
options.render = template.render;
options.staticRenderFns = template.staticRenderFns;
options._compiled = true;
if (isFunctionalTemplate) {
options.functional = true;
}
}
if (scopeId) {
options._scopeId = scopeId;
}
var hook;
if (moduleIdentifier) {
hook = function hook(context) {
context = context ||
this.$vnode && this.$vnode.ssrContext ||
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__;
}
if (style) {
style.call(this, createInjectorSSR(context));
}
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier);
}
};
options._ssrRegister = hook;
} else if (style) {
hook = shadowMode ? function () {
style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));
} : function (context) {
style.call(this, createInjector(context));
};
}
if (hook) {
if (options.functional) {
var originalRender = options.render;
options.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context);
};
} else {
var existing = options.beforeCreate;
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
}
}
return script;
}
var normalizeComponent_1 = normalizeComponent;
/* script */
var __vue_script__ = script;
/* template */
var __vue_render__ = function __vue_render__() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('transition', {
attrs: {
"name": "fade"
}
}, [_c('div', {
class: ['bk-spin', _vm.extCls]
}, [_c('div', {
style: {
display: _vm.placement === 'right' ? 'flex' : ''
}
}, [!_vm.icon ? _c('div', {
class: [_vm.dotClass]
}, [_c('div', {
staticClass: "rotate1",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate2",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate3",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate4",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate5",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate6",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate7",
class: _vm.slotTypeClass
}), _c('div', {
staticClass: "rotate8",
class: _vm.slotTypeClass
})]) : _vm._e(), _vm.icon ? _c('div', {
class: [_vm.iconClass]
}, [_c('i', {
class: ['bk-icon', 'icon-' + _vm.icon]
})]) : _vm._e(), _vm.$slots.default ? _c('div', {
class: [_vm.slotClass]
}, [_vm._t("default")], 2) : _vm._e()])])]);
};
var __vue_staticRenderFns__ = [];
/* style */
var __vue_inject_styles__ = undefined;
/* scoped */
var __vue_scope_id__ = undefined;
/* module identifier */
var __vue_module_identifier__ = undefined;
/* functional template */
var __vue_is_functional_template__ = false;
/* style inject */
/* style inject SSR */
/* style inject shadow dom */
var __vue_component__ = /*#__PURE__*/normalizeComponent_1({
render: __vue_render__,
staticRenderFns: __vue_staticRenderFns__
}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);
var _defined = function (it) {
if (it == undefined) throw TypeError("Can't call method on " + it);
return it;
};
var _toObject = function (it) {
return Object(_defined(it));
};
var hasOwnProperty = {}.hasOwnProperty;
var _has = function (it, key) {
return hasOwnProperty.call(it, key);
};
var toString = {}.toString;
var _cof = function (it) {
return toString.call(it).slice(8, -1);
};
var _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
return _cof(it) == 'String' ? it.split('') : Object(it);
};
var _toIobject = function (it) {
return _iobject(_defined(it));
};
var ceil = Math.ceil;
var floor = Math.floor;
var _toInteger = function (it) {
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
var min = Math.min;
var _toLength = function (it) {
return it > 0 ? min(_toInteger(it), 0x1fffffffffffff) : 0;
};
var max = Math.max;
var min$1 = Math.min;
var _toAbsoluteIndex = function (index, length) {
index = _toInteger(index);
return index < 0 ? max(index + length, 0) : min$1(index, length);
};
var _arrayIncludes = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = _toIobject($this);
var length = _toLength(O.length);
var index = _toAbsoluteIndex(fromIndex, length);
var value;
if (IS_INCLUDES && el != el) while (length > index) {
value = O[index++];
if (value != value) return true;
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
if (O[index] === el) return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var _core = createCommonjsModule(function (module) {
var core = module.exports = { version: '2.6.12' };
if (typeof __e == 'number') __e = core;
});
var _core_1 = _core.version;
var _global = createCommonjsModule(function (module) {
var global = module.exports = typeof window != 'undefined' && window.Math == Math
? window : typeof self != 'undefined' && self.Math == Math ? self
: Function('return this')();
if (typeof __g == 'number') __g = global;
});
var _shared = createCommonjsModule(function (module) {
var SHARED = '__core-js_shared__';
var store = _global[SHARED] || (_global[SHARED] = {});
(module.exports = function (key, value) {
return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
version: _core.version,
mode: 'pure' ,
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
});
});
var id = 0;
var px = Math.random();
var _uid = function (key) {
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
var shared = _shared('keys');
var _sharedKey = function (key) {
return shared[key] || (shared[key] = _uid(key));
};
var arrayIndexOf = _arrayIncludes(false);
var IE_PROTO = _sharedKey('IE_PROTO');
var _objectKeysInternal = function (object, names) {
var O = _toIobject(object);
var i = 0;
var result = [];
var key;
for (key in O) if (key != IE_PROTO) _has(O, key) && result.push(key);
while (names.length > i) if (_has(O, key = names[i++])) {
~arrayIndexOf(result, key) || result.push(key);
}
return result;
};
var _enumBugKeys = (
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');
var _objectKeys = Object.keys || function keys(O) {
return _objectKeysInternal(O, _enumBugKeys);
};
var _aFunction = function (it) {
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
return it;
};
var _ctx = function (fn, that, length) {
_aFunction(fn);
if (that === undefined) return fn;
switch (length) {
case 1: return function (a) {
return fn.call(that, a);
};
case 2: return function (a, b) {
return fn.call(that, a, b);
};
case 3: return function (a, b, c) {
return fn.call(that, a, b, c);
};
}
return function () {
return fn.apply(that, arguments);
};
};
var _isObject = function (it) {
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
var _anObject = function (it) {
if (!_isObject(it)) throw TypeError(it + ' is not an object!');
return it;
};
var _fails = function (exec) {
try {
return !!exec();
} catch (e) {
return true;
}
};
var _descriptors = !_fails(function () {
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
});
var document = _global.document;
var is = _isObject(document) && _isObject(document.createElement);
var _domCreate = function (it) {
return is ? document.createElement(it) : {};
};
var _ie8DomDefine = !_descriptors && !_fails(function () {
return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7;
});
var _toPrimitive = function (it, S) {
if (!_isObject(it)) return it;
var fn, val;
if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) return val;
if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) return val;
if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) return val;
throw TypeError("Can't convert object to primitive value");
};
var dP = Object.defineProperty;
var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {
_anObject(O);
P = _toPrimitive(P, true);
_anObject(Attributes);
if (_ie8DomDefine) try {
return dP(O, P, Attributes);
} catch (e) { }
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
if ('value' in Attributes) O[P] = Attributes.value;
return O;
};
var _objectDp = {
f: f
};
var _propertyDesc = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
var _hide = _descriptors ? function (object, key, value) {
return _objectDp.f(object, key, _propertyDesc(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
var PROTOTYPE = 'prototype';
var $export = function (type, name, source) {
var IS_FORCED = type & $export.F;
var IS_GLOBAL = type & $export.G;
var IS_STATIC = type & $export.S;
var IS_PROTO = type & $export.P;
var IS_BIND = type & $export.B;
var IS_WRAP = type & $export.W;
var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {});
var expProto = exports[PROTOTYPE];
var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] : (_global[name] || {})[PROTOTYPE];
var key, own, out;
if (IS_GLOBAL) source = name;
for (key in source) {
own = !IS_FORCED && target && target[key] !== undefined;
if (own && _has(exports, key)) continue;
out = own ? target[key] : source[key];
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
: IS_BIND && own ? _ctx(out, _global)
: IS_WRAP && target[key] == out ? (function (C) {
var F = function (a, b, c) {
if (this instanceof C) {
switch (arguments.length) {
case 0: return new C();
case 1: return new C(a);
case 2: return new C(a, b);
} return new C(a, b, c);
} return C.apply(this, arguments);
};
F[PROTOTYPE] = C[PROTOTYPE];
return F;
})(out) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out;
if (IS_PROTO) {
(exports.virtual || (exports.virtual = {}))[key] = out;
if (type & $export.R && expProto && !expProto[key]) _hide(expProto, key, out);
}
}
};
$export.F = 1;
$export.G = 2;
$export.S = 4;
$export.P = 8;
$export.B = 16;
$export.W = 32;
$export.U = 64;
$export.R = 128;
var _export = $export;
var _objectSap = function (KEY, exec) {
var fn = (_core.Object || {})[KEY] || Object[KEY];
var exp = {};
exp[KEY] = exec(fn);
_export(_export.S + _export.F * _fails(function () { fn(1); }), 'Object', exp);
};
_objectSap('keys', function () {
return function keys(it) {
return _objectKeys(_toObject(it));
};
});
var keys = _core.Object.keys;
var keys$1 = keys;
function setInstaller (component, afterInstall) {
component.install = function (Vue) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var props = component.props || {};
keys$1(options).forEach(function (key) {
if (props.hasOwnProperty(key)) {
if (typeof props[key] === 'function' || props[key] instanceof Array) {
props[key] = {
type: props[key],
default: options[key]
};
} else {
props[key].default = options[key];
}
}
});
component.name = options.namespace ? component.name.replace('bk', options.namespace) : component.name;
Vue.component(component.name, component);
typeof afterInstall === 'function' && afterInstall(Vue, options);
};
}
setInstaller(__vue_component__);
var script$1 = {
name: 'bk-button',
components: {
BkSpin: __vue_component__
},
props: {
theme: {
type: String,
default: 'default',
validator: function validator(value) {
if (['default', 'primary', 'warning', 'success', 'danger'].indexOf(value) < 0) {
console.error("theme property is not valid: '".concat(value, "'"));
return false;
}
return true;
}
},
hoverTheme: {
type: String,
default: '',
validator: function validator(value) {
if (['', 'primary', 'warning', 'success', 'danger'].indexOf(value) < 0) {
console.error("hoverTheme property is not valid: '".concat(value, "'"));
return false;
}
return true;
}
},
size: {
type: String,
default: 'normal',
validator: function validator(value) {
if (['small', 'normal', 'large'].indexOf(value) < 0) {
console.error("size property is not valid: '".concat(value, "'"));
return false;
}
return true;
}
},
title: {
type: String,
default: ''
},
icon: String,
iconRight: String,
disabled: Boolean,
loading: Boolean,
outline: Boolean,
text: Boolean,
nativeType: {
type: String,
default: 'button'
},
extCls: {
type: String,
default: ''
}
},
data: function data() {
return {
showSlot: true
};
},
computed: {
iconType: function iconType() {
var icon = this.icon || '';
if (icon) {
if (icon.indexOf('icon') === 0) {
icon = icon.replace(/^(icon-)/, '');
}
}
return icon;
},
iconRightType: function iconRightType() {
var iconRight = this.iconRight || '';
if (iconRight) {
if (iconRight.indexOf('icon') === 0) {
iconRight = iconRight.replace(/^(icon-)/, '');
}
}
return iconRight;
},
themeType: function themeType() {
if (this.text) {
if (this.theme === 'default') {
return 'primary';
}
}
return this.theme;
},
buttonCls: function buttonCls() {
return ["bk-".concat(this.themeType), "bk-button-".concat(this.size), this.hoverTheme ? "bk-button-hover bk-".concat(this.hoverTheme) : this.text ? 'bk-button-text' : 'bk-button', this.disabled ? 'is-disabled' : '', this.loading ? 'is-loading' : '', this.outline ? 'is-outline' : '', !this.showSlot ? 'no-slot' : ''];
}
},
mounted: function mounted() {
this.showSlot = this.$slots.default !== undefined;
},
methods: {
handleClick: function handleClick(e) {
if (!this.disabled && !this.loading) {
this.$emit('click', e);
this.$el.blur();
}
}
}
};
/* script */
var __vue_script__$1 = script$1;
/* template */
var __vue_render__$1 = function __vue_render__() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('button', _vm._b({
class: [_vm.buttonCls, _vm.extCls],
attrs: {
"title": _vm.title,
"disabled": _vm.disabled,
"type": _vm.nativeType
},
on: {
"click": _vm.handleClick
}
}, 'button', _vm.$attrs, false), [_vm.loading ? _c('div', {
staticClass: "bk-button-loading"
}, [!_vm.text ? [_c('div', {
staticClass: "bounce bounce1"
}), _c('div', {
staticClass: "bounce bounce2"
}), _c('div', {
staticClass: "bounce bounce3"
}), _c('div', {
staticClass: "bounce bounce4"
})] : [_c('bk-spin', {
attrs: {
"size": "mini",
"theme": _vm.theme
}
})]], 2) : _vm._e(), _c('div', {
class: _vm.loading ? 'bk-loading-wrapper' : ''
}, [_vm.iconType ? _c('i', {
staticClass: "bk-icon left-icon",
class: ['icon-' + _vm.iconType, _vm.iconType === 'loading' ? 'bk-button-icon-loading' : '']
}, [_vm.iconType === 'loading' ? [_c('span', {
staticClass: "loading"
})] : _vm._e()], 2) : _vm._e(), _c('span', [_vm._t("default")], 2), _vm.iconRightType ? _c('i', {
staticClass: "bk-icon right-icon",
class: ['icon-' + _vm.iconRightType, _vm.iconRightType === 'loading' ? 'bk-button-icon-loading' : '']
}, [_vm.iconRightType === 'loading' ? [_c('span', {
staticClass: "loading"
})] : _vm._e()], 2) : _vm._e()])]);
};
var __vue_staticRenderFns__$1 = [];
/* style */
var __vue_inject_styles__$1 = undefined;
/* scoped */
var __vue_scope_id__$1 = undefined;
/* module identifier */
var __vue_module_identifier__$1 = undefined;
/* functional template */
var __vue_is_functional_template__$1 = false;
/* style inject */
/* style inject SSR */
/* style inject shadow dom */
var __vue_component__$1 = /*#__PURE__*/normalizeComponent_1({
render: __vue_render__$1,
staticRenderFns: __vue_staticRenderFns__$1
}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);
setInstaller(__vue_component__$1);
exports.default = __vue_component__$1;
Object.defineProperty(exports, '__esModule', { value: true });
}));