{"version":3,"sources":["webpack:///./node_modules/dom-align/dist-web/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","prototype","value","configurable","writable","vendorPrefix","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","undefined","style","document","createElement","testProp","getTransitionName","concat","getTransformName","setTransitionProperty","node","name","transitionProperty","setTransform","transform","getTransitionProperty","getTransformXY","window","getComputedStyle","getPropertyValue","matrix","replace","split","x","parseFloat","y","matrix2d","matrix3d","setTransformXY","xy","arr","match2d","match","map","item","join","match3d","getComputedStyleX","RE_NUM","forceRelayout","elem","originalStyle","display","offsetHeight","css","el","v","hasOwnProperty","getClientPosition","box","doc","ownerDocument","body","docElem","documentElement","getBoundingClientRect","left","top","clientLeft","clientTop","getScroll","w","ret","method","d","getScrollLeft","getScrollTop","getOffset","pos","defaultView","parentWindow","isWindow","getDocument","nodeType","_getComputedStyle","cs","computedStyle","val","_RE_NUM_NO_PX","RegExp","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","PX","_getComputedStyleIE","test","rsLeft","pixelLeft","getOffsetDirection","dir","option","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","offset","position","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_key","_dir","_off","setTransform$1","originalXY","resultXY","setOffset","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","each","fn","isBorderBoxFn","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","MARGIN_INDEX","swap","options","callback","call","getPBMWidth","props","which","prop","j","cssProp","domUtils","getParent","element","parent","host","parentNode","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","width","height","isBorderBox","cssBoxValue","Number","borderBoxValueOrIsBorderBox","slice","refWin","Math","max","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_len","args","Array","_key2","offsetWidth","mix","to","from","first","charAt","toUpperCase","includeMargin","utils","getWindow","setTimeout","clone","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","skipStatic","nodeName","toLowerCase","getParent$1","isAncestorFixed","getVisibleRectForElement","alwaysByViewport","visibleRect","right","Infinity","bottom","navigator","userAgent","indexOf","clientWidth","min","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","maxVisibleWidth","maxVisibleHeight","adjustForViewport","elFuturePos","elRegion","size","adjustX","resizeWidth","adjustY","resizeHeight","getRegion","h","outerWidth","outerHeight","getAlignOffset","region","align","V","H","getElFuturePos","refNodeRegion","points","targetOffset","p1","p2","diff","round","isFailX","isFailY","isCompleteFailX","isCompleteFailY","flip","reg","p","m","flipOffset","index","convertOffset","str","offsetLen","n","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","newPoints","l","r","newOffset","newTargetOffset","newElFuturePos","_newPoints","t","b","_newOffset","_newTargetOffset","_newElFuturePos","isStillFailX","isStillFailY","_newPoints2","isOutOfVisibleRect","targetRegion","alignElement","refNode","isTargetNotOutOfVisible","alignPoint","tgtPoint","pageX","pageY","clientX","clientY","pointInView","__getOffsetParent","__getVisibleRectForElement"],"mappings":"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","file":"js/chunk-vendors~0cf8aeef.64067b97.js","sourcesContent":["function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n