{"version":3,"file":"chunks-ae19944a7710571c/commons/npm.dom-align.681b01a179293150.js","mappings":"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","sources":["webpack://assemble/./node_modules/dom-align/dist-web/index.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
\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"],"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","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","window","getDocument","nodeType","_RE_NUM_NO_PX","RegExp","RE_POS","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","Math","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","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","alignPoint","tgtPoint","pageX","pageY","clientX","clientY","pointInView","__getOffsetParent","__getVisibleRectForElement"],"sourceRoot":""}