{"version":3,"sources":["webpack:///./src/common/models/pagetree.ts","webpack:///./node_modules/mark.js/dist/mark.js"],"names":["getPagetreeItemByKey","key","pagetree","getItemByKeyRecursive","childItems","items","item","childItem","global","factory","module","exports","this","_typeof","Symbol","iterator","obj","constructor","prototype","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","_extends","assign","arguments","source","hasOwnProperty","call","DOMIterator","ctx","iframes","undefined","exclude","iframesTimeout","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","href","location","_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","compCurr","compareDocumentPosition","prev","Node","DOCUMENT_POSITION_PRECEDING","compPrev","after","DOCUMENT_POSITION_FOLLOWING","itr","previousNode","nextNode","currIfr","ifrDict","val","compareNodeIframe","eCb","fCb","_this4","createInstanceOnIframe","forEachNode","eachCb","filterCb","doneCb","_this5","createIterator","elements","retrieveNodes","_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","chars","acc","accuracy","ls","limiters","lsJoin","limiter","sv","stack","kw","separateWordSearch","kwSplitted","sort","a","b","Number","parseFloat","array","toString","noMatch","last","start","_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"],"mappings":"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","file":"js/api-doc~guide.d6612625.js","sourcesContent":["export interface IPagetreeModel> {\n\tchildItems: PagetreeItem[];\n}\n\nexport interface IPagetreeItem> {\n\tkey: string;\n\tprimaryText: string;\n\tsecondaryText: string;\n\tchildItems: ChildItem[];\n\tcolor: string;\n\ticon: string;\n\ttags: string[];\n}\n\nexport type TPagetreeItem = IPagetreeItem;\nexport type TPagetreeModel = IPagetreeModel;\n\nexport function getPagetreeItemByKey>(key: string | null, pagetree: IPagetreeModel | null): PagetreeItem | null {\n\tif (!key || !pagetree) {\n\t\treturn null;\n\t}\n\treturn getItemByKeyRecursive(key, pagetree.childItems);\n}\n\nfunction getItemByKeyRecursive>(key: string, items: PagetreeItem[] | null): PagetreeItem | null {\n\tif (!items) {\n\t\treturn null;\n\t}\n\tfor (const item of items) {\n\t\tif (item.key === key) {\n\t\t\treturn item;\n\t\t}\n\t\tconst childItem = getItemByKeyRecursive(key, item.childItems);\n\t\tif (childItem) {\n\t\t\treturn childItem;\n\t\t}\n\t}\n\treturn null;\n}","/*!***************************************************\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"],"sourceRoot":""}