{"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":["getError","option","xhr","msg","method","action","status","err","Error","url","getBody","text","responseText","response","JSON","parse","e","upload","window","XMLHttpRequest","onProgress","onprogress","total","percent","loaded","formData","FormData","data","Object","keys","forEach","key","value","Array","isArray","item","append","filename","file","onerror","onError","onload","onSuccess","open","withCredentials","headers","h","setRequestHeader","hasOwnProperty","send","abort","now","Date","index","endsWith","str","suffix","indexOf","length","acceptedFiles","acceptedFilesArray","split","fileName","name","mimeType","type","baseMimeType","replace","some","validType","trim","charAt","toLowerCase","test","loopFiles","callback","dirReader","createReader","fileList","sequence","readEntries","entries","entryList","prototype","slice","apply","concat","isFinished","traverseFileTree","files","isAccepted","_traverseFileTree","path","isFile","fullPath","webkitRelativePath","defineProperties","writable","isDirectory","entryItem","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_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","transform","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","empty","uploadProps","multipart","supportServerRender","Component","getComponent","File","uploaderRef","componentProps","_ComponentUploader","ComponentUploader","warned","valid","message","warningOnce","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","getAlignFromPlacement","builtinPlacements","placementStr","baseAlign","getAlignPopupClassName","points","placement","noop","returnEmptyString","returnDocument","use","ALL_HANDLERS","arrayOf","showAction","hideAction","getPopupClassNameFromAlign","afterPopupVisibleChange","popup","popupPlacement","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","triggerAfterPopupVisibleChange","clearDelayTimer","clearOutsideHandler","clearTimeout","mouseDownTimeout","state","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","join","getPopupAlign","savePopup","self","mouseProps","isMouseEnterToShow","mouseenter","isMouseLeaveToHide","mouseleave","mousedown","touchstart","_self$$props","popupProps","Popup","popupContainer","mountNode","popupVisibleChange","delayS","_this5","delay","delayTimer","requestAnimationTimeout","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","originClass"],"mappings":"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","file":"js/chunk-vendors~5ea6e0dc.de3a522d.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 + '\";';\n domainInput = '';\n }\n return '\\n \\n \\n \\n \\n \\n ' + domainScript + '\\n \\n \\n
\\n \\n ' + domainInput + '\\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":""}