{"version":3,"sources":["webpack:///./node_modules/dom-align/dist-web/index.js","webpack:///./node_modules/classnames/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","getTransitionName","concat","getTransformName","setTransitionProperty","node","name","transitionProperty","setTransform","transform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","display","offsetHeight","css","el","v","hasOwnProperty","getScroll","w","top","ret","method","d","documentElement","body","getScrollLeft","getScrollTop","getOffset","pos","box","x","y","doc","ownerDocument","docElem","getBoundingClientRect","Math","floor","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","window","getDocument","nodeType","_RE_NUM_NO_PX","RegExp","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","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","getComputedStyle","getPropertyValue","matrix","replace","split","parseFloat","getTransformXY","resultXY","xy","arr","match2d","match","map","item","join","setTransformXY","each","fn","isBorderBoxFn","cs","computedStyle","val","test","rsLeft","pixelLeft","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","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","max","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_len","args","Array","_key2","offsetWidth","options","callback","call","swap","mix","to","from","first","charAt","toUpperCase","includeMargin","utils","getWindow","setTimeout","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","setOffset","clone","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","toLowerCase","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","right","Infinity","bottom","navigator","userAgent","indexOf","clientWidth","min","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","h","outerWidth","outerHeight","getAlignOffset","region","align","V","H","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","round","isFailX","elFuturePos","isFailY","flip","reg","p","m","flipOffset","index","convertOffset","str","offsetLen","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","l","r","newOffset","newTargetOffset","isCompleteFailX","_newPoints","t","b","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","size","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","alignPoint","tgtPoint","pageX","pageY","clientX","clientY","pointInView","__getOffsetParent","__getVisibleRectForElement","hasOwn","classNames","classes","arg","appendClass","parseValue","isArray","toString","includes","newClass","module","exports","default"],"mappings":"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","file":"js/10-7d26a9171bb1b62f5fa6.chunk.js","sourcesContent":["function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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 return obj;\n}\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\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 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 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 if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\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}\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\nfunction css(el, name, v) {\n var value = v;\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 return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\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;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // 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\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\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}\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\nfunction getScrollTop(w) {\n return getScroll(w, true);\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/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\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);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n return val;\n}\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\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];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\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 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];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\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}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\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 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 if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\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 if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\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 if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\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 if (oLeft === tLeft && oTop === tTop) {\n return;\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}\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\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 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(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\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];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\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 */\nfunction getWH(elem, name, ex) {\n var extra = ex;\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 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var val;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\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 return val;\n}\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\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 return to;\n}\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\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 for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\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 for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nvar getParent = utils.getParent;\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n