{"version":3,"file":"js/chunk-4298.bundle.js","mappings":"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","sources":["webpack://mithra/./node_modules/mark.js/dist/mark.js","webpack://mithra/./node_modules/dom-scroll-into-view/lib/util.js","webpack://mithra/./node_modules/dom-scroll-into-view/index.js","webpack://mithra/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js"],"sourcesContent":["/*!***************************************************\n* mark.js v8.11.1\n* https://markjs.io/\n* Copyright (c) 2014–2018, Julian Kühnel\n* Released under the MIT license https://git.io/vwTVl\n*****************************************************/\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Mark = factory());\n}(this, (function () { 'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar DOMIterator = function () {\n function DOMIterator(ctx) {\n var iframes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var iframesTimeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5000;\n classCallCheck(this, DOMIterator);\n\n this.ctx = ctx;\n this.iframes = iframes;\n this.exclude = exclude;\n this.iframesTimeout = iframesTimeout;\n }\n\n createClass(DOMIterator, [{\n key: 'getContexts',\n value: function getContexts() {\n var ctx = void 0,\n filteredCtx = [];\n if (typeof this.ctx === 'undefined' || !this.ctx) {\n ctx = [];\n } else if (NodeList.prototype.isPrototypeOf(this.ctx)) {\n ctx = Array.prototype.slice.call(this.ctx);\n } else if (Array.isArray(this.ctx)) {\n ctx = this.ctx;\n } else if (typeof this.ctx === 'string') {\n ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx));\n } else {\n ctx = [this.ctx];\n }\n ctx.forEach(function (ctx) {\n var isDescendant = filteredCtx.filter(function (contexts) {\n return contexts.contains(ctx);\n }).length > 0;\n if (filteredCtx.indexOf(ctx) === -1 && !isDescendant) {\n filteredCtx.push(ctx);\n }\n });\n return filteredCtx;\n }\n }, {\n key: 'getIframeContents',\n value: function getIframeContents(ifr, successFn) {\n var errorFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n\n var doc = void 0;\n try {\n var ifrWin = ifr.contentWindow;\n doc = ifrWin.document;\n if (!ifrWin || !doc) {\n throw new Error('iframe inaccessible');\n }\n } catch (e) {\n errorFn();\n }\n if (doc) {\n successFn(doc);\n }\n }\n }, {\n key: 'isIframeBlank',\n value: function isIframeBlank(ifr) {\n var bl = 'about:blank',\n src = ifr.getAttribute('src').trim(),\n href = ifr.contentWindow.location.href;\n return href === bl && src !== bl && src;\n }\n }, {\n key: 'observeIframeLoad',\n value: function observeIframeLoad(ifr, successFn, errorFn) {\n var _this = this;\n\n var called = false,\n tout = null;\n var listener = function listener() {\n if (called) {\n return;\n }\n called = true;\n clearTimeout(tout);\n try {\n if (!_this.isIframeBlank(ifr)) {\n ifr.removeEventListener('load', listener);\n _this.getIframeContents(ifr, successFn, errorFn);\n }\n } catch (e) {\n errorFn();\n }\n };\n ifr.addEventListener('load', listener);\n tout = setTimeout(listener, this.iframesTimeout);\n }\n }, {\n key: 'onIframeReady',\n value: function onIframeReady(ifr, successFn, errorFn) {\n try {\n if (ifr.contentWindow.document.readyState === 'complete') {\n if (this.isIframeBlank(ifr)) {\n this.observeIframeLoad(ifr, successFn, errorFn);\n } else {\n this.getIframeContents(ifr, successFn, errorFn);\n }\n } else {\n this.observeIframeLoad(ifr, successFn, errorFn);\n }\n } catch (e) {\n errorFn();\n }\n }\n }, {\n key: 'waitForIframes',\n value: function waitForIframes(ctx, done) {\n var _this2 = this;\n\n var eachCalled = 0;\n this.forEachIframe(ctx, function () {\n return true;\n }, function (ifr) {\n eachCalled++;\n _this2.waitForIframes(ifr.querySelector('html'), function () {\n if (! --eachCalled) {\n done();\n }\n });\n }, function (handled) {\n if (!handled) {\n done();\n }\n });\n }\n }, {\n key: 'forEachIframe',\n value: function forEachIframe(ctx, filter, each) {\n var _this3 = this;\n\n var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n\n var ifr = ctx.querySelectorAll('iframe'),\n open = ifr.length,\n handled = 0;\n ifr = Array.prototype.slice.call(ifr);\n var checkEnd = function checkEnd() {\n if (--open <= 0) {\n end(handled);\n }\n };\n if (!open) {\n checkEnd();\n }\n ifr.forEach(function (ifr) {\n if (DOMIterator.matches(ifr, _this3.exclude)) {\n checkEnd();\n } else {\n _this3.onIframeReady(ifr, function (con) {\n if (filter(ifr)) {\n handled++;\n each(con);\n }\n checkEnd();\n }, checkEnd);\n }\n });\n }\n }, {\n key: 'createIterator',\n value: function createIterator(ctx, whatToShow, filter) {\n return document.createNodeIterator(ctx, whatToShow, filter, false);\n }\n }, {\n key: 'createInstanceOnIframe',\n value: function createInstanceOnIframe(contents) {\n return new DOMIterator(contents.querySelector('html'), this.iframes);\n }\n }, {\n key: 'compareNodeIframe',\n value: function compareNodeIframe(node, prevNode, ifr) {\n var compCurr = node.compareDocumentPosition(ifr),\n prev = Node.DOCUMENT_POSITION_PRECEDING;\n if (compCurr & prev) {\n if (prevNode !== null) {\n var compPrev = prevNode.compareDocumentPosition(ifr),\n after = Node.DOCUMENT_POSITION_FOLLOWING;\n if (compPrev & after) {\n return true;\n }\n } else {\n return true;\n }\n }\n return false;\n }\n }, {\n key: 'getIteratorNode',\n value: function getIteratorNode(itr) {\n var prevNode = itr.previousNode();\n var node = void 0;\n if (prevNode === null) {\n node = itr.nextNode();\n } else {\n node = itr.nextNode() && itr.nextNode();\n }\n return {\n prevNode: prevNode,\n node: node\n };\n }\n }, {\n key: 'checkIframeFilter',\n value: function checkIframeFilter(node, prevNode, currIfr, ifr) {\n var key = false,\n handled = false;\n ifr.forEach(function (ifrDict, i) {\n if (ifrDict.val === currIfr) {\n key = i;\n handled = ifrDict.handled;\n }\n });\n if (this.compareNodeIframe(node, prevNode, currIfr)) {\n if (key === false && !handled) {\n ifr.push({\n val: currIfr,\n handled: true\n });\n } else if (key !== false && !handled) {\n ifr[key].handled = true;\n }\n return true;\n }\n if (key === false) {\n ifr.push({\n val: currIfr,\n handled: false\n });\n }\n return false;\n }\n }, {\n key: 'handleOpenIframes',\n value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) {\n var _this4 = this;\n\n ifr.forEach(function (ifrDict) {\n if (!ifrDict.handled) {\n _this4.getIframeContents(ifrDict.val, function (con) {\n _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb);\n });\n }\n });\n }\n }, {\n key: 'iterateThroughNodes',\n value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) {\n var _this5 = this;\n\n var itr = this.createIterator(ctx, whatToShow, filterCb);\n var ifr = [],\n elements = [],\n node = void 0,\n prevNode = void 0,\n retrieveNodes = function retrieveNodes() {\n var _getIteratorNode = _this5.getIteratorNode(itr);\n\n prevNode = _getIteratorNode.prevNode;\n node = _getIteratorNode.node;\n\n return node;\n };\n while (retrieveNodes()) {\n if (this.iframes) {\n this.forEachIframe(ctx, function (currIfr) {\n return _this5.checkIframeFilter(node, prevNode, currIfr, ifr);\n }, function (con) {\n _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function (ifrNode) {\n return elements.push(ifrNode);\n }, filterCb);\n });\n }\n elements.push(node);\n }\n elements.forEach(function (node) {\n eachCb(node);\n });\n if (this.iframes) {\n this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb);\n }\n doneCb();\n }\n }, {\n key: 'forEachNode',\n value: function forEachNode(whatToShow, each, filter) {\n var _this6 = this;\n\n var done = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n\n var contexts = this.getContexts();\n var open = contexts.length;\n if (!open) {\n done();\n }\n contexts.forEach(function (ctx) {\n var ready = function ready() {\n _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function () {\n if (--open <= 0) {\n done();\n }\n });\n };\n if (_this6.iframes) {\n _this6.waitForIframes(ctx, ready);\n } else {\n ready();\n }\n });\n }\n }], [{\n key: 'matches',\n value: function matches(element, selector) {\n var selectors = typeof selector === 'string' ? [selector] : selector,\n fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector;\n if (fn) {\n var match = false;\n selectors.every(function (sel) {\n if (fn.call(element, sel)) {\n match = true;\n return false;\n }\n return true;\n });\n return match;\n } else {\n return false;\n }\n }\n }]);\n return DOMIterator;\n}();\n\nvar Mark$1 = function () {\n function Mark(ctx) {\n classCallCheck(this, Mark);\n\n this.ctx = ctx;\n this.ie = false;\n var ua = window.navigator.userAgent;\n if (ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1) {\n this.ie = true;\n }\n }\n\n createClass(Mark, [{\n key: 'log',\n value: function log(msg) {\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'debug';\n\n var log = this.opt.log;\n if (!this.opt.debug) {\n return;\n }\n if ((typeof log === 'undefined' ? 'undefined' : _typeof(log)) === 'object' && typeof log[level] === 'function') {\n log[level]('mark.js: ' + msg);\n }\n }\n }, {\n key: 'escapeStr',\n value: function escapeStr(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n }, {\n key: 'createRegExp',\n value: function createRegExp(str) {\n if (this.opt.wildcards !== 'disabled') {\n str = this.setupWildcardsRegExp(str);\n }\n str = this.escapeStr(str);\n if (Object.keys(this.opt.synonyms).length) {\n str = this.createSynonymsRegExp(str);\n }\n if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {\n str = this.setupIgnoreJoinersRegExp(str);\n }\n if (this.opt.diacritics) {\n str = this.createDiacriticsRegExp(str);\n }\n str = this.createMergedBlanksRegExp(str);\n if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {\n str = this.createJoinersRegExp(str);\n }\n if (this.opt.wildcards !== 'disabled') {\n str = this.createWildcardsRegExp(str);\n }\n str = this.createAccuracyRegExp(str);\n return str;\n }\n }, {\n key: 'createSynonymsRegExp',\n value: function createSynonymsRegExp(str) {\n var syn = this.opt.synonyms,\n sens = this.opt.caseSensitive ? '' : 'i',\n joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? '\\0' : '';\n for (var index in syn) {\n if (syn.hasOwnProperty(index)) {\n var value = syn[index],\n k1 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(index) : this.escapeStr(index),\n k2 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(value) : this.escapeStr(value);\n if (k1 !== '' && k2 !== '') {\n str = str.replace(new RegExp('(' + this.escapeStr(k1) + '|' + this.escapeStr(k2) + ')', 'gm' + sens), joinerPlaceholder + ('(' + this.processSynomyms(k1) + '|') + (this.processSynomyms(k2) + ')') + joinerPlaceholder);\n }\n }\n }\n return str;\n }\n }, {\n key: 'processSynomyms',\n value: function processSynomyms(str) {\n if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {\n str = this.setupIgnoreJoinersRegExp(str);\n }\n return str;\n }\n }, {\n key: 'setupWildcardsRegExp',\n value: function setupWildcardsRegExp(str) {\n str = str.replace(/(?:\\\\)*\\?/g, function (val) {\n return val.charAt(0) === '\\\\' ? '?' : '\\x01';\n });\n return str.replace(/(?:\\\\)*\\*/g, function (val) {\n return val.charAt(0) === '\\\\' ? '*' : '\\x02';\n });\n }\n }, {\n key: 'createWildcardsRegExp',\n value: function createWildcardsRegExp(str) {\n var spaces = this.opt.wildcards === 'withSpaces';\n return str.replace(/\\u0001/g, spaces ? '[\\\\S\\\\s]?' : '\\\\S?').replace(/\\u0002/g, spaces ? '[\\\\S\\\\s]*?' : '\\\\S*');\n }\n }, {\n key: 'setupIgnoreJoinersRegExp',\n value: function setupIgnoreJoinersRegExp(str) {\n return str.replace(/[^(|)\\\\]/g, function (val, indx, original) {\n var nextChar = original.charAt(indx + 1);\n if (/[(|)\\\\]/.test(nextChar) || nextChar === '') {\n return val;\n } else {\n return val + '\\0';\n }\n });\n }\n }, {\n key: 'createJoinersRegExp',\n value: function createJoinersRegExp(str) {\n var joiner = [];\n var ignorePunctuation = this.opt.ignorePunctuation;\n if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) {\n joiner.push(this.escapeStr(ignorePunctuation.join('')));\n }\n if (this.opt.ignoreJoiners) {\n joiner.push('\\\\u00ad\\\\u200b\\\\u200c\\\\u200d');\n }\n return joiner.length ? str.split(/\\u0000+/).join('[' + joiner.join('') + ']*') : str;\n }\n }, {\n key: 'createDiacriticsRegExp',\n value: function createDiacriticsRegExp(str) {\n var sens = this.opt.caseSensitive ? '' : 'i',\n dct = this.opt.caseSensitive ? ['aàáảãạăằắẳẵặâầấẩẫậäåāą', 'AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćč', 'CÇĆČ', 'dđď', 'DĐĎ', 'eèéẻẽẹêềếểễệëěēę', 'EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïī', 'IÌÍỈĨỊÎÏĪ', 'lł', 'LŁ', 'nñňń', 'NÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøō', 'OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rř', 'RŘ', 'sšśșş', 'SŠŚȘŞ', 'tťțţ', 'TŤȚŢ', 'uùúủũụưừứửữựûüůū', 'UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿ', 'YÝỲỶỸỴŸ', 'zžżź', 'ZŽŻŹ'] : ['aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćčCÇĆČ', 'dđďDĐĎ', 'eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïīIÌÍỈĨỊÎÏĪ', 'lłLŁ', 'nñňńNÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rřRŘ', 'sšśșşSŠŚȘŞ', 'tťțţTŤȚŢ', 'uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿYÝỲỶỸỴŸ', 'zžżźZŽŻŹ'];\n var handled = [];\n str.split('').forEach(function (ch) {\n dct.every(function (dct) {\n if (dct.indexOf(ch) !== -1) {\n if (handled.indexOf(dct) > -1) {\n return false;\n }\n str = str.replace(new RegExp('[' + dct + ']', 'gm' + sens), '[' + dct + ']');\n handled.push(dct);\n }\n return true;\n });\n });\n return str;\n }\n }, {\n key: 'createMergedBlanksRegExp',\n value: function createMergedBlanksRegExp(str) {\n return str.replace(/[\\s]+/gmi, '[\\\\s]+');\n }\n }, {\n key: 'createAccuracyRegExp',\n value: function createAccuracyRegExp(str) {\n var _this = this;\n\n var chars = '!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿';\n var acc = this.opt.accuracy,\n val = typeof acc === 'string' ? acc : acc.value,\n ls = typeof acc === 'string' ? [] : acc.limiters,\n lsJoin = '';\n ls.forEach(function (limiter) {\n lsJoin += '|' + _this.escapeStr(limiter);\n });\n switch (val) {\n case 'partially':\n default:\n return '()(' + str + ')';\n case 'complementary':\n lsJoin = '\\\\s' + (lsJoin ? lsJoin : this.escapeStr(chars));\n return '()([^' + lsJoin + ']*' + str + '[^' + lsJoin + ']*)';\n case 'exactly':\n return '(^|\\\\s' + lsJoin + ')(' + str + ')(?=$|\\\\s' + lsJoin + ')';\n }\n }\n }, {\n key: 'getSeparatedKeywords',\n value: function getSeparatedKeywords(sv) {\n var _this2 = this;\n\n var stack = [];\n sv.forEach(function (kw) {\n if (!_this2.opt.separateWordSearch) {\n if (kw.trim() && stack.indexOf(kw) === -1) {\n stack.push(kw);\n }\n } else {\n kw.split(' ').forEach(function (kwSplitted) {\n if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) {\n stack.push(kwSplitted);\n }\n });\n }\n });\n return {\n 'keywords': stack.sort(function (a, b) {\n return b.length - a.length;\n }),\n 'length': stack.length\n };\n }\n }, {\n key: 'isNumeric',\n value: function isNumeric(value) {\n return Number(parseFloat(value)) == value;\n }\n }, {\n key: 'checkRanges',\n value: function checkRanges(array) {\n var _this3 = this;\n\n if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== '[object Object]') {\n this.log('markRanges() will only accept an array of objects');\n this.opt.noMatch(array);\n return [];\n }\n var stack = [];\n var last = 0;\n array.sort(function (a, b) {\n return a.start - b.start;\n }).forEach(function (item) {\n var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last),\n start = _callNoMatchOnInvalid.start,\n end = _callNoMatchOnInvalid.end,\n valid = _callNoMatchOnInvalid.valid;\n\n if (valid) {\n item.start = start;\n item.length = end - start;\n stack.push(item);\n last = end;\n }\n });\n return stack;\n }\n }, {\n key: 'callNoMatchOnInvalidRanges',\n value: function callNoMatchOnInvalidRanges(range, last) {\n var start = void 0,\n end = void 0,\n valid = false;\n if (range && typeof range.start !== 'undefined') {\n start = parseInt(range.start, 10);\n end = start + parseInt(range.length, 10);\n if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) {\n valid = true;\n } else {\n this.log('Ignoring invalid or overlapping range: ' + ('' + JSON.stringify(range)));\n this.opt.noMatch(range);\n }\n } else {\n this.log('Ignoring invalid range: ' + JSON.stringify(range));\n this.opt.noMatch(range);\n }\n return {\n start: start,\n end: end,\n valid: valid\n };\n }\n }, {\n key: 'checkWhitespaceRanges',\n value: function checkWhitespaceRanges(range, originalLength, string) {\n var end = void 0,\n valid = true,\n max = string.length,\n offset = originalLength - max,\n start = parseInt(range.start, 10) - offset;\n start = start > max ? max : start;\n end = start + parseInt(range.length, 10);\n if (end > max) {\n end = max;\n this.log('End range automatically set to the max value of ' + max);\n }\n if (start < 0 || end - start < 0 || start > max || end > max) {\n valid = false;\n this.log('Invalid range: ' + JSON.stringify(range));\n this.opt.noMatch(range);\n } else if (string.substring(start, end).replace(/\\s+/g, '') === '') {\n valid = false;\n this.log('Skipping whitespace only range: ' + JSON.stringify(range));\n this.opt.noMatch(range);\n }\n return {\n start: start,\n end: end,\n valid: valid\n };\n }\n }, {\n key: 'getTextNodes',\n value: function getTextNodes(cb) {\n var _this4 = this;\n\n var val = '',\n nodes = [];\n this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function (node) {\n nodes.push({\n start: val.length,\n end: (val += node.textContent).length,\n node: node\n });\n }, function (node) {\n if (_this4.matchesExclude(node.parentNode)) {\n return NodeFilter.FILTER_REJECT;\n } else {\n return NodeFilter.FILTER_ACCEPT;\n }\n }, function () {\n cb({\n value: val,\n nodes: nodes\n });\n });\n }\n }, {\n key: 'matchesExclude',\n value: function matchesExclude(el) {\n return DOMIterator.matches(el, this.opt.exclude.concat(['script', 'style', 'title', 'head', 'html']));\n }\n }, {\n key: 'wrapRangeInTextNode',\n value: function wrapRangeInTextNode(node, start, end) {\n var hEl = !this.opt.element ? 'mark' : this.opt.element,\n startNode = node.splitText(start),\n ret = startNode.splitText(end - start);\n var repl = document.createElement(hEl);\n repl.setAttribute('data-markjs', 'true');\n if (this.opt.className) {\n repl.setAttribute('class', this.opt.className);\n }\n repl.textContent = startNode.textContent;\n startNode.parentNode.replaceChild(repl, startNode);\n return ret;\n }\n }, {\n key: 'wrapRangeInMappedTextNode',\n value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) {\n var _this5 = this;\n\n dict.nodes.every(function (n, i) {\n var sibl = dict.nodes[i + 1];\n if (typeof sibl === 'undefined' || sibl.start > start) {\n if (!filterCb(n.node)) {\n return false;\n }\n var s = start - n.start,\n e = (end > n.end ? n.end : end) - n.start,\n startStr = dict.value.substr(0, n.start),\n endStr = dict.value.substr(e + n.start);\n n.node = _this5.wrapRangeInTextNode(n.node, s, e);\n dict.value = startStr + endStr;\n dict.nodes.forEach(function (k, j) {\n if (j >= i) {\n if (dict.nodes[j].start > 0 && j !== i) {\n dict.nodes[j].start -= e;\n }\n dict.nodes[j].end -= e;\n }\n });\n end -= e;\n eachCb(n.node.previousSibling, n.start);\n if (end > n.end) {\n start = n.end;\n } else {\n return false;\n }\n }\n return true;\n });\n }\n }, {\n key: 'wrapMatches',\n value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) {\n var _this6 = this;\n\n var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;\n this.getTextNodes(function (dict) {\n dict.nodes.forEach(function (node) {\n node = node.node;\n var match = void 0;\n while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== '') {\n if (!filterCb(match[matchIdx], node)) {\n continue;\n }\n var pos = match.index;\n if (matchIdx !== 0) {\n for (var i = 1; i < matchIdx; i++) {\n pos += match[i].length;\n }\n }\n node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length);\n eachCb(node.previousSibling);\n regex.lastIndex = 0;\n }\n });\n endCb();\n });\n }\n }, {\n key: 'wrapMatchesAcrossElements',\n value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) {\n var _this7 = this;\n\n var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;\n this.getTextNodes(function (dict) {\n var match = void 0;\n while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== '') {\n var start = match.index;\n if (matchIdx !== 0) {\n for (var i = 1; i < matchIdx; i++) {\n start += match[i].length;\n }\n }\n var end = start + match[matchIdx].length;\n _this7.wrapRangeInMappedTextNode(dict, start, end, function (node) {\n return filterCb(match[matchIdx], node);\n }, function (node, lastIndex) {\n regex.lastIndex = lastIndex;\n eachCb(node);\n });\n }\n endCb();\n });\n }\n }, {\n key: 'wrapRangeFromIndex',\n value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) {\n var _this8 = this;\n\n this.getTextNodes(function (dict) {\n var originalLength = dict.value.length;\n ranges.forEach(function (range, counter) {\n var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value),\n start = _checkWhitespaceRange.start,\n end = _checkWhitespaceRange.end,\n valid = _checkWhitespaceRange.valid;\n\n if (valid) {\n _this8.wrapRangeInMappedTextNode(dict, start, end, function (node) {\n return filterCb(node, range, dict.value.substring(start, end), counter);\n }, function (node) {\n eachCb(node, range);\n });\n }\n });\n endCb();\n });\n }\n }, {\n key: 'unwrapMatches',\n value: function unwrapMatches(node) {\n var parent = node.parentNode;\n var docFrag = document.createDocumentFragment();\n while (node.firstChild) {\n docFrag.appendChild(node.removeChild(node.firstChild));\n }\n parent.replaceChild(docFrag, node);\n if (!this.ie) {\n parent.normalize();\n } else {\n this.normalizeTextNode(parent);\n }\n }\n }, {\n key: 'normalizeTextNode',\n value: function normalizeTextNode(node) {\n if (!node) {\n return;\n }\n if (node.nodeType === 3) {\n while (node.nextSibling && node.nextSibling.nodeType === 3) {\n node.nodeValue += node.nextSibling.nodeValue;\n node.parentNode.removeChild(node.nextSibling);\n }\n } else {\n this.normalizeTextNode(node.firstChild);\n }\n this.normalizeTextNode(node.nextSibling);\n }\n }, {\n key: 'markRegExp',\n value: function markRegExp(regexp, opt) {\n var _this9 = this;\n\n this.opt = opt;\n this.log('Searching with expression \"' + regexp + '\"');\n var totalMatches = 0,\n fn = 'wrapMatches';\n var eachCb = function eachCb(element) {\n totalMatches++;\n _this9.opt.each(element);\n };\n if (this.opt.acrossElements) {\n fn = 'wrapMatchesAcrossElements';\n }\n this[fn](regexp, this.opt.ignoreGroups, function (match, node) {\n return _this9.opt.filter(node, match, totalMatches);\n }, eachCb, function () {\n if (totalMatches === 0) {\n _this9.opt.noMatch(regexp);\n }\n _this9.opt.done(totalMatches);\n });\n }\n }, {\n key: 'mark',\n value: function mark(sv, opt) {\n var _this10 = this;\n\n this.opt = opt;\n var totalMatches = 0,\n fn = 'wrapMatches';\n\n var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === 'string' ? [sv] : sv),\n kwArr = _getSeparatedKeywords.keywords,\n kwArrLen = _getSeparatedKeywords.length,\n sens = this.opt.caseSensitive ? '' : 'i',\n handler = function handler(kw) {\n var regex = new RegExp(_this10.createRegExp(kw), 'gm' + sens),\n matches = 0;\n _this10.log('Searching with expression \"' + regex + '\"');\n _this10[fn](regex, 1, function (term, node) {\n return _this10.opt.filter(node, kw, totalMatches, matches);\n }, function (element) {\n matches++;\n totalMatches++;\n _this10.opt.each(element);\n }, function () {\n if (matches === 0) {\n _this10.opt.noMatch(kw);\n }\n if (kwArr[kwArrLen - 1] === kw) {\n _this10.opt.done(totalMatches);\n } else {\n handler(kwArr[kwArr.indexOf(kw) + 1]);\n }\n });\n };\n\n if (this.opt.acrossElements) {\n fn = 'wrapMatchesAcrossElements';\n }\n if (kwArrLen === 0) {\n this.opt.done(totalMatches);\n } else {\n handler(kwArr[0]);\n }\n }\n }, {\n key: 'markRanges',\n value: function markRanges(rawRanges, opt) {\n var _this11 = this;\n\n this.opt = opt;\n var totalMatches = 0,\n ranges = this.checkRanges(rawRanges);\n if (ranges && ranges.length) {\n this.log('Starting to mark with the following ranges: ' + JSON.stringify(ranges));\n this.wrapRangeFromIndex(ranges, function (node, range, match, counter) {\n return _this11.opt.filter(node, range, match, counter);\n }, function (element, range) {\n totalMatches++;\n _this11.opt.each(element, range);\n }, function () {\n _this11.opt.done(totalMatches);\n });\n } else {\n this.opt.done(totalMatches);\n }\n }\n }, {\n key: 'unmark',\n value: function unmark(opt) {\n var _this12 = this;\n\n this.opt = opt;\n var sel = this.opt.element ? this.opt.element : '*';\n sel += '[data-markjs]';\n if (this.opt.className) {\n sel += '.' + this.opt.className;\n }\n this.log('Removal selector \"' + sel + '\"');\n this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function (node) {\n _this12.unwrapMatches(node);\n }, function (node) {\n var matchesSel = DOMIterator.matches(node, sel),\n matchesExclude = _this12.matchesExclude(node);\n if (!matchesSel || matchesExclude) {\n return NodeFilter.FILTER_REJECT;\n } else {\n return NodeFilter.FILTER_ACCEPT;\n }\n }, this.opt.done);\n }\n }, {\n key: 'opt',\n set: function set$$1(val) {\n this._opt = _extends({}, {\n 'element': '',\n 'className': '',\n 'exclude': [],\n 'iframes': false,\n 'iframesTimeout': 5000,\n 'separateWordSearch': true,\n 'diacritics': true,\n 'synonyms': {},\n 'accuracy': 'partially',\n 'acrossElements': false,\n 'caseSensitive': false,\n 'ignoreJoiners': false,\n 'ignoreGroups': 0,\n 'ignorePunctuation': [],\n 'wildcards': 'disabled',\n 'each': function each() {},\n 'noMatch': function noMatch() {},\n 'filter': function filter() {\n return true;\n },\n 'done': function done() {},\n 'debug': false,\n 'log': window.console\n }, val);\n },\n get: function get$$1() {\n return this._opt;\n }\n }, {\n key: 'iterator',\n get: function get$$1() {\n return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout);\n }\n }]);\n return Mark;\n}();\n\nfunction Mark(ctx) {\n var _this = this;\n\n var instance = new Mark$1(ctx);\n this.mark = function (sv, opt) {\n instance.mark(sv, opt);\n return _this;\n };\n this.markRegExp = function (sv, opt) {\n instance.markRegExp(sv, opt);\n return _this;\n };\n this.markRanges = function (sv, opt) {\n instance.markRanges(sv, opt);\n return _this;\n };\n this.unmark = function (opt) {\n instance.unmark(opt);\n return _this;\n };\n return this;\n}\n\nreturn Mark;\n\n})));\n","var RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box, x, y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = 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 {left: x, top: y};\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n //ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n //quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\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}\nfunction _getComputedStyle(elem, name, computedStyle) {\n var val = '';\n var d = elem.ownerDocument;\n\n // https://github.com/kissyteam/kissy/issues/61\n if ((computedStyle = (computedStyle || d.defaultView.getComputedStyle(elem, null)))) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/,\n CURRENT_STYLE = 'currentStyle',\n RUNTIME_STYLE = 'runtimeStyle',\n LEFT = 'left',\n 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];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style,\n left = style[LEFT],\n 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\nvar getComputedStyleX;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\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 old = getOffset(elem),\n ret = {},\n current, key;\n\n for (key in offset) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n css(elem, ret);\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'],\n CONTENT_INDEX = -1,\n PADDING_INDEX = 2,\n BORDER_INDEX = 1,\n MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {},\n style = elem.style,\n name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n old[name] = style[name];\n style[name] = options[name];\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n style[name] = old[name];\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0, prop, j, i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp;\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\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 /*jshint eqeqeq:false*/\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n //firefox chrome documentElement.scrollHeight< body.scrollHeight\n //ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n //quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name],\n domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name,\n doc = win.document,\n body = doc.body,\n documentElement = doc.documentElement,\n documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp ||\n body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'],\n borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || (Number(cssBoxValue)) < 0) {\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 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'],\n which, computedStyle);\n } else {\n return cssBoxValue;\n }\n } else if (borderBoxValueOrIsBorderBox) {\n return val + (extra === BORDER_INDEX ? 0 :\n (extra === PADDING_INDEX ?\n -getPBMWidth(elem, ['border'], which, computedStyle) :\n getPBMWidth(elem, ['margin'], which, computedStyle)));\n } else {\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra),\n which, computedStyle);\n }\n}\n\nvar cssShow = {position: 'absolute', visibility: 'hidden', display: 'block'};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val, args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction css(el, name, value) {\n if (typeof name === 'object') {\n for (var i in name) {\n css(el, i, name[i]);\n }\n return;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = value + 'px';\n }\n el.style[name] = value;\n } else {\n return getComputedStyleX(el, name);\n }\n}\n\nfunction mix(to, from) {\n for (var i in from) {\n to[i] = from[i];\n }\n return to;\n}\n\nvar utils = module.exports = {\n getWindow: function (node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function (el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n return ret;\n },\n mix: mix,\n scrollLeft: function (w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n } else {\n window.scrollTo(v, getScrollTop(w));\n }\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n } else {\n w.scrollLeft = v;\n }\n }\n },\n scrollTop: function (w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n } else {\n window.scrollTo(getScrollLeft(w), v);\n }\n } else {\n if (v === undefined) {\n return w.scrollTop;\n } else {\n w.scrollTop = v;\n }\n }\n },\n merge: function () {\n var ret = {};\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\n\nmix(utils, domUtils);\n","module.exports = require('./lib/dom-scroll-into-view');\n","var util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset, ch, cw, containerScroll,\n diffTop, diffBottom, win,\n winScroll, ww, wh;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left,\n top: elemOffset.top - winScroll.top\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww),\n top: elemOffset.top + eh - (winScroll.top + wh)\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left +\n (parseFloat(util.css(container, 'borderLeftWidth')) || 0)),\n top: elemOffset.top - (containerOffset.top +\n (parseFloat(util.css(container, 'borderTopWidth')) || 0))\n };\n diffBottom = {\n left: elemOffset.left + ew -\n (containerOffset.left + cw +\n (parseFloat(util.css(container, 'borderRightWidth')) || 0)),\n top: elemOffset.top + eh -\n (containerOffset.top + ch +\n (parseFloat(util.css(container, 'borderBottomWidth')) || 0))\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;\n"],"names":["module","exports","_typeof","Symbol","iterator","obj","constructor","prototype","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","_extends","assign","arguments","source","hasOwnProperty","call","DOMIterator","ctx","iframes","undefined","exclude","iframesTimeout","this","value","filteredCtx","NodeList","isPrototypeOf","Array","slice","isArray","document","querySelectorAll","forEach","isDescendant","filter","contexts","contains","indexOf","push","ifr","successFn","errorFn","doc","ifrWin","contentWindow","Error","e","bl","src","getAttribute","trim","location","href","_this","called","tout","listener","clearTimeout","isIframeBlank","removeEventListener","getIframeContents","addEventListener","setTimeout","readyState","observeIframeLoad","done","_this2","eachCalled","forEachIframe","waitForIframes","querySelector","handled","each","_this3","end","open","checkEnd","matches","onIframeReady","con","whatToShow","createNodeIterator","contents","node","prevNode","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_FOLLOWING","itr","previousNode","nextNode","currIfr","ifrDict","val","compareNodeIframe","eCb","fCb","_this4","createInstanceOnIframe","forEachNode","eachCb","filterCb","doneCb","_this5","createIterator","elements","_getIteratorNode","getIteratorNode","checkIframeFilter","ifrNode","handleOpenIframes","_this6","getContexts","ready","iterateThroughNodes","element","selector","selectors","fn","matchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","webkitMatchesSelector","match","every","sel","Mark$1","Mark","ie","ua","window","navigator","userAgent","msg","level","log","opt","debug","str","replace","wildcards","setupWildcardsRegExp","escapeStr","keys","synonyms","createSynonymsRegExp","ignoreJoiners","ignorePunctuation","setupIgnoreJoinersRegExp","diacritics","createDiacriticsRegExp","createMergedBlanksRegExp","createJoinersRegExp","createWildcardsRegExp","createAccuracyRegExp","syn","sens","caseSensitive","joinerPlaceholder","index","k1","k2","RegExp","processSynomyms","charAt","spaces","indx","original","nextChar","test","joiner","join","split","dct","ch","acc","accuracy","ls","limiters","lsJoin","limiter","sv","stack","kw","separateWordSearch","kwSplitted","sort","a","b","Number","parseFloat","array","toString","noMatch","last","start","item","_callNoMatchOnInvalid","callNoMatchOnInvalidRanges","valid","range","parseInt","isNumeric","JSON","stringify","originalLength","string","max","offset","substring","cb","nodes","NodeFilter","SHOW_TEXT","textContent","matchesExclude","parentNode","FILTER_REJECT","FILTER_ACCEPT","el","concat","hEl","startNode","splitText","ret","repl","createElement","setAttribute","className","replaceChild","dict","n","sibl","s","startStr","substr","endStr","wrapRangeInTextNode","k","j","previousSibling","regex","ignoreGroups","endCb","matchIdx","getTextNodes","exec","pos","lastIndex","_this7","wrapRangeInMappedTextNode","ranges","_this8","counter","_checkWhitespaceRange","checkWhitespaceRanges","parent","docFrag","createDocumentFragment","firstChild","appendChild","removeChild","normalizeTextNode","normalize","nodeType","nextSibling","nodeValue","regexp","_this9","totalMatches","acrossElements","_this10","_getSeparatedKeywords","getSeparatedKeywords","kwArr","keywords","kwArrLen","handler","createRegExp","term","rawRanges","_this11","checkRanges","wrapRangeFromIndex","_this12","SHOW_ELEMENT","unwrapMatches","matchesSel","set","_opt","console","get","mark","markRegExp","markRanges","unmark","factory","getScroll","w","top","method","d","documentElement","body","getScrollLeft","getScrollTop","getOffset","elem","box","x","y","ownerDocument","docElem","getBoundingClientRect","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","getComputedStyleX","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","arr","isBorderBoxFn","getComputedStyle","name","computedStyle","getPropertyValue","style","rsLeft","pixelLeft","BOX_MODELS","getPBMWidth","which","prop","cssProp","isWindow","domUtils","getWH","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","offsetWidth","offsetHeight","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","Math","win","documentElementProp","compatMode","cssShow","position","visibility","display","getWHIgnoreDisplay","args","apply","options","old","swap","css","mix","to","from","first","toUpperCase","includeMargin","utils","getWindow","current","setOffset","clone","overflow","scrollLeft","v","scrollTo","scrollTop","merge","util","container","config","allowHorizontalScroll","onlyScrollIfNeeded","alignWithTop","alignWithLeft","containerOffset","cw","containerScroll","diffTop","diffBottom","winScroll","ww","wh","isWin","elemOffset","eh","outerHeight","ew","outerWidth","height","width","clientHeight","clientWidth"],"sourceRoot":""}