{"version":3,"sources":["../../node_modules/.pnpm/dom-helpers@3.4.0/node_modules/dom-helpers/class/addClass.js","../../node_modules/.pnpm/dom-helpers@3.4.0/node_modules/dom-helpers/class/hasClass.js","../../node_modules/.pnpm/dom-helpers@3.4.0/node_modules/dom-helpers/class/removeClass.js","../../node_modules/.pnpm/decode-uri-component@0.2.0/node_modules/decode-uri-component/index.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/millisecond.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/ticks.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/second.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/duration.js","../../../src/propertyUtils.js","../../../src/utils.js","../../../src/getOffsetParent.js","../../../src/isAncestorFixed.js","../../../src/getVisibleRectForElement.js","../../../src/adjustForViewport.js","../../../src/getRegion.js","../../../src/getAlignOffset.js","../../../src/getElFuturePos.js","../../../src/align/align.js","../../../src/align/alignElement.js","../../../src/align/alignPoint.js","../../node_modules/.pnpm/decimal.js-light@2.5.1/node_modules/decimal.js-light/decimal.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcYear.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcMonth.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcWeek.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcDay.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcHour.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/utcMinute.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/year.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/month.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/week.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/day.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/hour.js","../../node_modules/.pnpm/d3-time@2.1.1/node_modules/d3-time/src/minute.js","../../src/utils.ts","../../src/comparator.ts","../../src/index.ts","../../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","addClass","_hasClass","element","className","classList","add","setAttribute","baseVal","module","hasClass","contains","indexOf","replaceClassName","origClass","classToRemove","replace","RegExp","removeClass","remove","token","singleMatcher","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","err","length","left","slice","right","Array","prototype","concat","call","decode","input","tokens","match","i","customDecodeURIComponent","replaceMap","exec","result","entries","Object","keys","key","encodedURI","TypeError","millisecond","interval","date","step","setTime","start","end","every","k","Math","floor","isFinite","milliseconds","range","ticker","year","month","week","day","hour","minute","tickIntervals","second","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","ticks","stop","count","reverse","tickInterval","target","abs","bisector","tickStep","max","t","utcYear","utcMonth","utcWeek","utcDay","utcHour","utcMinute","utcTicks","utcTickInterval","timeTicks","timeTickInterval","getMilliseconds","getUTCSeconds","seconds","jsCssMap","Webkit","Moz","ms","O","vendorPrefix","style","document","testProp","getVendorPrefix","name","getTransitionName","node","getTransformName","window","transform","matrix","x","parseFloat","y","matrix2d","matrix3d","match2d","arr","xy","setTransform","match3d","RE_NUM","originalStyle","elem","value","css","el","getComputedStyleX","doc","body","docElem","box","top","ret","w","method","d","getScroll","pos","getClientPosition","getScrollLeft","getScrollTop","obj","isWindow","computedStyle","val","getDocument","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","PX","rsLeft","dir","option","presetH","presetV","horizontalProperty","getOffsetDirection","verticalProperty","oppositeHorizontalProperty","oppositeOffsetDirection","oppositeVerticalProperty","originalTransition","originalOffset","getOffset","getTransitionProperty","setTransitionProperty","forceRelayout","old","offset","preset","off","originalXY","getTransformXY","resultXY","setTransformXY","oriOffset","oLeft","oTop","tLeft","tTop","setLeftTop","fn","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","MARGIN_INDEX","options","callback","j","props","prop","which","cssProp","domUtils","getParent","parent","each","refWin","win","documentElement","documentElementProp","extra","borderBoxValue","isBorderBox","isBorderBoxFn","cssBoxValue","Number","borderBoxValueOrIsBorderBox","getPBMWidth","cssShow","position","visibility","display","args","getWH","swap","first","getWHIgnoreDisplay","includeMargin","from","to","utils","getWindow","setOffset","clone","overflow","mix","getWindowScrollLeft","getWindowScrollTop","merge","viewportWidth","viewportHeight","positionStyle","skipStatic","visibleRect","bottom","Infinity","getOffsetParent","navigator","originalPosition","scrollX","scrollY","documentWidth","documentHeight","bodyStyle","alwaysByViewport","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","size","width","elRegion","height","h","V","align","H","region","p1","getAlignOffset","points","p2","diff","targetOffset","elFuturePos","map","n","parseInt","str","convertOffset","source","newOverflowCfg","fail","getVisibleRectForElement","getRegion","normalizeOffset","getElFuturePos","newElRegion","isFailX","newPoints","flip","l","r","newOffset","flipOffset","newTargetOffset","newElFuturePos","isCompleteFailX","isFailY","b","isCompleteFailY","isStillFailX","isStillFailY","adjustForViewport","useCssRight","useCssBottom","useCssTransform","ignoreShake","targetRegion","refNodeRegion","isTargetNotOutOfVisible","isOutOfVisibleRect","doAlign","alignElement","pageX","tgtPoint","pageY","tgtRegion","pointInView","globalScope","MAX_DIGITS","Decimal","precision","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","pow","isDecimal","ONE","BASE","LOG_BASE","MAX_SAFE_INTEGER","MAX_E","P","absoluteValue","constructor","s","comparedTo","cmp","xdL","ydL","e","decimalPlaces","dp","dividedBy","div","divide","dividedToIntegerBy","idiv","Ctor","round","equals","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isint","isNegative","isneg","isPositive","ispos","isZero","lessThan","lt","lessThanOrEqualTo","lte","logarithm","log","base","pr","wpr","Error","ln","minus","sub","subtract","modulo","mod","q","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","z","squareRoot","sqrt","digitsToString","toExponential","toString","mul","carry","rL","xd","yd","push","pop","shift","toDecimalPlaces","todp","rm","checkInt32","toFixed","toInteger","toint","toNumber","toPower","sign","yIsInt","guard","yn","ceil","truncate","toPrecision","toSignificantDigits","tosd","valueOf","toJSON","len","unshift","min","ws","indexOfLastWord","getZeroString","multiplyInteger","temp","compare","a","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c","c0","numerator","x2","charAt","parseDecimal","search","substring","charCodeAt","rd","doRound","xdi","xe","xLTy","isExp","p","ps","test","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","config","set","hasOwnProperty","v","define","t0","Date","t1","newInterval","floori","offseti","field","arguments","d0","d1","previous","filter","setUTCMonth","setUTCHours","setUTCFullYear","getUTCFullYear","utcYears","setUTCDate","getUTCMonth","utcMonths","utcWeekday","getUTCDate","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","utcDays","setUTCMinutes","getUTCHours","utcHours","setUTCSeconds","getUTCMinutes","utcMinutes","setMonth","setHours","setFullYear","getFullYear","years","setDate","getMonth","months","weekday","getDate","getDay","getTimezoneOffset","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","days","getSeconds","getMinutes","getHours","hours","minutes","has","prefix","Events","create","__proto__","EE","context","once","addListener","emitter","event","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","names","events","getOwnPropertySymbols","listeners","handlers","ee","listenerCount","emit","a1","a2","a3","a4","a5","removeListener","undefined","apply","on","removeAllListeners","prefixed"],"mappings":"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","file":"static/js/vendors~main~77d46026.58f43b33.chunk.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","let vendorPrefix;\n\nconst 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 vendorPrefix = '';\n const style = document.createElement('p').style;\n const testProp = 'Transform';\n for (const key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix()\n ? `${getVendorPrefix()}TransitionProperty`\n : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? `${getVendorPrefix()}Transform` : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n const name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n const name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n const 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}\n\nconst matrix2d = /matrix\\((.*)\\)/;\nconst matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n let arr;\n let match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, `matrix(${arr.join(',')})`);\n } else {\n const match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, `matrix3d(${arr.join(',')})`);\n }\n } else {\n setTransform(\n node,\n `translateX(${xy.x}px) translateY(${xy.y}px) translateZ(0)`,\n );\n }\n}\n","import {\n setTransitionProperty,\n getTransitionProperty,\n getTransformXY,\n setTransformXY,\n getTransformName,\n} from './propertyUtils';\n\nconst RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nlet getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n const originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n let value = v;\n if (typeof name === 'object') {\n for (const 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 = `${value}px`;\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const 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\n return {\n left: x,\n top: y,\n };\n}\n\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const 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}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const 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}\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}\n\nfunction _getComputedStyle(elem, name, cs) {\n let computedStyle = cs;\n let val = '';\n const 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\n return val;\n}\n\nconst _RE_NUM_NO_PX = new RegExp(`^(${RE_NUM})(?!px)[a-z%]+$`, 'i');\nconst RE_POS = /^(top|right|bottom|left)$/;\nconst CURRENT_STYLE = 'currentStyle';\nconst RUNTIME_STYLE = 'runtimeStyle';\nconst LEFT = 'left';\nconst PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n let 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 const style = elem.style;\n const left = style[LEFT];\n const 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\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle\n ? _getComputedStyle\n : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\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}\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 let presetH = -999;\n let presetV = -999;\n const horizontalProperty = getOffsetDirection('left', option);\n const verticalProperty = getOffsetDirection('top', option);\n const oppositeHorizontalProperty = oppositeOffsetDirection(\n horizontalProperty,\n );\n const oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n let originalTransition = '';\n const 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] = `${presetH}px`;\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = `${presetV}px`;\n }\n // force relayout\n forceRelayout(elem);\n const old = getOffset(elem);\n const originalStyle = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const preset = key === 'left' ? presetH : presetV;\n const 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 const ret = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const 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}\n\nfunction setTransform(elem, offset) {\n const originalOffset = getOffset(elem);\n const originalXY = getTransformXY(elem);\n const resultXY = { x: originalXY.x, y: originalXY.y };\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}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n const oriOffset = getOffset(elem);\n\n const oLeft = oriOffset.left.toFixed(0);\n const oTop = oriOffset.top.toFixed(0);\n const tLeft = offset.left.toFixed(0);\n const 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 (\n option.useCssTransform &&\n getTransformName() in document.body.style\n ) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (let 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\nconst BOX_MODELS = ['margin', 'border', 'padding'];\nconst CONTENT_INDEX = -1;\nconst PADDING_INDEX = 2;\nconst BORDER_INDEX = 1;\nconst MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n const old = {};\n const style = elem.style;\n let 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\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}\n\nfunction getPBMWidth(elem, props, which) {\n let value = 0;\n let prop;\n let j;\n let 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 let cssProp;\n if (prop === 'border') {\n cssProp = `${prop}${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}\n\nconst domUtils = {\n getParent(element) {\n let 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};\n\neach(['Width', 'Height'], name => {\n domUtils[`doc${name}`] = refWin => {\n const 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${name}`],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[`scroll${name}`],\n domUtils[`viewport${name}`](d),\n );\n };\n\n domUtils[`viewport${name}`] = win => {\n // pc browser includes scrollbar in window.innerWidth\n const prop = `client${name}`;\n const doc = win.document;\n const body = doc.body;\n const documentElement = doc.documentElement;\n const documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return (\n (doc.compatMode === 'CSS1Compat' && documentElementProp) ||\n (body && body[prop]) ||\n documentElementProp\n );\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 let extra = ex;\n if (isWindow(elem)) {\n return name === 'width'\n ? domUtils.viewportWidth(elem)\n : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width'\n ? domUtils.docWidth(elem)\n : domUtils.docHeight(elem);\n }\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n let borderBoxValue =\n name === 'width'\n ? Math.floor(elem.getBoundingClientRect().width)\n : Math.floor(elem.getBoundingClientRect().height);\n const isBorderBox = isBorderBoxFn(elem);\n let cssBoxValue = 0;\n if (\n borderBoxValue === null ||\n borderBoxValue === undefined ||\n borderBoxValue <= 0\n ) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (\n cssBoxValue === null ||\n cssBoxValue === undefined ||\n Number(cssBoxValue) < 0\n ) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n const borderBoxValueOrIsBorderBox =\n borderBoxValue !== undefined || isBorderBox;\n const 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 (\n val +\n (extra === PADDING_INDEX\n ? -getPBMWidth(elem, ['border'], which)\n : getPBMWidth(elem, ['margin'], which))\n );\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nconst cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block',\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(...args) {\n let val;\n const 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, () => {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], name => {\n const first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[`outer${first}`] = (el, includeMargin) => {\n return (\n el &&\n getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX)\n );\n };\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = (elem, v) => {\n let val = v;\n if (val !== undefined) {\n if (elem) {\n const 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});\n\nfunction mix(to, from) {\n for (const i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nconst utils = {\n getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n const doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument,\n offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow,\n each,\n css,\n clone(obj) {\n let i;\n const ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n const 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,\n getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nmix(utils, domUtils);\n\nexport default utils;\n","import utils from './utils';\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nconst { getParent } = utils;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n