{"version":3,"sources":["webpack:///./node_modules/_dom-align@1.12.3@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","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","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","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","max","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_len","args","Array","_key2","offsetWidth","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","targetRegion","isOutOfVisibleRect","alignPoint","tgtPoint","pageX","pageY","clientX","clientY","pointInView","__getOffsetParent","__getVisibleRectForElement"],"mappings":"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","file":"js/npm._dom-align1.12.3@dom-align.23c89713.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 = Math.floor(box.left);\n y = Math.floor(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' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(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
\n
\n 元素 6 高 100px 宽 50px
\n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\n\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n\n el = getOffsetParent(el);\n } // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n;\n\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n } // 如果失败,重新计算当前节点将要被放置的位置\n\n\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n\n\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_objectSpread2({}, align), {}, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n"],"sourceRoot":""}