{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/vc-upload/src/request.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/uid.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/attr-accept.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/traverseFileTree.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/AjaxUploader.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/IframeUploader.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/Upload.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/src/index.js","webpack:///./node_modules/ant-design-vue/es/vc-upload/index.js","webpack:///./node_modules/ant-design-vue/es/version/index.js","webpack:///./node_modules/ant-design-vue/es/vc-util/warning.js","webpack:///./node_modules/ant-design-vue/es/vc-util/Dom/contains.js","webpack:///./node_modules/ant-design-vue/es/vc-trigger/LazyRenderBox.js","webpack:///./node_modules/ant-design-vue/es/vc-trigger/PopupInner.js","webpack:///./node_modules/ant-design-vue/es/vc-trigger/Popup.js","webpack:///./node_modules/ant-design-vue/es/vc-trigger/utils.js","webpack:///./node_modules/ant-design-vue/es/vc-trigger/Trigger.js","webpack:///./node_modules/ant-design-vue/es/vc-trigger/index.js","webpack:///./node_modules/ant-design-vue/es/vc-util/Dom/addEventListener.js","webpack:///./node_modules/ant-design-vue/es/vc-util/Dom/class.js"],"names":["getBody","xhr","text","responseText","response","JSON","parse","e","upload","option","window","XMLHttpRequest","onProgress","onprogress","total","percent","loaded","formData","FormData","data","Object","keys","forEach","key","value","Array","isArray","item","append","filename","file","onerror","onError","onload","status","msg","method","action","err","Error","url","getError","onSuccess","open","withCredentials","headers","h","setRequestHeader","hasOwnProperty","send","abort","now","Date","index","acceptedFiles","acceptedFilesArray","split","fileName","name","mimeType","type","baseMimeType","replace","some","validType","trim","charAt","str","suffix","indexOf","length","endsWith","toLowerCase","test","files","callback","isAccepted","_traverseFileTree","path","isFile","fullPath","webkitRelativePath","defineProperties","writable","isDirectory","dirReader","createReader","fileList","sequence","readEntries","entries","entryList","prototype","slice","apply","concat","loopFiles","entryItem","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","webkitGetAsEntry","upLoadPropTypes","componentTag","string","prefixCls","multiple","bool","directory","disabled","accept","oneOfType","object","func","beforeUpload","customRequest","openFileDialogOnClick","transformFile","AjaxUploader","inheritAttrs","mixins","BaseMixin","props","this","reqs","uid","mounted","_isMounted","beforeDestroy","methods","onChange","target","uploadFiles","reset","onClick","el","$refs","fileInputRef","click","onKeyDown","onFileDrop","_this","$props","preventDefault","dataTransfer","items","_file","call","successFiles","errorFiles","$emit","_this2","postFiles","map","_this3","setTimeout","post","before","then","processedFile","processedFileType","toString","console","log","_this4","_props$transformFile","originFile","Promise","resolve","request","error","transformedFile","requestOption","ret","setState","render","_classNames","arguments","$attrs","Tag","cls","events","keydown","drop","dragover","tagProps","on","attrs","role","tabIndex","id","webkitdirectory","ref","stopPropagation","style","display","$slots","IFRAME_STYLE","position","top","opacity","filter","left","zIndex","IframeUploader","uploading","onLoad","doc","getIframeDocument","script","getElementsByTagName","parentNode","body","removeChild","innerHTML","warning","endUpload","getFormInputNode","substring","lastIndexOf","startUpload","getIframeNode","iframeRef","contentDocument","getFormNode","getElementById","getFormDataNode","getFileForMultiple","getIframeHTML","domain","domainScript","domainInput","initIframeSrc","src","initIframe","iframeNode","win","contentWindow","document","write","close","onchange","updateIframeWH","rootNode","$el","height","offsetHeight","width","offsetWidth","formNode","dataSpan","inputs","createDocumentFragment","input","createElement","setAttribute","appendChild","submit","$nextTick","updated","_$props","iframeStyle","className","uploadProps","multipart","supportServerRender","Component","getComponent","File","uploaderRef","componentProps","_ComponentUploader","ComponentUploader","i","warned","valid","message","contains","root","n","node","visible","hiddenClassName","children","def","divProps","LazyRenderBox","getClassNameFromAlign","getRootDomNode","align","any","destroyPopupOnHide","getContainer","transitionName","animation","maskAnimation","maskTransitionName","mask","number","popupClassName","popupStyle","stretch","point","shape","pageX","pageY","domEl","stretchChecked","targetWidth","targetHeight","getPopupDomNode","setStretchSize","remove","onAlign","popupDomNode","currentAlignClassName","getClassName","listeners","_$data","$data","$ele","popupInstance","getTargetElement","getAlignTarget","getMaskTransitionName","getTransitionName","getPopupElement","$createElement","_$data2","sizeStyle","minHeight","minWidth","alignInstance","forceAlign","popupInnerProps","getZIndexStyle","transitionProps","appear","css","useTransition","transitionEvent","beforeEnter","enter","beforeLeave","leave","_animation$on","_animation$props","_props","monitorWindowResize","PopupInner","directives","getMaskElement","maskElement","maskTransition","isPointsEq","a1","a2","isAlignPoint","noop","use","r","ALL_HANDLERS","arrayOf","showAction","hideAction","getPopupClassNameFromAlign","afterPopupVisibleChange","popup","popupPlacement","builtinPlacements","popupTransitionName","popupAnimation","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","getPopupContainer","getDocument","forceRender","maskClosable","popupAlign","popupVisible","defaultPopupVisible","alignPoint","provide","vcTriggerContext","inject","savePopupRef","dialogContext","fireEvents","prevPopupVisible","sPopupVisible","watch","val","deactivated","setPopupVisible","renderComponent","updatedCal","clearDelayTimer","clearOutsideHandler","clearTimeout","mouseDownTimeout","currentDocument","clickOutsideHandler","isClickToHide","isContextmenuToShow","addEventListener","onDocumentClick","touchOutsideHandler","contextmenuOutsideHandler1","onContextmenuClose","contextmenuOutsideHandler2","onMouseenter","delaySetPopupVisible","onMouseMove","setPoint","onMouseleave","onPopupMouseenter","onPopupMouseleave","relatedTarget","_component","onFocus","isFocusToShow","focusTime","onMousedown","preClickTime","onTouchstart","preTouchTime","onBlur","activeElement","isBlurToHide","onContextmenu","event","preTime","Math","min","abs","isClickToShow","domEvent","nextVisible","onPopupMouseDown","_vcTriggerContext","hasPopupMouseDown","handleGetPopupClassFromAlign","push","points","placement","getAlignPopupClassName","join","getPopupAlign","placementStr","baseAlign","getAlignFromPlacement","savePopup","self","mouseProps","isMouseEnterToShow","mouseenter","isMouseLeaveToHide","mouseleave","mousedown","touchstart","_self$$props","popupProps","Popup","popupContainer","popupVisibleChange","delayS","_this5","delay","delayTimer","requestAnimationTimeout","c","createTwoChains","fn","childOriginEvents","_$props2","_$props3","_$props4","_$props5","_$props6","_$props7","forcePopupAlign","__emit","_this6","_$props8","child","newChildProps","nativeOn","contextmenu","mousemove","focus","blur","trigger","ContainerRender","parent","autoMount","_ref","addEventListenerWrap","eventType","cb","hasClass","classList"],"mappings":"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","file":"js/chunk-vendors~61bc7846.404f452a.js","sourcesContent":["function getError(option, xhr) {\n var msg = 'cannot ' + option.method + ' ' + option.action + ' ' + xhr.status + '\\'';\n var err = new Error(msg);\n err.status = xhr.status;\n err.method = option.method;\n err.url = option.action;\n return err;\n}\n\nfunction getBody(xhr) {\n var text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\n// option {\n// onProgress: (event: { percent: number }): void,\n// onError: (event: Error, body?: Object): void,\n// onSuccess: (body: Object): void,\n// data: Object,\n// filename: String,\n// file: File,\n// withCredentials: Boolean,\n// action: String,\n// headers: Object,\n// }\nexport default function upload(option) {\n var xhr = new window.XMLHttpRequest();\n\n if (option.onProgress && xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n option.onProgress(e);\n };\n }\n\n var formData = new window.FormData();\n\n if (option.data) {\n Object.keys(option.data).forEach(function (key) {\n var value = option.data[key];\n // support key-value array data\n if (Array.isArray(value)) {\n value.forEach(function (item) {\n // { list: [ 11, 22 ] }\n // formData.append('list[]', 11);\n formData.append(key + '[]', item);\n });\n return;\n }\n\n formData.append(key, option.data[key]);\n });\n }\n\n formData.append(option.filename, option.file);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n // allow success when 2xx status\n // see https://github.com/react-component/upload/issues/34\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(option, xhr), getBody(xhr));\n }\n\n option.onSuccess(getBody(xhr), xhr);\n };\n\n xhr.open(option.method, option.action, true);\n\n // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n var headers = option.headers || {};\n\n // when set headers['X-Requested-With'] = null , can close default XHR header\n // see https://github.com/react-component/upload/issues/33\n if (headers['X-Requested-With'] !== null) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n for (var h in headers) {\n if (headers.hasOwnProperty(h) && headers[h] !== null) {\n xhr.setRequestHeader(h, headers[h]);\n }\n }\n xhr.send(formData);\n\n return {\n abort: function abort() {\n xhr.abort();\n }\n };\n}","var now = +new Date();\nvar index = 0;\n\nexport default function uid() {\n return \"vc-upload-\" + now + \"-\" + ++index;\n}","function endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\n\nexport default (function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = file.type || '';\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim();\n if (validType.charAt(0) === '.') {\n return endsWith(fileName.toLowerCase(), validType.toLowerCase());\n } else if (/\\/\\*$/.test(validType)) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n return mimeType === validType;\n });\n }\n return true;\n});","function loopFiles(item, callback) {\n var dirReader = item.createReader();\n var fileList = [];\n\n function sequence() {\n dirReader.readEntries(function (entries) {\n var entryList = Array.prototype.slice.apply(entries);\n fileList = fileList.concat(entryList);\n\n // Check if all the file has been viewed\n var isFinished = !entryList.length;\n\n if (isFinished) {\n callback(fileList);\n } else {\n sequence();\n }\n });\n }\n\n sequence();\n}\n\nvar traverseFileTree = function traverseFileTree(files, callback, isAccepted) {\n var _traverseFileTree = function _traverseFileTree(item, path) {\n path = path || '';\n if (item.isFile) {\n item.file(function (file) {\n if (isAccepted(file)) {\n // https://github.com/ant-design/ant-design/issues/16426\n if (item.fullPath && !file.webkitRelativePath) {\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: true\n }\n });\n file.webkitRelativePath = item.fullPath.replace(/^\\//, '');\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: false\n }\n });\n }\n callback([file]);\n }\n });\n } else if (item.isDirectory) {\n loopFiles(item, function (entries) {\n entries.forEach(function (entryItem) {\n _traverseFileTree(entryItem, '' + path + item.name + '/');\n });\n });\n }\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var file = _step.value;\n\n _traverseFileTree(file.webkitGetAsEntry());\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator['return']) {\n _iterator['return']();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n};\n\nexport default traverseFileTree;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport partition from 'lodash/partition';\nimport classNames from 'classnames';\nimport defaultRequest from './request';\nimport getUid from './uid';\nimport attrAccept from './attr-accept';\nimport traverseFileTree from './traverseFileTree';\nimport { getListeners } from '../../_util/props-util';\n\nvar upLoadPropTypes = {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n // className: PropTypes.string,\n multiple: PropTypes.bool,\n directory: PropTypes.bool,\n disabled: PropTypes.bool,\n accept: PropTypes.string,\n // children: PropTypes.any,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n headers: PropTypes.object,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onProgress: PropTypes.func,\n withCredentials: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n transformFile: PropTypes.func,\n method: PropTypes.string\n};\n\nvar AjaxUploader = {\n inheritAttrs: false,\n name: 'ajaxUploader',\n mixins: [BaseMixin],\n props: upLoadPropTypes,\n data: function data() {\n this.reqs = {};\n return {\n uid: getUid()\n };\n },\n mounted: function mounted() {\n this._isMounted = true;\n },\n beforeDestroy: function beforeDestroy() {\n this._isMounted = false;\n this.abort();\n },\n\n methods: {\n onChange: function onChange(e) {\n var files = e.target.files;\n this.uploadFiles(files);\n this.reset();\n },\n onClick: function onClick() {\n var el = this.$refs.fileInputRef;\n if (!el) {\n return;\n }\n el.click();\n },\n onKeyDown: function onKeyDown(e) {\n if (e.key === 'Enter') {\n this.onClick();\n }\n },\n onFileDrop: function onFileDrop(e) {\n var _this = this;\n\n var multiple = this.$props.multiple;\n\n e.preventDefault();\n if (e.type === 'dragover') {\n return;\n }\n if (this.directory) {\n traverseFileTree(e.dataTransfer.items, this.uploadFiles, function (_file) {\n return attrAccept(_file, _this.accept);\n });\n } else {\n var files = partition(Array.prototype.slice.call(e.dataTransfer.files), function (file) {\n return attrAccept(file, _this.accept);\n });\n var successFiles = files[0];\n var errorFiles = files[1];\n if (multiple === false) {\n successFiles = successFiles.slice(0, 1);\n }\n this.uploadFiles(successFiles);\n\n if (errorFiles.length) {\n this.$emit('reject', errorFiles);\n }\n }\n },\n uploadFiles: function uploadFiles(files) {\n var _this2 = this;\n\n var postFiles = Array.prototype.slice.call(files);\n postFiles.map(function (file) {\n file.uid = getUid();\n return file;\n }).forEach(function (file) {\n _this2.upload(file, postFiles);\n });\n },\n upload: function upload(file, fileList) {\n var _this3 = this;\n\n if (!this.beforeUpload) {\n // always async in case use react state to keep fileList\n return setTimeout(function () {\n return _this3.post(file);\n }, 0);\n }\n\n var before = this.beforeUpload(file, fileList);\n if (before && before.then) {\n before.then(function (processedFile) {\n var processedFileType = Object.prototype.toString.call(processedFile);\n if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {\n return _this3.post(processedFile);\n }\n return _this3.post(file);\n })['catch'](function (e) {\n console && console.log(e); // eslint-disable-line\n });\n } else if (before !== false) {\n setTimeout(function () {\n return _this3.post(file);\n }, 0);\n }\n },\n post: function post(file) {\n var _this4 = this;\n\n if (!this._isMounted) {\n return;\n }\n var props = this.$props;\n var data = props.data;\n var _props$transformFile = props.transformFile,\n transformFile = _props$transformFile === undefined ? function (originFile) {\n return originFile;\n } : _props$transformFile;\n\n\n new Promise(function (resolve) {\n var action = _this4.action;\n\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(function (action) {\n var uid = file.uid;\n\n var request = _this4.customRequest || defaultRequest;\n var transform = Promise.resolve(transformFile(file))['catch'](function (e) {\n console.error(e); // eslint-disable-line no-console\n });\n transform.then(function (transformedFile) {\n if (typeof data === 'function') {\n data = data(file);\n }\n\n var requestOption = {\n action: action,\n filename: _this4.name,\n data: data,\n file: transformedFile,\n headers: _this4.headers,\n withCredentials: _this4.withCredentials,\n method: props.method || 'post',\n onProgress: function onProgress(e) {\n _this4.$emit('progress', e, file);\n },\n onSuccess: function onSuccess(ret, xhr) {\n delete _this4.reqs[uid];\n _this4.$emit('success', ret, file, xhr);\n },\n onError: function onError(err, ret) {\n delete _this4.reqs[uid];\n _this4.$emit('error', err, ret, file);\n }\n };\n _this4.reqs[uid] = request(requestOption);\n _this4.$emit('start', file);\n });\n });\n },\n reset: function reset() {\n this.setState({\n uid: getUid()\n });\n },\n abort: function abort(file) {\n var reqs = this.reqs;\n\n if (file) {\n var uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n delete reqs[uid];\n } else {\n Object.keys(reqs).forEach(function (uid) {\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n });\n }\n }\n },\n\n render: function render() {\n var _classNames;\n\n var h = arguments[0];\n var $props = this.$props,\n $attrs = this.$attrs;\n var Tag = $props.componentTag,\n prefixCls = $props.prefixCls,\n disabled = $props.disabled,\n multiple = $props.multiple,\n accept = $props.accept,\n directory = $props.directory,\n openFileDialogOnClick = $props.openFileDialogOnClick;\n\n var cls = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _classNames));\n var events = disabled ? {} : {\n click: openFileDialogOnClick ? this.onClick : function () {},\n keydown: openFileDialogOnClick ? this.onKeyDown : function () {},\n drop: this.onFileDrop,\n dragover: this.onFileDrop\n };\n var tagProps = {\n on: _extends({}, getListeners(this), events),\n attrs: {\n role: 'button',\n tabIndex: disabled ? null : '0'\n },\n 'class': cls\n };\n return h(\n Tag,\n tagProps,\n [h('input', {\n attrs: {\n id: $attrs.id,\n type: 'file',\n\n accept: accept,\n directory: directory ? 'directory' : null,\n webkitdirectory: directory ? 'webkitdirectory' : null,\n multiple: multiple\n },\n ref: 'fileInputRef',\n on: {\n 'click': function click(e) {\n return e.stopPropagation();\n },\n 'change': this.onChange\n },\n // https://github.com/ant-design/ant-design/issues/19948\n key: this.uid,\n style: { display: 'none' } }), this.$slots['default']]\n );\n }\n};\n\nexport default AjaxUploader;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport classNames from 'classnames';\nimport getUid from './uid';\nimport warning from '../../_util/warning';\n\nvar IFRAME_STYLE = {\n position: 'absolute',\n top: 0,\n opacity: 0,\n filter: 'alpha(opacity=0)',\n left: 0,\n zIndex: 9999\n};\n\n// diferent from AjaxUpload, can only upload on at one time, serial seriously\nvar IframeUploader = {\n mixins: [BaseMixin],\n props: {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n accept: PropTypes.string,\n // onStart: PropTypes.func,\n multiple: PropTypes.bool,\n // children: PropTypes.any,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string\n },\n data: function data() {\n this.file = {};\n return {\n uploading: false\n };\n },\n\n methods: {\n onLoad: function onLoad() {\n if (!this.uploading) {\n return;\n }\n var file = this.file;\n\n var response = void 0;\n try {\n var doc = this.getIframeDocument();\n var script = doc.getElementsByTagName('script')[0];\n if (script && script.parentNode === doc.body) {\n doc.body.removeChild(script);\n }\n response = doc.body.innerHTML;\n this.$emit('success', response, file);\n } catch (err) {\n warning(false, 'cross domain error for Upload. Maybe server should return document.domain script. see Note from https://github.com/react-component/upload');\n response = 'cross-domain';\n this.$emit('error', err, null, file);\n }\n this.endUpload();\n },\n onChange: function onChange() {\n var _this = this;\n\n var target = this.getFormInputNode();\n // ie8/9 don't support FileList Object\n // http://stackoverflow.com/questions/12830058/ie8-input-type-file-get-files\n var file = this.file = {\n uid: getUid(),\n name: target.value && target.value.substring(target.value.lastIndexOf('\\\\') + 1, target.value.length)\n };\n this.startUpload();\n var props = this.$props;\n\n if (!props.beforeUpload) {\n return this.post(file);\n }\n var before = props.beforeUpload(file);\n if (before && before.then) {\n before.then(function () {\n _this.post(file);\n }, function () {\n _this.endUpload();\n });\n } else if (before !== false) {\n this.post(file);\n } else {\n this.endUpload();\n }\n },\n getIframeNode: function getIframeNode() {\n return this.$refs.iframeRef;\n },\n getIframeDocument: function getIframeDocument() {\n return this.getIframeNode().contentDocument;\n },\n getFormNode: function getFormNode() {\n return this.getIframeDocument().getElementById('form');\n },\n getFormInputNode: function getFormInputNode() {\n return this.getIframeDocument().getElementById('input');\n },\n getFormDataNode: function getFormDataNode() {\n return this.getIframeDocument().getElementById('data');\n },\n getFileForMultiple: function getFileForMultiple(file) {\n return this.multiple ? [file] : file;\n },\n getIframeHTML: function getIframeHTML(domain) {\n var domainScript = '';\n var domainInput = '';\n if (domain) {\n var script = 'script';\n domainScript = '<' + script + '>document.domain=\"' + domain + '\";' + script + '>';\n domainInput = '';\n }\n return '\\n \\n \\n
\\n \\n \\n ' + domainScript + '\\n \\n \\n \\n \\n \\n ';\n },\n initIframeSrc: function initIframeSrc() {\n if (this.domain) {\n this.getIframeNode().src = 'javascript:void((function(){\\n var d = document;\\n d.open();\\n d.domain=\\'' + this.domain + '\\';\\n d.write(\\'\\');\\n d.close();\\n })())';\n }\n },\n initIframe: function initIframe() {\n var iframeNode = this.getIframeNode();\n var win = iframeNode.contentWindow;\n var doc = void 0;\n this.domain = this.domain || '';\n this.initIframeSrc();\n try {\n doc = win.document;\n } catch (e) {\n this.domain = document.domain;\n this.initIframeSrc();\n win = iframeNode.contentWindow;\n doc = win.document;\n }\n doc.open('text/html', 'replace');\n doc.write(this.getIframeHTML(this.domain));\n doc.close();\n this.getFormInputNode().onchange = this.onChange;\n },\n endUpload: function endUpload() {\n if (this.uploading) {\n this.file = {};\n // hack avoid batch\n this.uploading = false;\n this.setState({\n uploading: false\n });\n this.initIframe();\n }\n },\n startUpload: function startUpload() {\n if (!this.uploading) {\n this.uploading = true;\n this.setState({\n uploading: true\n });\n }\n },\n updateIframeWH: function updateIframeWH() {\n var rootNode = this.$el;\n var iframeNode = this.getIframeNode();\n iframeNode.style.height = rootNode.offsetHeight + 'px';\n iframeNode.style.width = rootNode.offsetWidth + 'px';\n },\n abort: function abort(file) {\n if (file) {\n var uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (uid === this.file.uid) {\n this.endUpload();\n }\n } else {\n this.endUpload();\n }\n },\n post: function post(file) {\n var _this2 = this;\n\n var formNode = this.getFormNode();\n var dataSpan = this.getFormDataNode();\n var data = this.$props.data;\n\n if (typeof data === 'function') {\n data = data(file);\n }\n var inputs = document.createDocumentFragment();\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n var input = document.createElement('input');\n input.setAttribute('name', key);\n input.value = data[key];\n inputs.appendChild(input);\n }\n }\n dataSpan.appendChild(inputs);\n new Promise(function (resolve) {\n var action = _this2.action;\n\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(function (action) {\n formNode.setAttribute('action', action);\n formNode.submit();\n dataSpan.innerHTML = '';\n _this2.$emit('start', file);\n });\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.updateIframeWH();\n _this3.initIframe();\n });\n },\n updated: function updated() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.updateIframeWH();\n });\n },\n render: function render() {\n var _classNames;\n\n var h = arguments[0];\n var _$props = this.$props,\n Tag = _$props.componentTag,\n disabled = _$props.disabled,\n prefixCls = _$props.prefixCls;\n\n var iframeStyle = _extends({}, IFRAME_STYLE, {\n display: this.uploading || disabled ? 'none' : ''\n });\n var cls = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _classNames));\n\n return h(\n Tag,\n {\n attrs: { className: cls },\n style: { position: 'relative', zIndex: 0 } },\n [h('iframe', { ref: 'iframeRef', on: {\n 'load': this.onLoad\n },\n style: iframeStyle }), this.$slots['default']]\n );\n }\n};\n\nexport default IframeUploader;","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../../_util/vue-types';\nimport { initDefaultProps, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport AjaxUpload from './AjaxUploader';\nimport IframeUpload from './IframeUploader';\n\nfunction empty() {}\n\nvar uploadProps = {\n componentTag: PropTypes.string,\n prefixCls: PropTypes.string,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n multipart: PropTypes.bool,\n directory: PropTypes.bool,\n // onError: PropTypes.func,\n // onSuccess: PropTypes.func,\n // onProgress: PropTypes.func,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n headers: PropTypes.object,\n accept: PropTypes.string,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onReady: PropTypes.func,\n method: PropTypes.string,\n withCredentials: PropTypes.bool,\n supportServerRender: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n transformFile: PropTypes.func\n};\nexport default {\n name: 'Upload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(uploadProps, {\n componentTag: 'span',\n prefixCls: 'rc-upload',\n data: {},\n headers: {},\n name: 'file',\n multipart: false,\n // onReady: empty,\n // onStart: empty,\n // onError: empty,\n // onSuccess: empty,\n supportServerRender: false,\n multiple: false,\n beforeUpload: empty,\n withCredentials: false,\n openFileDialogOnClick: true\n }),\n data: function data() {\n return {\n Component: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.supportServerRender) {\n _this.setState({\n Component: _this.getComponent()\n }, function () {\n _this.$emit('ready');\n });\n }\n });\n },\n\n methods: {\n getComponent: function getComponent() {\n return typeof File !== 'undefined' ? AjaxUpload : IframeUpload;\n },\n abort: function abort(file) {\n this.$refs.uploaderRef.abort(file);\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n var componentProps = {\n props: _extends({}, this.$props),\n on: getListeners(this),\n ref: 'uploaderRef',\n attrs: this.$attrs\n };\n if (this.supportServerRender) {\n var _ComponentUploader = this.Component;\n if (_ComponentUploader) {\n return h(\n _ComponentUploader,\n componentProps,\n [this.$slots['default']]\n );\n }\n return null;\n }\n var ComponentUploader = this.getComponent();\n return h(\n ComponentUploader,\n componentProps,\n [this.$slots['default']]\n );\n }\n};","// export this package's api\nimport Upload from './Upload';\n\nexport default Upload;","// rc-upload 2.9.4\nimport upload from './src';\n\nexport default upload;","import packageInfo from '../../package.json';\n\nexport default packageInfo.version;","/* eslint-disable no-console */\nvar warned = {};\n\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error('Warning: ' + message);\n }\n}\n\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn('Note: ' + message);\n }\n}\n\nexport function resetWarned() {\n warned = {};\n}\n\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nexport default warningOnce;\n/* eslint-enable */","export default function contains(root, n) {\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n\n return false;\n}","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string\n },\n render: function render() {\n var h = arguments[0];\n var _$props = this.$props,\n hiddenClassName = _$props.hiddenClassName,\n visible = _$props.visible;\n\n var children = null;\n if (hiddenClassName || !this.$slots['default'] || this.$slots['default'].length > 1) {\n var cls = '';\n if (!visible && hiddenClassName) {\n // cls += ` ${hiddenClassName}`\n }\n children = h(\n 'div',\n { 'class': cls },\n [this.$slots['default']]\n );\n } else {\n children = this.$slots['default'][0];\n }\n return children;\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport PropTypes from '../_util/vue-types';\nimport LazyRenderBox from './LazyRenderBox';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n hiddenClassName: PropTypes.string.def(''),\n prefixCls: PropTypes.string,\n visible: PropTypes.bool\n },\n render: function render() {\n var h = arguments[0];\n var _$props = this.$props,\n prefixCls = _$props.prefixCls,\n visible = _$props.visible,\n hiddenClassName = _$props.hiddenClassName;\n\n var divProps = {\n on: getListeners(this)\n };\n\n return h(\n 'div',\n _mergeJSXProps([divProps, { 'class': !visible ? hiddenClassName : '' }]),\n [h(\n LazyRenderBox,\n { 'class': prefixCls + '-content', attrs: { visible: visible }\n },\n [this.$slots['default']]\n )]\n );\n }\n};","import _typeof from 'babel-runtime/helpers/typeof';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport Align from '../vc-align';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport animate from '../_util/css-animation';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'VCTriggerPopup',\n mixins: [BaseMixin],\n props: {\n visible: PropTypes.bool,\n getClassNameFromAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n prefixCls: PropTypes.string,\n getContainer: PropTypes.func,\n transitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.string,\n maskTransitionName: PropTypes.string,\n mask: PropTypes.bool,\n zIndex: PropTypes.number,\n popupClassName: PropTypes.any,\n popupStyle: PropTypes.object.def(function () {\n return {};\n }),\n stretch: PropTypes.string,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })\n },\n data: function data() {\n this.domEl = null;\n return {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.rootNode = _this.getPopupDomNode();\n _this.setStretchSize();\n });\n },\n\n // 如添加会导致动画失效,如放开会导致快速输入时闪动 https://github.com/vueComponent/ant-design-vue/issues/1327,\n // 目前方案是保留动画,闪动问题(动画多次执行)进一步定位\n // beforeUpdate() {\n // if (this.domEl && this.domEl.rcEndListener) {\n // this.domEl.rcEndListener();\n // this.domEl = null;\n // }\n // },\n updated: function updated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setStretchSize();\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n } else if (this.$el.remove) {\n this.$el.remove();\n }\n },\n\n methods: {\n onAlign: function onAlign(popupDomNode, align) {\n var props = this.$props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (this.currentAlignClassName !== currentAlignClassName) {\n this.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = this.getClassName(currentAlignClassName);\n }\n var listeners = getListeners(this);\n listeners.align && listeners.align(popupDomNode, align);\n },\n\n\n // Record size if stretch needed\n setStretchSize: function setStretchSize() {\n var _$props = this.$props,\n stretch = _$props.stretch,\n getRootDomNode = _$props.getRootDomNode,\n visible = _$props.visible;\n var _$data = this.$data,\n stretchChecked = _$data.stretchChecked,\n targetHeight = _$data.targetHeight,\n targetWidth = _$data.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n this.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n this.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n },\n getPopupDomNode: function getPopupDomNode() {\n return this.$refs.popupInstance ? this.$refs.popupInstance.$el : null;\n },\n getTargetElement: function getTargetElement() {\n return this.$props.getRootDomNode();\n },\n\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n getAlignTarget: function getAlignTarget() {\n var point = this.$props.point;\n\n if (point) {\n return point;\n }\n return this.getTargetElement;\n },\n getMaskTransitionName: function getMaskTransitionName() {\n var props = this.$props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n },\n getTransitionName: function getTransitionName() {\n var props = this.$props;\n var transitionName = props.transitionName;\n var animation = props.animation;\n if (!transitionName) {\n if (typeof animation === 'string') {\n transitionName = '' + animation;\n } else if (animation && animation.props && animation.props.name) {\n transitionName = animation.props.name;\n }\n }\n return transitionName;\n },\n getClassName: function getClassName(currentAlignClassName) {\n return this.$props.prefixCls + ' ' + this.$props.popupClassName + ' ' + currentAlignClassName;\n },\n getPopupElement: function getPopupElement() {\n var _this3 = this;\n\n var h = this.$createElement;\n var props = this.$props,\n $slots = this.$slots,\n getTransitionName = this.getTransitionName;\n var _$data2 = this.$data,\n stretchChecked = _$data2.stretchChecked,\n targetHeight = _$data2.targetHeight,\n targetWidth = _$data2.targetWidth;\n var align = props.align,\n visible = props.visible,\n prefixCls = props.prefixCls,\n animation = props.animation,\n popupStyle = props.popupStyle,\n getClassNameFromAlign = props.getClassNameFromAlign,\n destroyPopupOnHide = props.destroyPopupOnHide,\n stretch = props.stretch;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n // const hiddenClassName = `${prefixCls}-hidden`\n if (!visible) {\n this.currentAlignClassName = null;\n }\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = typeof targetHeight === 'number' ? targetHeight + 'px' : targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = typeof targetHeight === 'number' ? targetHeight + 'px' : targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = typeof targetWidth === 'number' ? targetWidth + 'px' : targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = typeof targetWidth === 'number' ? targetWidth + 'px' : targetWidth;\n }\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n // sizeStyle.visibility = 'hidden'\n setTimeout(function () {\n if (_this3.$refs.alignInstance) {\n _this3.$refs.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n var popupInnerProps = {\n props: {\n prefixCls: prefixCls,\n visible: visible\n // hiddenClassName,\n },\n 'class': className,\n on: getListeners(this),\n ref: 'popupInstance',\n style: _extends({}, sizeStyle, popupStyle, this.getZIndexStyle())\n };\n var transitionProps = {\n props: {\n appear: true,\n css: false\n }\n };\n var transitionName = getTransitionName();\n var useTransition = !!transitionName;\n var transitionEvent = {\n beforeEnter: function beforeEnter() {\n // el.style.display = el.__vOriginalDisplay\n // this.$refs.alignInstance.forceAlign();\n },\n enter: function enter(el, done) {\n // render 后 vue 会移除通过animate动态添加的 class导致动画闪动,延迟两帧添加动画class,可以进一步定位或者重写 transition 组件\n _this3.$nextTick(function () {\n if (_this3.$refs.alignInstance) {\n _this3.$refs.alignInstance.$nextTick(function () {\n _this3.domEl = el;\n animate(el, transitionName + '-enter', done);\n });\n } else {\n done();\n }\n });\n },\n beforeLeave: function beforeLeave() {\n _this3.domEl = null;\n },\n leave: function leave(el, done) {\n animate(el, transitionName + '-leave', done);\n }\n };\n\n if ((typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) === 'object') {\n useTransition = true;\n\n var _animation$on = animation.on,\n on = _animation$on === undefined ? {} : _animation$on,\n _animation$props = animation.props,\n _props = _animation$props === undefined ? {} : _animation$props;\n\n transitionProps.props = _extends({}, transitionProps.props, _props);\n transitionProps.on = _extends({}, transitionEvent, on);\n } else {\n transitionProps.on = transitionEvent;\n }\n if (!useTransition) {\n transitionProps = {};\n }\n if (destroyPopupOnHide) {\n return h(\n 'transition',\n transitionProps,\n [visible ? h(\n Align,\n {\n attrs: {\n target: this.getAlignTarget(),\n\n monitorWindowResize: true,\n align: align\n },\n key: 'popup',\n ref: 'alignInstance', on: {\n 'align': this.onAlign\n }\n },\n [h(\n PopupInner,\n popupInnerProps,\n [$slots['default']]\n )]\n ) : null]\n );\n }\n return h(\n 'transition',\n transitionProps,\n [h(\n Align,\n {\n directives: [{\n name: 'show',\n value: visible\n }],\n attrs: {\n target: this.getAlignTarget(),\n\n monitorWindowResize: true,\n disabled: !visible,\n align: align\n },\n key: 'popup',\n ref: 'alignInstance', on: {\n 'align': this.onAlign\n }\n },\n [h(\n PopupInner,\n popupInnerProps,\n [$slots['default']]\n )]\n )]\n );\n },\n getZIndexStyle: function getZIndexStyle() {\n var style = {};\n var props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n getMaskElement: function getMaskElement() {\n var h = this.$createElement;\n\n var props = this.$props;\n var maskElement = null;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = h(LazyRenderBox, {\n directives: [{\n name: 'show',\n value: props.visible\n }],\n\n style: this.getZIndexStyle(),\n key: 'mask',\n 'class': props.prefixCls + '-mask',\n attrs: { visible: props.visible\n }\n });\n if (maskTransition) {\n maskElement = h(\n 'transition',\n {\n attrs: { appear: true, name: maskTransition }\n },\n [maskElement]\n );\n }\n }\n return maskElement;\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var getMaskElement = this.getMaskElement,\n getPopupElement = this.getPopupElement;\n\n return h('div', [getMaskElement(), getPopupElement()]);\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _extends({}, baseAlign, align);\n}\n\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n for (var placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return prefixCls + '-placement-' + placement;\n }\n }\n }\n return '';\n}\nexport function noop() {}","import _extends from 'babel-runtime/helpers/extends';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../_util/vue-types';\nimport contains from '../vc-util/Dom/contains';\nimport { hasProp, getComponentFromProp, getDataEvents, filterEmpty, getListeners } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport warning from '../_util/warning';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName, noop } from './utils';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport ContainerRender from '../_util/ContainerRender';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\nvar ALL_HANDLERS = ['click', 'mousedown', 'touchstart', 'mouseenter', 'mouseleave', 'focus', 'blur', 'contextmenu'];\n\nexport default {\n name: 'Trigger',\n mixins: [BaseMixin],\n props: {\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),\n showAction: PropTypes.any.def([]),\n hideAction: PropTypes.any.def([]),\n getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),\n // onPopupVisibleChange: PropTypes.func.def(noop),\n afterPopupVisibleChange: PropTypes.func.def(noop),\n popup: PropTypes.any,\n popupStyle: PropTypes.object.def(function () {\n return {};\n }),\n prefixCls: PropTypes.string.def('rc-trigger-popup'),\n popupClassName: PropTypes.string.def(''),\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number.def(0),\n blurDelay: PropTypes.number.def(0.15),\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func.def(returnDocument),\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool.def(false),\n mask: PropTypes.bool.def(false),\n maskClosable: PropTypes.bool.def(true),\n // onPopupAlign: PropTypes.func.def(noop),\n popupAlign: PropTypes.object.def(function () {\n return {};\n }),\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool.def(false),\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool // Maybe we can support user pass position in the future\n },\n provide: function provide() {\n return {\n vcTriggerContext: this\n };\n },\n\n inject: {\n vcTriggerContext: { 'default': function _default() {\n return {};\n } },\n savePopupRef: { 'default': function _default() {\n return noop;\n } },\n dialogContext: { 'default': function _default() {\n return null;\n } }\n },\n data: function data() {\n var _this = this;\n\n var props = this.$props;\n var popupVisible = void 0;\n if (hasProp(this, 'popupVisible')) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n ALL_HANDLERS.forEach(function (h) {\n _this['fire' + h] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return {\n prevPopupVisible: popupVisible,\n sPopupVisible: popupVisible,\n point: null\n };\n },\n\n watch: {\n popupVisible: function popupVisible(val) {\n if (val !== undefined) {\n this.prevPopupVisible = this.sPopupVisible;\n this.sPopupVisible = val;\n }\n }\n },\n deactivated: function deactivated() {\n this.setPopupVisible(false);\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.renderComponent(null);\n _this2.updatedCal();\n });\n },\n updated: function updated() {\n var _this3 = this;\n\n var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {\n if (_this3.sPopupVisible !== _this3.prevPopupVisible) {\n _this3.afterPopupVisibleChange(_this3.sPopupVisible);\n }\n _this3.prevPopupVisible = _this3.sPopupVisible;\n };\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n this.$nextTick(function () {\n _this3.updatedCal();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n },\n\n methods: {\n updatedCal: function updatedCal() {\n var props = this.$props;\n var state = this.$data;\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.sPopupVisible) {\n var currentDocument = void 0;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n }\n // close popup when trigger type contains 'onContextmenu' and document is scrolling.\n if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextmenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextmenuClose);\n }\n // close popup when trigger type contains 'onContextmenu' and window is blur.\n if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n this.contextmenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextmenuClose);\n }\n } else {\n this.clearOutsideHandler();\n }\n },\n onMouseenter: function onMouseenter(e) {\n var mouseEnterDelay = this.$props.mouseEnterDelay;\n\n this.fireEvents('mouseenter', e);\n this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n },\n onMouseMove: function onMouseMove(e) {\n this.fireEvents('mousemove', e);\n this.setPoint(e);\n },\n onMouseleave: function onMouseleave(e) {\n this.fireEvents('mouseleave', e);\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n onPopupMouseenter: function onPopupMouseenter() {\n this.clearDelayTimer();\n },\n onPopupMouseleave: function onPopupMouseleave(e) {\n if (e && e.relatedTarget && !e.relatedTarget.setTimeout && this._component && this._component.getPopupDomNode && contains(this._component.getPopupDomNode(), e.relatedTarget)) {\n return;\n }\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n onFocus: function onFocus(e) {\n this.fireEvents('focus', e);\n // incase focusin and focusout\n this.clearDelayTimer();\n if (this.isFocusToShow()) {\n this.focusTime = Date.now();\n this.delaySetPopupVisible(true, this.$props.focusDelay);\n }\n },\n onMousedown: function onMousedown(e) {\n this.fireEvents('mousedown', e);\n this.preClickTime = Date.now();\n },\n onTouchstart: function onTouchstart(e) {\n this.fireEvents('touchstart', e);\n this.preTouchTime = Date.now();\n },\n onBlur: function onBlur(e) {\n if (!contains(e.target, e.relatedTarget || document.activeElement)) {\n this.fireEvents('blur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.$props.blurDelay);\n }\n }\n },\n onContextmenu: function onContextmenu(e) {\n e.preventDefault();\n this.fireEvents('contextmenu', e);\n this.setPopupVisible(true, e);\n },\n onContextmenuClose: function onContextmenuClose() {\n if (this.isContextmenuToShow()) {\n this.close();\n }\n },\n onClick: function onClick(event) {\n this.fireEvents('click', event);\n // focus will trigger click\n if (this.focusTime) {\n var preTime = void 0;\n if (this.preClickTime && this.preTouchTime) {\n preTime = Math.min(this.preClickTime, this.preTouchTime);\n } else if (this.preClickTime) {\n preTime = this.preClickTime;\n } else if (this.preTouchTime) {\n preTime = this.preTouchTime;\n }\n if (Math.abs(preTime - this.focusTime) < 20) {\n return;\n }\n this.focusTime = 0;\n }\n this.preClickTime = 0;\n this.preTouchTime = 0;\n // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n if (this.isClickToShow() && (this.isClickToHide() || this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n if (event && event.domEvent) {\n event.domEvent.preventDefault();\n }\n var nextVisible = !this.$data.sPopupVisible;\n if (this.isClickToHide() && !nextVisible || nextVisible && this.isClickToShow()) {\n this.setPopupVisible(!this.$data.sPopupVisible, event);\n }\n },\n onPopupMouseDown: function onPopupMouseDown() {\n var _this4 = this;\n\n var _vcTriggerContext = this.vcTriggerContext,\n vcTriggerContext = _vcTriggerContext === undefined ? {} : _vcTriggerContext;\n\n this.hasPopupMouseDown = true;\n\n clearTimeout(this.mouseDownTimeout);\n this.mouseDownTimeout = setTimeout(function () {\n _this4.hasPopupMouseDown = false;\n }, 0);\n\n if (vcTriggerContext.onPopupMouseDown) {\n vcTriggerContext.onPopupMouseDown.apply(vcTriggerContext, arguments);\n }\n },\n onDocumentClick: function onDocumentClick(event) {\n if (this.$props.mask && !this.$props.maskClosable) {\n return;\n }\n var target = event.target;\n var root = this.$el;\n if (!contains(root, target) && !this.hasPopupMouseDown) {\n this.close();\n }\n },\n getPopupDomNode: function getPopupDomNode() {\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n },\n getRootDomNode: function getRootDomNode() {\n return this.$el;\n // return this.$el.children[0] || this.$el\n },\n handleGetPopupClassFromAlign: function handleGetPopupClassFromAlign(align) {\n var className = [];\n var props = this.$props;\n var popupPlacement = props.popupPlacement,\n builtinPlacements = props.builtinPlacements,\n prefixCls = props.prefixCls,\n alignPoint = props.alignPoint,\n getPopupClassNameFromAlign = props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n },\n getPopupAlign: function getPopupAlign() {\n var props = this.$props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n },\n savePopup: function savePopup(node) {\n this._component = node;\n this.savePopupRef(node);\n },\n getComponent: function getComponent() {\n var h = this.$createElement;\n\n var self = this;\n var mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.mouseenter = self.onPopupMouseenter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.mouseleave = self.onPopupMouseleave;\n }\n mouseProps.mousedown = this.onPopupMouseDown;\n mouseProps.touchstart = this.onPopupMouseDown;\n var handleGetPopupClassFromAlign = self.handleGetPopupClassFromAlign,\n getRootDomNode = self.getRootDomNode,\n getContainer = self.getContainer;\n var _self$$props = self.$props,\n prefixCls = _self$$props.prefixCls,\n destroyPopupOnHide = _self$$props.destroyPopupOnHide,\n popupClassName = _self$$props.popupClassName,\n action = _self$$props.action,\n popupAnimation = _self$$props.popupAnimation,\n popupTransitionName = _self$$props.popupTransitionName,\n popupStyle = _self$$props.popupStyle,\n mask = _self$$props.mask,\n maskAnimation = _self$$props.maskAnimation,\n maskTransitionName = _self$$props.maskTransitionName,\n zIndex = _self$$props.zIndex,\n stretch = _self$$props.stretch,\n alignPoint = _self$$props.alignPoint;\n var _$data = this.$data,\n sPopupVisible = _$data.sPopupVisible,\n point = _$data.point;\n\n var align = this.getPopupAlign();\n var popupProps = {\n props: {\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: sPopupVisible,\n point: alignPoint && point,\n action: action,\n align: align,\n animation: popupAnimation,\n getClassNameFromAlign: handleGetPopupClassFromAlign,\n stretch: stretch,\n getRootDomNode: getRootDomNode,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n getContainer: getContainer,\n popupClassName: popupClassName,\n popupStyle: popupStyle\n },\n on: _extends({\n align: getListeners(this).popupAlign || noop\n }, mouseProps),\n directives: [{\n name: 'ant-ref',\n value: this.savePopup\n }]\n };\n return h(\n Popup,\n popupProps,\n [getComponentFromProp(self, 'popup')]\n );\n },\n getContainer: function getContainer() {\n var props = this.$props,\n dialogContext = this.dialogContext;\n\n var popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n var mountNode = props.getPopupContainer ? props.getPopupContainer(this.$el, dialogContext) : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n this.popupContainer = popupContainer;\n return popupContainer;\n },\n setPopupVisible: function setPopupVisible(sPopupVisible, event) {\n var alignPoint = this.alignPoint,\n prevPopupVisible = this.sPopupVisible;\n\n this.clearDelayTimer();\n if (prevPopupVisible !== sPopupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({\n sPopupVisible: sPopupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n var listeners = getListeners(this);\n listeners.popupVisibleChange && listeners.popupVisibleChange(sPopupVisible);\n }\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event) {\n this.setPoint(event);\n }\n },\n setPoint: function setPoint(point) {\n var alignPoint = this.$props.alignPoint;\n\n if (!alignPoint || !point) return;\n\n this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n },\n delaySetPopupVisible: function delaySetPopupVisible(visible, delayS, event) {\n var _this5 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = requestAnimationTimeout(function () {\n _this5.setPopupVisible(visible, point);\n _this5.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n },\n clearDelayTimer: function clearDelayTimer() {\n if (this.delayTimer) {\n cancelAnimationTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n },\n clearOutsideHandler: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextmenuOutsideHandler1) {\n this.contextmenuOutsideHandler1.remove();\n this.contextmenuOutsideHandler1 = null;\n }\n\n if (this.contextmenuOutsideHandler2) {\n this.contextmenuOutsideHandler2.remove();\n this.contextmenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n },\n createTwoChains: function createTwoChains(event) {\n var fn = function fn() {};\n var events = getListeners(this);\n if (this.childOriginEvents[event] && events[event]) {\n return this['fire' + event];\n }\n fn = this.childOriginEvents[event] || events[event] || fn;\n return fn;\n },\n isClickToShow: function isClickToShow() {\n var _$props = this.$props,\n action = _$props.action,\n showAction = _$props.showAction;\n\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n },\n isContextmenuToShow: function isContextmenuToShow() {\n var _$props2 = this.$props,\n action = _$props2.action,\n showAction = _$props2.showAction;\n\n return action.indexOf('contextmenu') !== -1 || showAction.indexOf('contextmenu') !== -1;\n },\n isClickToHide: function isClickToHide() {\n var _$props3 = this.$props,\n action = _$props3.action,\n hideAction = _$props3.hideAction;\n\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n },\n isMouseEnterToShow: function isMouseEnterToShow() {\n var _$props4 = this.$props,\n action = _$props4.action,\n showAction = _$props4.showAction;\n\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseenter') !== -1;\n },\n isMouseLeaveToHide: function isMouseLeaveToHide() {\n var _$props5 = this.$props,\n action = _$props5.action,\n hideAction = _$props5.hideAction;\n\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseleave') !== -1;\n },\n isFocusToShow: function isFocusToShow() {\n var _$props6 = this.$props,\n action = _$props6.action,\n showAction = _$props6.showAction;\n\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n },\n isBlurToHide: function isBlurToHide() {\n var _$props7 = this.$props,\n action = _$props7.action,\n hideAction = _$props7.hideAction;\n\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n },\n forcePopupAlign: function forcePopupAlign() {\n if (this.$data.sPopupVisible && this._component && this._component.$refs.alignInstance) {\n this._component.$refs.alignInstance.forceAlign();\n }\n },\n fireEvents: function fireEvents(type, e) {\n if (this.childOriginEvents[type]) {\n this.childOriginEvents[type](e);\n }\n this.__emit(type, e);\n },\n close: function close() {\n this.setPopupVisible(false);\n }\n },\n render: function render() {\n var _this6 = this;\n\n var h = arguments[0];\n var sPopupVisible = this.sPopupVisible;\n\n var children = filterEmpty(this.$slots['default']);\n var _$props8 = this.$props,\n forceRender = _$props8.forceRender,\n alignPoint = _$props8.alignPoint;\n\n\n if (children.length > 1) {\n warning(false, 'Trigger $slots.default.length > 1, just support only one default', true);\n }\n var child = children[0];\n this.childOriginEvents = getDataEvents(child);\n var newChildProps = {\n props: {},\n nativeOn: {},\n key: 'trigger'\n };\n\n if (this.isContextmenuToShow()) {\n newChildProps.nativeOn.contextmenu = this.onContextmenu;\n } else {\n newChildProps.nativeOn.contextmenu = this.createTwoChains('contextmenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.nativeOn.click = this.onClick;\n newChildProps.nativeOn.mousedown = this.onMousedown;\n newChildProps.nativeOn.touchstart = this.onTouchstart;\n } else {\n newChildProps.nativeOn.click = this.createTwoChains('click');\n newChildProps.nativeOn.mousedown = this.createTwoChains('mousedown');\n newChildProps.nativeOn.touchstart = this.createTwoChains('onTouchstart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.nativeOn.mouseenter = this.onMouseenter;\n if (alignPoint) {\n newChildProps.nativeOn.mousemove = this.onMouseMove;\n }\n } else {\n newChildProps.nativeOn.mouseenter = this.createTwoChains('mouseenter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.nativeOn.mouseleave = this.onMouseleave;\n } else {\n newChildProps.nativeOn.mouseleave = this.createTwoChains('mouseleave');\n }\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.nativeOn.focus = this.onFocus;\n newChildProps.nativeOn.blur = this.onBlur;\n } else {\n newChildProps.nativeOn.focus = this.createTwoChains('focus');\n newChildProps.nativeOn.blur = function (e) {\n if (e && (!e.relatedTarget || !contains(e.target, e.relatedTarget))) {\n _this6.createTwoChains('blur')(e);\n }\n };\n }\n\n this.trigger = cloneElement(child, newChildProps);\n\n return h(ContainerRender, {\n attrs: {\n parent: this,\n visible: sPopupVisible,\n autoMount: false,\n forceRender: forceRender,\n getComponent: this.getComponent,\n getContainer: this.getContainer,\n children: function children(_ref) {\n var renderComponent = _ref.renderComponent;\n\n _this6.renderComponent = renderComponent;\n return _this6.trigger;\n }\n }\n });\n }\n};","// based on rc-trigger 2.6.5\nimport Trigger from './Trigger';\nexport default Trigger;","import addDOMEventListener from 'add-dom-event-listener';\n\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n return addDOMEventListener(target, eventType, cb, option);\n}","export function hasClass(node, className) {\n if (node.classList) {\n return node.classList.contains(className);\n }\n var originClass = node.className;\n return (' ' + originClass + ' ').indexOf(' ' + className + ' ') > -1;\n}\n\nexport function addClass(node, className) {\n if (node.classList) {\n node.classList.add(className);\n } else {\n if (!hasClass(node, className)) {\n node.className = node.className + ' ' + className;\n }\n }\n}\n\nexport function removeClass(node, className) {\n if (node.classList) {\n node.classList.remove(className);\n } else {\n if (hasClass(node, className)) {\n var originClass = node.className;\n node.className = (' ' + originClass + ' ').replace(' ' + className + ' ', ' ');\n }\n }\n}"],"sourceRoot":""}