wot-design
Version:
Mobile UI components built on vue.js
1,015 lines (874 loc) • 29.5 kB
JavaScript
module.exports =
/******/ (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 = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 109);
/******/ })
/************************************************************************/
/******/ ({
/***/ 0:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
/* 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, 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 functioal 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
}
}
/***/ }),
/***/ 1:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isServer; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isSupportSticky; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getScrollTargetEvent; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return padZero; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return range; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return isEqual; });
/* unused harmony export bus */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getType; });
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
var isServer = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer;
/**
* judge if the browser is support sticky
*/
var isSupportSticky = function isSupportSticky() {
var div = document.createElement('div');
var style = 'display: none; position: -webkit-sticky; position: sticky';
div.style.cssText = style;
var body = document.body;
body.appendChild(div);
var isSupport = /sticky/i.test(window.getComputedStyle(div).position);
body.removeChild(div);
div = null;
return isSupport;
};
/**
* get the overscroll parentNode
* @param {*} element current node
* @param {*} rootElement root node
*/
var getScrollTargetEvent = function getScrollTargetEvent(element) {
var rootElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
var currentNode = element;
while (currentNode && currentNode.tagName !== 'HTML' && currentNode.tagName !== 'BODY' && currentNode !== rootElement && currentNode.nodeType === 1) {
var overflowY = document.defaultView.getComputedStyle(currentNode).overflowY;
if (overflowY === 'auto' || overflowY === 'scroll') {
return currentNode;
}
currentNode = currentNode.parentNode;
}
return rootElement;
};
var padZero = function padZero(number) {
var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
number = number + '';
while (number.length < length) {
number = '0' + number;
}
return number;
};
var range = function range(value, min, max) {
return Math.min(Math.max(value, min), max);
};
/** @description 比较数值是否相等 */
var isEqual = function isEqual(value1, value2) {
if (value1 === value2) return true;
if (!(value1 instanceof Array)) return false;
if (!(value2 instanceof Array)) return false;
if (value1.length !== value2.length) return false;
for (var i = 0; i !== value1.length; ++i) {
if (value1[i] !== value2[i]) return false;
}
return true;
};
var bus = new vue__WEBPACK_IMPORTED_MODULE_0___default.a();
/**
* @description 获取目标原始类型
* @param target 任意类型
* @returns {string} type 数据类型
*/
function getType(target) {
// 得到原生类型
var typeStr = Object.prototype.toString.call(target); // 拿到类型值
var type = typeStr.match(/\[object (\w+)\]/)[1]; // 类型值转小写并返回
return type.toLowerCase();
}
/***/ }),
/***/ 109:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(5);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// CONCATENATED MODULE: ./packages/upload/src/utils.js
// 图片类型限制
function isImageUrl(url) {
var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
return IMAGE_REGEXP.test(url);
}
function getBody(xhr) {
var text = xhr.responseText || xhr.response;
if (!text) {
return text;
}
try {
return JSON.parse(text);
} catch (e) {
return text;
}
}
/**
* @description 编辑报错信息
* @param {String} action 上传服务器地址
* @param {Object} option 上传文件的参数
* @param {XMLHttpRequest} xhr XMLHttpRequest 实例
* @return {Error} 报错信息
*/
function getError(action, option, xhr) {
var msg;
if (xhr.response) {
msg = "".concat(xhr.response.error || xhr.response);
} else if (xhr.responseText) {
msg = "".concat(xhr.responseText);
} else {
msg = "fail to post ".concat(action, " ").concat(xhr.status);
}
var err = new Error(msg);
err.status = xhr.status;
err.method = 'post';
err.url = action;
return err;
}
/**
* @description 设置区域选择 tab 标签展示值
* @param {Number} index 索引标志位,有三个有效值; 0(默认):上方picker索引; 1:下方picker索引;
* @return {String} showTabLabel
*/
function upload(option) {
if (typeof XMLHttpRequest === 'undefined') {
return;
}
var xhr = new XMLHttpRequest();
var action = option.action; // 进入下载状态触发
if (xhr.upload) {
// 计算上传进度百分比
xhr.upload.onprogress = function progress(e) {
if (e.total > 0) {
// 已加载的 / 总共大小
e.percent = e.loaded / e.total * 100;
} // 实时更新当前option的百分比值
option.onProgress(e);
}; // 构造表单数据
var formData = new FormData(); // 插入表单数据
if (option.data) {
Object.keys(option.data).forEach(function (key) {
formData.append(key, option.data[key]);
});
}
formData.append(option.filename, option.file); // 注册失败事件回调函数处理器
xhr.onerror = function error(e) {
if (e instanceof Event) {
e.message = e.target.status === 0 ? 'Error' : e.target.responseText;
} // 失败调用展示状态
option.onError(e);
}; // 上传成功
xhr.onload = function error(e) {
if (xhr.status < 200 || xhr.status >= 300) {
return option.onError(getError(action, option, xhr));
} // 成功后修改展示状态
option.onSuccess(getBody(xhr));
}; // 创建一个post 请求 采用异步
xhr.open('post', action, true); // 当前请求为跨域类型时是否在请求中协带cookie
if (option.withCredentials && 'withCredentials' in xhr) {
xhr.withCredentials = true;
} // 设置请求头
var headers = option.headers || {};
for (var item in headers) {
if (headers.hasOwnProperty(item) && headers[item] !== null) {
xhr.setRequestHeader(item, headers[item]);
}
} // 发送数据
xhr.send(formData);
return xhr;
}
}
// EXTERNAL MODULE: ./src/utils/id.js
var id = __webpack_require__(15);
// EXTERNAL MODULE: ./src/utils/index.js
var utils = __webpack_require__(1);
// EXTERNAL MODULE: external "wot-design/lib/loading"
var loading_ = __webpack_require__(8);
var loading_default = /*#__PURE__*/__webpack_require__.n(loading_);
// EXTERNAL MODULE: external "wot-design/lib/mixins/locale"
var locale_ = __webpack_require__(4);
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/main.vue?vue&type=script&lang=js&
/* harmony default export */ var mainvue_type_script_lang_js_ = ({
name: 'WdUpload',
mixins: [locale_default.a],
data: function data() {
return {
uploadFiles: []
};
},
model: {
prop: 'fileList'
},
components: {
WdLoading: loading_default.a
},
props: {
action: {
type: String,
required: true
},
data: Object,
name: {
type: String,
default: 'file'
},
headers: {
type: Object,
default: function _default() {
return {};
}
},
withCredentials: Boolean,
fileList: Array,
showName: Boolean,
accept: {
type: String,
default: 'image/*'
},
loadingType: {
type: String,
default: 'ring'
},
loadingSize: {
type: String,
default: '24px'
},
loadingColor: {
type: String,
default: '#ffffff'
},
maxSize: {
type: Number,
default: Number.MAX_VALUE
},
customEvokeClass: String,
multiple: Boolean,
reverse: Boolean,
limit: Number,
// 是否展示限制个数
showLimitMum: {
type: Boolean,
default: true
},
disabled: Boolean,
// 开启图片预览
showImgPreview: {
type: Boolean,
default: true
},
// 双指缩放最小倍数
minZoom: {
type: Number,
default: 1 / 3
},
// 双指缩放最大倍数
maxZoom: {
type: Number,
default: 3
},
// 轮播持续时间
swipeDuration: {
type: Number,
default: 500
},
// 是否展示页码索引
showIndex: {
type: Boolean,
default: true
},
// 是否展示预览列表
showPreviewList: {
type: Boolean,
default: true
},
nameKey: {
type: String,
default: 'name'
},
statusKey: {
type: String,
default: 'status'
},
// 文件上传之前
beforeUpload: Function,
// 文件移除前的钩子
beforeRemove: Function,
// 预览前的钩子
beforePreview: Function
},
watch: {
fileList: {
immediate: true,
handler: function handler(fileList) {
var _this = this;
if (Object(utils["c" /* isEqual */])(fileList, this.uploadFiles)) return;
this.uploadFiles = fileList.map(function (item) {
item.uid = id["a" /* default */].id++;
item[_this.statusKey] = item[_this.statusKey] || 'success';
item.size = item.size || '';
item.action = _this.action || '';
return item;
});
}
}
},
beforeDestroy: function beforeDestroy() {
this.fileList.forEach(function (file) {
if (file.url && file.url.indexOf('blob:') === 0) {
URL.revokeObjectURL(file.url);
}
});
},
methods: {
/**
* @description 拼接上传的图片列表,向服务器发送数据
* @param {Object} files 新上传的文件列表
*/
readyToPost: function readyToPost(files) {
var _this2 = this;
var postFiles = Array.prototype.slice.call(files); // 单选只有一个
if (!this.multiple) {
postFiles = postFiles.slice(0, 1);
}
postFiles.forEach(function (file) {
var _initState;
// 设置files内容初始值
var initState = (_initState = {
uid: id["a" /* default */].id++
}, defineProperty_default()(_initState, _this2.statusKey, 'loading'), defineProperty_default()(_initState, _this2.nameKey, file[_this2.nameKey]), defineProperty_default()(_initState, "size", file.size), defineProperty_default()(_initState, "file", file), defineProperty_default()(_initState, "url", URL.createObjectURL(file)), defineProperty_default()(_initState, "action", _this2.action), defineProperty_default()(_initState, "percent", 0), _initState); // 检查文件尺寸是否大于最大尺寸
if (file.size <= _this2.maxSize) {
_this2.uploadFiles.push(initState);
_this2.$emit('input', _this2.uploadFiles);
_this2.post(initState);
} else {
// 自定义超出尺寸行为
_this2.$emit('oversize', {
file: file
});
}
});
},
/**
* @description 上传数据发送
* @param {Object} showFile 发送的文件
*/
post: function post(showFile) {
var _this3 = this;
var options = {
headers: this.headers,
withCredentials: this.withCredentials,
file: showFile.file,
data: this.data,
filename: this.name,
action: this.action,
onProgress: function onProgress(e) {
_this3.handleProgress(e, showFile);
},
onSuccess: function onSuccess(res) {
_this3.handleSuccess(res, showFile);
},
onError: function onError(err) {
_this3.handleError(err, showFile);
} // 清空当前input上传内容,使其可以重复上传相同的图片而不被拦截
};
this.$refs.input.value = null; // 开始执行上传图片请求
upload(options);
},
/**
* @description 根据当前上传文件的 uid 返回数组单项的引用
* @param {Object} file 上传的文件
* @return {Object} 当前文件在数组中的引用
*/
getFileFromList: function getFileFromList(file) {
var fileList = this.uploadFiles;
var target;
fileList.every(function (item) {
// item 尺寸为空下载一遍
target = file.uid === item.uid ? item : null;
return !target;
});
return target;
},
handleChange: function handleChange(_ref) {
var _this4 = this;
var files = _ref.target.files;
// 检查是否是图片
if (!files || this.disabled) return; // 检查上传数量是否超过限制数
if (this.limit && this.uploadFiles.length + files.length > this.limit) {
this.$emit('exceed', {
files: files,
fileList: this.uploadFiles
});
return;
} // 上传前钩子
if (this.beforeUpload) {
this.beforeUpload({
files: files,
fileList: this.uploadFiles,
resolve: function resolve(isPass) {
isPass && _this4.readyToPost(files);
_this4.$refs.input.value = null;
}
});
} else {
this.readyToPost(files);
this.$refs.input.value = null;
}
},
// 实时更新当前option的数据
handleSuccess: function handleSuccess(res, rawFile) {
var file = this.getFileFromList(rawFile);
if (file) {
file[this.statusKey] = 'success';
file.response = res;
this.$emit('success', {
response: res,
file: file,
fileList: this.uploadFiles
});
}
},
handleError: function handleError(err, rawFile) {
var file = this.getFileFromList(rawFile);
if (file) {
file.error = err.message;
file[this.statusKey] = 'fail';
this.$emit('fail', {
error: err,
file: file,
fileList: this.uploadFiles
});
}
},
handleProgress: function handleProgress(e, rawFile) {
var file = this.getFileFromList(rawFile);
if (file) {
file.percent = e.percent;
this.$emit('progress', {
event: e,
file: file,
fileList: this.uploadFiles
});
}
},
handlePreview: function handlePreview(urls, file, index) {
var _this5 = this;
// 调用图片预览组件
this.$preview({
urls: urls,
current: index,
minZoom: this.minZoom,
maxZoom: this.maxZoom,
showIndex: this.showIndex,
swipeDuration: this.swipeDuration,
onClose: function onClose(_ref2) {
var index = _ref2.index;
_this5.$emit('preview-close', {
index: index
});
},
onOpen: function onOpen(_ref3) {
var index = _ref3.index;
_this5.$emit('preview-open', {
index: index
});
},
onLongTap: function onLongTap(_ref4) {
var index = _ref4.index;
_this5.$emit('preview-long-tap', {
index: index
});
}
});
},
handleRemove: function handleRemove(file, index) {
this.uploadFiles.splice(index, 1);
this.$emit('input', this.uploadFiles);
this.$emit('remove', {
file: file,
fileList: this.uploadFiles
});
},
removeFile: function removeFile(file, index) {
var _this6 = this;
if (this.beforeRemove) {
this.beforeRemove({
file: file,
index: index,
fileList: this.uploadFiles,
resolve: function resolve(isPass) {
isPass && _this6.handleRemove(file, index);
}
});
} else {
this.handleRemove(file, index);
}
},
preview: function preview(imgList, file, index) {
var _this7 = this;
if (this.beforePreview) {
this.beforePreview({
file: file,
index: index,
imgList: imgList,
resolve: function resolve(isPass) {
isPass && _this7.handlePreview(imgList, file, index);
}
});
} else {
this.handlePreview(imgList, file, index);
}
}
},
render: function render(h) {
var _this8 = this;
var limit = this.limit,
showLimitMum = this.showLimitMum,
reverse = this.reverse,
uploadFiles = this.uploadFiles,
disabled = this.disabled,
multiple = this.multiple,
accept = this.accept,
loadingType = this.loadingType,
loadingColor = this.loadingColor,
loadingSize = this.loadingSize,
showName = this.showName,
showPreviewList = this.showPreviewList,
t = this.t,
customEvokeClass = this.customEvokeClass;
var input = h("input", {
"ref": "input",
"attrs": {
"type": "file",
"multiple": multiple,
"accept": accept,
"disabled": disabled
},
"class": "wd-upload__input",
"on": {
"change": this.handleChange
}
}); // 限制数量时,展示上传文件个数
var evokeLimitNum = limit && showLimitMum ? h("div", {
"class": "wd-upload__evoke-num"
}, ["\uFF08", uploadFiles.length, "/", limit, "\uFF09"]) : ''; // 唤起项div
var evoke = !limit || uploadFiles.length < limit ? h("div", {
"key": -1,
"class": ['wd-upload__evoke', 'wd-upload-list-item', disabled ? 'is-disabled' : '', this.$slots.default ? 'is-slot-default' : '', customEvokeClass]
}, [this.$slots.default || h("i", {
"class": "wd-icon-fill-camera"
}), this.$slots.default ? '' : evokeLimitNum, input]) : ''; // loading 组件
var loading = h("wd-loading", {
"attrs": {
"type": loadingType,
"size": loadingSize,
"color": loadingColor
}
});
var imgList = []; // 图片预览的列表
var previewList = uploadFiles.length !== 0 ? uploadFiles.map(function (file, index) {
_this8.showImgPreview && imgList.push(file.url); // 加载中、失败状态下的样式
var statusDiv = file[_this8.statusKey] === 'loading' ? h("div", {
"class": "wd-upload__status-content"
}, [loading, h("span", {
"class": "wd-upload__progress-txt"
}, [parseInt(file.percent), "%"])]) : file[_this8.statusKey] === 'fail' ? h("div", {
"class": "wd-upload__status-content"
}, [h("i", {
"class": "wd-icon-close-outline wd-upload__icon"
}), h("span", {
"class": "wd-upload__progress-txt"
}, [file.error || t('wd.upload.error')])]) : '';
var mask = file[_this8.statusKey] !== 'success' ? h("div", {
"class": "wd-upload__mask wd-upload__status-content"
}, [statusDiv]) : ''; // 右上角关闭按钮
var closeButton = file[_this8.statusKey] === 'loading' || disabled ? '' : h("i", {
"class": "wd-icon-error-fill wd-upload__close",
"on": {
"click": function click() {
_this8.removeFile(file, index);
}
}
});
return h("div", {
"class": "wd-upload__preview wd-upload-list-item",
"key": file.uid
}, [mask, h("div", {
"class": "wd-upload__status-content",
"on": {
"click": function click() {
_this8.showImgPreview && _this8.preview(imgList, file, index);
}
}
}, [h("img", {
"attrs": {
"src": file.url
},
"class": "wd-upload__picture"
}), showName && file[_this8.statusKey] === 'success' ? h("div", {
"class": "wd-upload__picture-name"
}, [file[_this8.nameKey] || t('wd.upload.fileName')]) : '']), closeButton]);
}) : '';
var transition = function transition(front, end) {
return _this8.$slots.default ? h("div", {
"class": "wd-upload"
}, [front, h("transition-group", {
"attrs": {
"name": "wd-upload-list",
"tag": "div"
},
"class": "wd-upload__preview-list"
}, [end])]) : h("transition-group", {
"attrs": {
"name": "wd-upload-list",
"tag": "div"
},
"class": "wd-upload"
}, [front, end]);
};
var upload = showPreviewList ? reverse ? transition(evoke, previewList) : transition(previewList, evoke) : evoke;
return upload;
}
});
// CONCATENATED MODULE: ./packages/upload/src/main.vue?vue&type=script&lang=js&
/* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(0);
// CONCATENATED MODULE: ./packages/upload/src/main.vue
var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
src_mainvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "packages/upload/src/main.vue"
/* harmony default export */ var main = (component.exports);
// CONCATENATED MODULE: ./packages/upload/index.js
main.install = function (Vue) {
Vue.component(main.name, main);
};
/* harmony default export */ var packages_upload = __webpack_exports__["default"] = (main);
/***/ }),
/***/ 15:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
;
var context = {
id: 1000
};
/* harmony default export */ __webpack_exports__["a"] = (context);
/***/ }),
/***/ 2:
/***/ (function(module, exports) {
module.exports = require("vue");
/***/ }),
/***/ 4:
/***/ (function(module, exports) {
module.exports = require("wot-design/lib/mixins/locale");
/***/ }),
/***/ 5:
/***/ (function(module, exports) {
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty;
/***/ }),
/***/ 8:
/***/ (function(module, exports) {
module.exports = require("wot-design/lib/loading");
/***/ })
/******/ });