{"version":3,"sources":["webpack:///./src/components/x-upload/index.vue?425a","webpack:///./src/components/x-upload/index.vue?74b1","webpack:///./src/components/x-upload/js/ajax.js","webpack:///./src/components/x-upload/js/assist.js","webpack:///src/components/x-upload/index.vue","webpack:///./src/components/x-upload/index.vue?9cbd","webpack:///./src/components/x-upload/index.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","class","prefixCls","classes","on","handleClick","$event","preventDefault","onDrop","handlePaste","dragOver","ref","attrs","multiple","accept","handleChange","_t","staticRenderFns","getError","action","option","xhr","msg","status","err","Error","method","url","getBody","text","responseText","response","JSON","parse","e","upload","XMLHttpRequest","onprogress","total","percent","loaded","onProgress","formData","FormData","data","Object","keys","map","key","append","filename","file","onerror","onError","onload","onSuccess","open","withCredentials","headers","item","hasOwnProperty","setRequestHeader","send","isServer","Vue","prototype","$isServer","oneOf","value","validList","i","length","window","MutationObserver","WebKitMutationObserver","MozMutationObserver","props","type","default","requestClass","requestFunction","params","name","validator","format","maxSize","beforeUpload","onRemove","onPreview","onExceededSize","onFormatError","defaultFileList","paste","fileList","tempIndex","computed","watch","immediate","handler","methods","$refs","input","click","files","uploadFiles","dataTransfer","clipboardData","postFiles","slice","post","before","then","split","pop","toLocaleLowerCase","checked","size","handleStart","ajax","percentage","uid","showProgress","push","_file","getFile","target","handleProgress","handleSuccess","res","setTimeout","handleError","clearFiles","component"],"mappings":"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","file":"static/js/chunk-c7dc2fb8.8f8a9151.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","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.classes,on:{\"click\":_vm.handleClick,\"drop\":function($event){$event.preventDefault();return _vm.onDrop($event)},\"paste\":_vm.handlePaste,\"dragover\":function($event){$event.preventDefault();_vm.dragOver = true},\"dragleave\":function($event){$event.preventDefault();_vm.dragOver = false}}},[_c('input',{ref:\"input\",class:[_vm.prefixCls + '-input'],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.accept},on:{\"change\":_vm.handleChange}}),_vm._t(\"default\")],2),_vm._t(\"tip\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// https://github.com/ElemeFE/element/blob/dev/packages/upload/src/ajax.js\r\n\r\nfunction getError(action, option, xhr) {\r\n const msg = `fail to post ${action} ${xhr.status}'`;\r\n const err = new Error(msg);\r\n err.status = xhr.status;\r\n err.method = \"post\";\r\n err.url = action;\r\n return err;\r\n}\r\n\r\nfunction getBody(xhr) {\r\n const text = xhr.responseText || xhr.response;\r\n if (!text) {\r\n return text;\r\n }\r\n\r\n try {\r\n return JSON.parse(text);\r\n } catch (e) {\r\n return text;\r\n }\r\n}\r\n\r\nexport default function upload(option) {\r\n if (typeof XMLHttpRequest === \"undefined\") {\r\n return;\r\n }\r\n\r\n const xhr = new XMLHttpRequest();\r\n const action = option.action;\r\n\r\n if (xhr.upload) {\r\n xhr.upload.onprogress = function progress(e) {\r\n if (e.total > 0) {\r\n e.percent = (e.loaded / e.total) * 100;\r\n }\r\n option.onProgress(e);\r\n };\r\n }\r\n\r\n const formData = new FormData();\r\n\r\n if (option.data) {\r\n Object.keys(option.data).map(key => {\r\n formData.append(key, option.data[key]);\r\n });\r\n }\r\n\r\n formData.append(option.filename, option.file);\r\n\r\n xhr.onerror = function error(e) {\r\n option.onError(e);\r\n };\r\n\r\n xhr.onload = function onload() {\r\n if (xhr.status < 200 || xhr.status >= 300) {\r\n return option.onError(getError(action, option, xhr), getBody(xhr));\r\n }\r\n\r\n option.onSuccess(getBody(xhr));\r\n };\r\n\r\n xhr.open(\"post\", action, true);\r\n\r\n if (option.withCredentials && \"withCredentials\" in xhr) {\r\n xhr.withCredentials = true;\r\n }\r\n\r\n const headers = option.headers || {};\r\n\r\n // if (headers['X-Requested-With'] !== null) {\r\n // xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\r\n // }\r\n\r\n for (const item in headers) {\r\n if (headers.hasOwnProperty(item) && headers[item] !== null) {\r\n xhr.setRequestHeader(item, headers[item]);\r\n }\r\n }\r\n xhr.send(formData);\r\n}\r\n","import Vue from \"vue\";\r\nconst isServer = Vue.prototype.$isServer;\r\n// 判断参数是否是其中之一\r\nexport function oneOf(value, validList) {\r\n for (let i = 0; i < validList.length; i++) {\r\n if (value === validList[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexport function camelcaseToHyphen(str) {\r\n return str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\r\n}\r\n\r\n// For Modal scrollBar hidden\r\nlet cached;\r\nexport function getScrollBarSize(fresh) {\r\n if (isServer) return 0;\r\n if (fresh || cached === undefined) {\r\n const inner = document.createElement(\"div\");\r\n inner.style.width = \"100%\";\r\n inner.style.height = \"200px\";\r\n\r\n const outer = document.createElement(\"div\");\r\n const outerStyle = outer.style;\r\n\r\n outerStyle.position = \"absolute\";\r\n outerStyle.top = 0;\r\n outerStyle.left = 0;\r\n outerStyle.pointerEvents = \"none\";\r\n outerStyle.visibility = \"hidden\";\r\n outerStyle.width = \"200px\";\r\n outerStyle.height = \"150px\";\r\n outerStyle.overflow = \"hidden\";\r\n\r\n outer.appendChild(inner);\r\n\r\n document.body.appendChild(outer);\r\n\r\n const widthContained = inner.offsetWidth;\r\n outer.style.overflow = \"scroll\";\r\n let widthScroll = inner.offsetWidth;\r\n\r\n if (widthContained === widthScroll) {\r\n widthScroll = outer.clientWidth;\r\n }\r\n\r\n document.body.removeChild(outer);\r\n\r\n cached = widthContained - widthScroll;\r\n }\r\n return cached;\r\n}\r\n\r\n// watch DOM change\r\nexport const MutationObserver = isServer\r\n ? false\r\n : window.MutationObserver ||\r\n window.WebKitMutationObserver ||\r\n window.MozMutationObserver ||\r\n false;\r\n\r\nconst SPECIAL_CHARS_REGEXP = /([:\\-_]+(.))/g;\r\nconst MOZ_HACK_REGEXP = /^moz([A-Z])/;\r\n\r\nfunction camelCase(name) {\r\n return name\r\n .replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) {\r\n return offset ? letter.toUpperCase() : letter;\r\n })\r\n .replace(MOZ_HACK_REGEXP, \"Moz$1\");\r\n}\r\n// getStyle\r\nexport function getStyle(element, styleName) {\r\n if (!element || !styleName) return null;\r\n styleName = camelCase(styleName);\r\n if (styleName === \"float\") {\r\n styleName = \"cssFloat\";\r\n }\r\n try {\r\n const computed = document.defaultView.getComputedStyle(element, \"\");\r\n return element.style[styleName] || computed ? computed[styleName] : null;\r\n } catch (e) {\r\n return element.style[styleName];\r\n }\r\n}\r\n\r\n// firstUpperCase\r\nfunction firstUpperCase(str) {\r\n return str.toString()[0].toUpperCase() + str.toString().slice(1);\r\n}\r\nexport { firstUpperCase };\r\n\r\n// Warn\r\nexport function warnProp(component, prop, correctType, wrongType) {\r\n correctType = firstUpperCase(correctType);\r\n wrongType = firstUpperCase(wrongType);\r\n console.error(`[iView warn]: Invalid prop: type check failed for prop ${prop}. Expected ${correctType}, got ${wrongType}. (found in component: ${component})`); // eslint-disable-line\r\n}\r\n\r\nfunction typeOf(obj) {\r\n const toString = Object.prototype.toString;\r\n const map = {\r\n \"[object Boolean]\": \"boolean\",\r\n \"[object Number]\": \"number\",\r\n \"[object String]\": \"string\",\r\n \"[object Function]\": \"function\",\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object RegExp]\": \"regExp\",\r\n \"[object Undefined]\": \"undefined\",\r\n \"[object Null]\": \"null\",\r\n \"[object Object]\": \"object\"\r\n };\r\n return map[toString.call(obj)];\r\n}\r\n\r\n// deepCopy\r\nfunction deepCopy(data) {\r\n const t = typeOf(data);\r\n let o, i;\r\n\r\n if (t === \"array\") {\r\n o = [];\r\n } else if (t === \"object\") {\r\n o = {};\r\n } else {\r\n return data;\r\n }\r\n\r\n if (t === \"array\") {\r\n for (let i = 0; i < data.length; i++) {\r\n o.push(deepCopy(data[i]));\r\n }\r\n } else if (t === \"object\") {\r\n for (i in data) {\r\n o[i] = deepCopy(data[i]);\r\n }\r\n }\r\n return o;\r\n}\r\n\r\nexport { deepCopy };\r\n\r\n// scrollTop animation\r\nexport function scrollTop(el, from = 0, to, duration = 500, endCallback) {\r\n if (!window.requestAnimationFrame) {\r\n window.requestAnimationFrame =\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function(callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n };\r\n }\r\n const difference = Math.abs(from - to);\r\n const step = Math.ceil((difference / duration) * 50);\r\n\r\n function scroll(start, end, step) {\r\n if (start === end) {\r\n endCallback && endCallback();\r\n return;\r\n }\r\n\r\n let d = start + step > end ? end : start + step;\r\n if (start > end) {\r\n d = start - step < end ? end : start - step;\r\n }\r\n\r\n if (el === window) {\r\n window.scrollTo(d, d);\r\n } else {\r\n el.scrollTop = d;\r\n }\r\n window.requestAnimationFrame(() => scroll(d, end, step));\r\n }\r\n scroll(from, to, step);\r\n}\r\n\r\n// Find components upward\r\nfunction findComponentUpward(context, componentName, componentNames) {\r\n if (typeof componentName === \"string\") {\r\n componentNames = [componentName];\r\n } else {\r\n componentNames = componentName;\r\n }\r\n\r\n let parent = context.$parent;\r\n let name = parent.$options.name;\r\n while (parent && (!name || componentNames.indexOf(name) < 0)) {\r\n parent = parent.$parent;\r\n if (parent) name = parent.$options.name;\r\n }\r\n return parent;\r\n}\r\nexport { findComponentUpward };\r\n\r\n// Find component downward\r\nexport function findComponentDownward(context, componentName) {\r\n const childrens = context.$children;\r\n let children = null;\r\n let child = null;\r\n\r\n if (childrens.length) {\r\n for (child of childrens) {\r\n const name = child.$options.name;\r\n if (name === componentName) {\r\n children = child;\r\n break;\r\n } else {\r\n children = findComponentDownward(child, componentName);\r\n if (children) break;\r\n }\r\n }\r\n }\r\n return children;\r\n}\r\n\r\n// Find components downward\r\nexport function findComponentsDownward(context, componentName) {\r\n return context.$children.reduce((components, child) => {\r\n if (child.$options.name === componentName) components.push(child);\r\n const foundChilds = findComponentsDownward(child, componentName);\r\n return components.concat(foundChilds);\r\n }, []);\r\n}\r\n\r\n// Find components upward\r\nexport function findComponentsUpward(context, componentName) {\r\n const parents = [];\r\n const parent = context.$parent;\r\n if (parent) {\r\n if (parent.$options.name === componentName) parents.push(parent);\r\n return parents.concat(findComponentsUpward(parent, componentName));\r\n } else {\r\n return [];\r\n }\r\n}\r\n\r\n// Find brothers components\r\nexport function findBrothersComponents(\r\n context,\r\n componentName,\r\n exceptMe = true\r\n) {\r\n const res = context.$parent.$children.filter(item => {\r\n return item.$options.name === componentName;\r\n });\r\n const index = res.findIndex(item => item._uid === context._uid);\r\n if (exceptMe) res.splice(index, 1);\r\n return res;\r\n}\r\n\r\n/* istanbul ignore next */\r\nconst trim = function(string) {\r\n return (string || \"\").replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, \"\");\r\n};\r\n\r\n/* istanbul ignore next */\r\nexport function hasClass(el, cls) {\r\n if (!el || !cls) return false;\r\n if (cls.indexOf(\" \") !== -1)\r\n throw new Error(\"className should not contain space.\");\r\n if (el.classList) {\r\n return el.classList.contains(cls);\r\n } else {\r\n return (\" \" + el.className + \" \").indexOf(\" \" + cls + \" \") > -1;\r\n }\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport function addClass(el, cls) {\r\n if (!el) return;\r\n let curClass = el.className;\r\n const classes = (cls || \"\").split(\" \");\r\n\r\n for (let i = 0, j = classes.length; i < j; i++) {\r\n const clsName = classes[i];\r\n if (!clsName) continue;\r\n\r\n if (el.classList) {\r\n el.classList.add(clsName);\r\n } else {\r\n if (!hasClass(el, clsName)) {\r\n curClass += \" \" + clsName;\r\n }\r\n }\r\n }\r\n if (!el.classList) {\r\n el.className = curClass;\r\n }\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport function removeClass(el, cls) {\r\n if (!el || !cls) return;\r\n const classes = cls.split(\" \");\r\n let curClass = \" \" + el.className + \" \";\r\n\r\n for (let i = 0, j = classes.length; i < j; i++) {\r\n const clsName = classes[i];\r\n if (!clsName) continue;\r\n\r\n if (el.classList) {\r\n el.classList.remove(clsName);\r\n } else {\r\n if (hasClass(el, clsName)) {\r\n curClass = curClass.replace(\" \" + clsName + \" \", \" \");\r\n }\r\n }\r\n }\r\n if (!el.classList) {\r\n el.className = trim(curClass);\r\n }\r\n}\r\n\r\nexport const dimensionMap = {\r\n xs: \"480px\",\r\n sm: \"768px\",\r\n md: \"992px\",\r\n lg: \"1200px\",\r\n xl: \"1600px\"\r\n};\r\n\r\nexport function setMatchMedia() {\r\n if (typeof window !== \"undefined\") {\r\n const matchMediaPolyfill = mediaQuery => {\r\n return {\r\n media: mediaQuery,\r\n matches: false,\r\n on() {},\r\n off() {}\r\n };\r\n };\r\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\r\n }\r\n}\r\n\r\nexport const sharpMatcherRegx = /#([^#]+)$/;\r\n","\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../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??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../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=3a470a64&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\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"],"sourceRoot":""}