(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.window = global.window || {})); }(this, (function (exports) { 'use strict'; var emojiexp = /([\ud800-\udbff][\udc00-\udfff](?:[\u200d\ufe0f][\ud800-\udbff][\udc00-\udfff]){2,}|\ud83d\udc69(?:\u200d(?:(?:\ud83d\udc69\u200d)?\ud83d\udc67|(?:\ud83d\udc69\u200d)?\ud83d\udc66)|\ud83c[\udffb-\udfff])|\ud83d\udc69\u200d(?:\ud83d\udc69\u200d)?\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d(?:\ud83d\udc69\u200d)?\ud83d\udc67\u200d(?:\ud83d[\udc66\udc67])|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd37-\udd39\udd3d\udd3e\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])\u200d[\u2640\u2642]\ufe0f|\ud83d\udc69(?:\ud83c[\udffb-\udfff])\u200d(?:\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92])|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc6f\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd37-\udd39\udd3c-\udd3e\uddd6-\udddf])\u200d[\u2640\u2642]\ufe0f|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf4\ud83c\uddf2|\ud83c\udde9(?:\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff])|\ud83c\uddf7(?:\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc])|\ud83c\udde8(?:\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff])|(?:\u26f9|\ud83c[\udfcb\udfcc]|\ud83d\udd75)(?:\ufe0f\u200d[\u2640\u2642]|(?:\ud83c[\udffb-\udfff])\u200d[\u2640\u2642])\ufe0f|(?:\ud83d\udc41\ufe0f\u200d\ud83d\udde8|\ud83d\udc69(?:\ud83c[\udffb-\udfff])\u200d[\u2695\u2696\u2708]|\ud83d\udc69\u200d[\u2695\u2696\u2708]|\ud83d\udc68(?:(?:\ud83c[\udffb-\udfff])\u200d[\u2695\u2696\u2708]|\u200d[\u2695\u2696\u2708]))\ufe0f|\ud83c\uddf2(?:\ud83c[\udde6\udde8-\udded\uddf0-\uddff])|\ud83d\udc69\u200d(?:\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\u2764\ufe0f\u200d(?:\ud83d\udc8b\u200d(?:\ud83d[\udc68\udc69])|\ud83d[\udc68\udc69]))|\ud83c\uddf1(?:\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe])|\ud83c\uddef(?:\ud83c[\uddea\uddf2\uddf4\uddf5])|\ud83c\udded(?:\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa])|\ud83c\uddeb(?:\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7])|[#\*0-9]\ufe0f\u20e3|\ud83c\udde7(?:\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff])|\ud83c\udde6(?:\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff])|\ud83c\uddff(?:\ud83c[\udde6\uddf2\uddfc])|\ud83c\uddf5(?:\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe])|\ud83c\uddfb(?:\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa])|\ud83c\uddf3(?:\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff])|\ud83c\udff4\udb40\udc67\udb40\udc62(?:\udb40\udc77\udb40\udc6c\udb40\udc73|\udb40\udc73\udb40\udc63\udb40\udc74|\udb40\udc65\udb40\udc6e\udb40\udc67)\udb40\udc7f|\ud83d\udc68(?:\u200d(?:\u2764\ufe0f\u200d(?:\ud83d\udc8b\u200d)?\ud83d\udc68|(?:(?:\ud83d[\udc68\udc69])\u200d)?\ud83d\udc66\u200d\ud83d\udc66|(?:(?:\ud83d[\udc68\udc69])\u200d)?\ud83d\udc67\u200d(?:\ud83d[\udc66\udc67])|\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92])|(?:\ud83c[\udffb-\udfff])\u200d(?:\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]))|\ud83c\uddf8(?:\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff])|\ud83c\uddf0(?:\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff])|\ud83c\uddfe(?:\ud83c[\uddea\uddf9])|\ud83c\uddee(?:\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9])|\ud83c\uddf9(?:\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff])|\ud83c\uddec(?:\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe])|\ud83c\uddfa(?:\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff])|\ud83c\uddea(?:\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa])|\ud83c\uddfc(?:\ud83c[\uddeb\uddf8])|(?:\u26f9|\ud83c[\udfcb\udfcc]|\ud83d\udd75)(?:\ud83c[\udffb-\udfff])|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd37-\udd39\udd3d\udd3e\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])|(?:[\u261d\u270a-\u270d]|\ud83c[\udf85\udfc2\udfc7]|\ud83d[\udc42\udc43\udc46-\udc50\udc66\udc67\udc70\udc72\udc74-\udc76\udc78\udc7c\udc83\udc85\udcaa\udd74\udd7a\udd90\udd95\udd96\ude4c\ude4f\udec0\udecc]|\ud83e[\udd18-\udd1c\udd1e\udd1f\udd30-\udd36\uddd1-\uddd5])(?:\ud83c[\udffb-\udfff])|\ud83d\udc68(?:\u200d(?:(?:(?:\ud83d[\udc68\udc69])\u200d)?\ud83d\udc67|(?:(?:\ud83d[\udc68\udc69])\u200d)?\ud83d\udc66)|\ud83c[\udffb-\udfff])|(?:[\u261d\u26f9\u270a-\u270d]|\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca-\udfcc]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd74\udd75\udd7a\udd90\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\uddd1-\udddd])(?:\ud83c[\udffb-\udfff])?|(?:[\u231a\u231b\u23e9-\u23ec\u23f0\u23f3\u25fd\u25fe\u2614\u2615\u2648-\u2653\u267f\u2693\u26a1\u26aa\u26ab\u26bd\u26be\u26c4\u26c5\u26ce\u26d4\u26ea\u26f2\u26f3\u26f5\u26fa\u26fd\u2705\u270a\u270b\u2728\u274c\u274e\u2753-\u2755\u2757\u2795-\u2797\u27b0\u27bf\u2b1b\u2b1c\u2b50\u2b55]|\ud83c[\udc04\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude1a\ude2f\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf93\udfa0-\udfca\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc42-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udd7a\udd95\udd96\udda4\uddfb-\ude4f\ude80-\udec5\udecc\uded0-\uded2\udeeb\udeec\udef4-\udef8]|\ud83e[\udd10-\udd3a\udd3c-\udd3e\udd40-\udd45\udd47-\udd4c\udd50-\udd6b\udd80-\udd97\uddc0\uddd0-\udde6])|(?:[#\*0-9\xa9\xae\u203c\u2049\u2122\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u261d\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26ce\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f7-\u26fa\u26fd\u2702\u2705\u2708-\u270d\u270f\u2712\u2714\u2716\u271d\u2721\u2728\u2733\u2734\u2744\u2747\u274c\u274e\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27a1\u27b0\u27bf\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299]|\ud83c[\udc04\udccf\udd70\udd71\udd7e\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude02\ude1a\ude2f\ude32-\ude3a\ude50\ude51\udf00-\udf21\udf24-\udf93\udf96\udf97\udf99-\udf9b\udf9e-\udff0\udff3-\udff5\udff7-\udfff]|\ud83d[\udc00-\udcfd\udcff-\udd3d\udd49-\udd4e\udd50-\udd67\udd6f\udd70\udd73-\udd7a\udd87\udd8a-\udd8d\udd90\udd95\udd96\udda4\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa-\ude4f\ude80-\udec5\udecb-\uded2\udee0-\udee5\udee9\udeeb\udeec\udef0\udef3-\udef8]|\ud83e[\udd10-\udd3a\udd3c-\udd3e\udd40-\udd45\udd47-\udd4c\udd50-\udd6b\udd80-\udd97\uddc0\uddd0-\udde6])\ufe0f)/; function gettext(e) { var type = e.nodetype, result = ""; if (type === 1 || type === 9 || type === 11) { if (typeof e.textcontent === "string") { return e.textcontent; } else { for (e = e.firstchild; e; e = e.nextsibling) { result += gettext(e); } } } else if (type === 3 || type === 4) { return e.nodevalue; } return result; } /*! * splittext: 3.9.1 * https://greensock.com * * @license copyright 2008-2021, greensock. all rights reserved. * subject to the terms at https://greensock.com/standard-license or for * club greensock members, the agreement issued with that membership. * @author: jack doyle, jack@greensock.com */ var _doc, _win, _coreinitted, _stripexp = /(?:\r|\n|\t\t)/g, _multiplespacesexp = /(?:\s\s+)/g, _initcore = function _initcore() { _doc = document; _win = window; _coreinitted = 1; }, _getcomputedstyle = function _getcomputedstyle(element) { return _win.getcomputedstyle(element); }, _isarray = array.isarray, _slice = [].slice, _toarray = function _toarray(value, leavestrings) { var type; return _isarray(value) ? value : (type = typeof value) === "string" && !leavestrings && value ? _slice.call(_doc.queryselectorall(value), 0) : value && type === "object" && "length" in value ? _slice.call(value, 0) : value ? [value] : []; }, _isabsolute = function _isabsolute(vars) { return vars.position === "absolute" || vars.absolute === true; }, _findspecialchars = function _findspecialchars(text, chars) { var i = chars.length, s; while (--i > -1) { s = chars[i]; if (text.substr(0, s.length) === s) { return s.length; } } }, _divstart = " style='position:relative;display:inline-block;'", _cssclassfunc = function _cssclassfunc(cssclass, tag) { if (cssclass === void 0) { cssclass = ""; } var iterate = ~cssclass.indexof("++"), num = 1; if (iterate) { cssclass = cssclass.split("++").join(""); } return function () { return "<" + tag + _divstart + (cssclass ? " class='" + cssclass + (iterate ? num++ : "") + "'>" : ">"); }; }, _swaptext = function _swaptext(element, oldtext, newtext) { var type = element.nodetype; if (type === 1 || type === 9 || type === 11) { for (element = element.firstchild; element; element = element.nextsibling) { _swaptext(element, oldtext, newtext); } } else if (type === 3 || type === 4) { element.nodevalue = element.nodevalue.split(oldtext).join(newtext); } }, _pushreversed = function _pushreversed(a, merge) { var i = merge.length; while (--i > -1) { a.push(merge[i]); } }, _isbeforeworddelimiter = function _isbeforeworddelimiter(e, root, worddelimiter) { var next; while (e && e !== root) { next = e._next || e.nextsibling; if (next) { return next.textcontent.charat(0) === worddelimiter; } e = e.parentnode || e._parent; } }, _dewordify = function _dewordify(e) { var children = _toarray(e.childnodes), l = children.length, i, child; for (i = 0; i < l; i++) { child = children[i]; if (child._issplit) { _dewordify(child); } else { if (i && child.previoussibling && child.previoussibling.nodetype === 3) { child.previoussibling.nodevalue += child.nodetype === 3 ? child.nodevalue : child.firstchild.nodevalue; e.removechild(child); } else if (child.nodetype !== 3) { e.insertbefore(child.firstchild, child); e.removechild(child); } } } }, _getstyleasnumber = function _getstyleasnumber(name, computedstyle) { return parsefloat(computedstyle[name]) || 0; }, _setpositionsaftersplit = function _setpositionsaftersplit(element, vars, allchars, allwords, alllines, origwidth, origheight) { var cs = _getcomputedstyle(element), paddingleft = _getstyleasnumber("paddingleft", cs), lineoffsety = -999, bordertopandbottom = _getstyleasnumber("borderbottomwidth", cs) + _getstyleasnumber("bordertopwidth", cs), borderleftandright = _getstyleasnumber("borderleftwidth", cs) + _getstyleasnumber("borderrightwidth", cs), padtopandbottom = _getstyleasnumber("paddingtop", cs) + _getstyleasnumber("paddingbottom", cs), padleftandright = _getstyleasnumber("paddingleft", cs) + _getstyleasnumber("paddingright", cs), linethreshold = _getstyleasnumber("fontsize", cs) * (vars.linethreshold || 0.2), textalign = cs.textalign, chararray = [], wordarray = [], linearray = [], worddelimiter = vars.worddelimiter || " ", tag = vars.tag ? vars.tag : vars.span ? "span" : "div", types = vars.type || vars.split || "chars,words,lines", lines = alllines && ~types.indexof("lines") ? [] : null, words = ~types.indexof("words"), chars = ~types.indexof("chars"), absolute = _isabsolute(vars), linesclass = vars.linesclass, iterateline = ~(linesclass || "").indexof("++"), spacenodestoremove = [], isflex = cs.display === "flex", previnlinedisplay = element.style.display, i, j, l, node, nodes, ischild, curline, addwordspaces, style, linenode, linewidth, offset; iterateline && (linesclass = linesclass.split("++").join("")); isflex && (element.style.display = "block"); j = element.getelementsbytagname("*"); l = j.length; nodes = []; for (i = 0; i < l; i++) { nodes[i] = j[i]; } if (lines || absolute) { for (i = 0; i < l; i++) { node = nodes[i]; ischild = node.parentnode === element; if (ischild || absolute || chars && !words) { offset = node.offsettop; if (lines && ischild && math.abs(offset - lineoffsety) > linethreshold && (node.nodename !== "br" || i === 0)) { curline = []; lines.push(curline); lineoffsety = offset; } if (absolute) { node._x = node.offsetleft; node._y = offset; node._w = node.offsetwidth; node._h = node.offsetheight; } if (lines) { if (node._issplit && ischild || !chars && ischild || words && ischild || !words && node.parentnode.parentnode === element && !node.parentnode._issplit) { curline.push(node); node._x -= paddingleft; if (_isbeforeworddelimiter(node, element, worddelimiter)) { node._wordend = true; } } if (node.nodename === "br" && (node.nextsibling && node.nextsibling.nodename === "br" || i === 0)) { lines.push([]); } } } } } for (i = 0; i < l; i++) { node = nodes[i]; ischild = node.parentnode === element; if (node.nodename === "br") { if (lines || absolute) { node.parentnode && node.parentnode.removechild(node); nodes.splice(i--, 1); l--; } else if (!words) { element.appendchild(node); } continue; } if (absolute) { style = node.style; if (!words && !ischild) { node._x += node.parentnode._x; node._y += node.parentnode._y; } style.left = node._x + "px"; style.top = node._y + "px"; style.position = "absolute"; style.display = "block"; style.width = node._w + 1 + "px"; style.height = node._h + "px"; } if (!words && chars) { if (node._issplit) { node._next = j = node.nextsibling; node.parentnode.appendchild(node); while (j && j.nodetype === 3 && j.textcontent === " ") { node._next = j.nextsibling; node.parentnode.appendchild(j); j = j.nextsibling; } } else if (node.parentnode._issplit) { node._parent = node.parentnode; if (!node.previoussibling && node.firstchild) { node.firstchild._isfirst = true; } if (node.nextsibling && node.nextsibling.textcontent === " " && !node.nextsibling.nextsibling) { spacenodestoremove.push(node.nextsibling); } node._next = node.nextsibling && node.nextsibling._isfirst ? null : node.nextsibling; node.parentnode.removechild(node); nodes.splice(i--, 1); l--; } else if (!ischild) { offset = !node.nextsibling && _isbeforeworddelimiter(node.parentnode, element, worddelimiter); node.parentnode._parent && node.parentnode._parent.appendchild(node); offset && node.parentnode.appendchild(_doc.createtextnode(" ")); if (tag === "span") { node.style.display = "inline"; } chararray.push(node); } } else if (node.parentnode._issplit && !node._issplit && node.innerhtml !== "") { wordarray.push(node); } else if (chars && !node._issplit) { if (tag === "span") { node.style.display = "inline"; } chararray.push(node); } } i = spacenodestoremove.length; while (--i > -1) { spacenodestoremove[i].parentnode.removechild(spacenodestoremove[i]); } if (lines) { if (absolute) { linenode = _doc.createelement(tag); element.appendchild(linenode); linewidth = linenode.offsetwidth + "px"; offset = linenode.offsetparent === element ? 0 : element.offsetleft; element.removechild(linenode); } style = element.style.csstext; element.style.csstext = "display:none;"; while (element.firstchild) { element.removechild(element.firstchild); } addwordspaces = worddelimiter === " " && (!absolute || !words && !chars); for (i = 0; i < lines.length; i++) { curline = lines[i]; linenode = _doc.createelement(tag); linenode.style.csstext = "display:block;text-align:" + textalign + ";position:" + (absolute ? "absolute;" : "relative;"); if (linesclass) { linenode.classname = linesclass + (iterateline ? i + 1 : ""); } linearray.push(linenode); l = curline.length; for (j = 0; j < l; j++) { if (curline[j].nodename !== "br") { node = curline[j]; linenode.appendchild(node); addwordspaces && node._wordend && linenode.appendchild(_doc.createtextnode(" ")); if (absolute) { if (j === 0) { linenode.style.top = node._y + "px"; linenode.style.left = paddingleft + offset + "px"; } node.style.top = "0px"; if (offset) { node.style.left = node._x - offset + "px"; } } } } if (l === 0) { linenode.innerhtml = " "; } else if (!words && !chars) { _dewordify(linenode); _swaptext(linenode, string.fromcharcode(160), " "); } if (absolute) { linenode.style.width = linewidth; linenode.style.height = node._h + "px"; } element.appendchild(linenode); } element.style.csstext = style; } if (absolute) { if (origheight > element.clientheight) { element.style.height = origheight - padtopandbottom + "px"; if (element.clientheight < origheight) { element.style.height = origheight + bordertopandbottom + "px"; } } if (origwidth > element.clientwidth) { element.style.width = origwidth - padleftandright + "px"; if (element.clientwidth < origwidth) { element.style.width = origwidth + borderleftandright + "px"; } } } isflex && (previnlinedisplay ? element.style.display = previnlinedisplay : element.style.removeproperty("display")); _pushreversed(allchars, chararray); words && _pushreversed(allwords, wordarray); _pushreversed(alllines, linearray); }, _splitrawtext = function _splitrawtext(element, vars, wordstart, charstart) { var tag = vars.tag ? vars.tag : vars.span ? "span" : "div", types = vars.type || vars.split || "chars,words,lines", chars = ~types.indexof("chars"), absolute = _isabsolute(vars), worddelimiter = vars.worddelimiter || " ", space = worddelimiter !== " " ? "" : absolute ? "­ " : " ", wordend = "", wordisopen = 1, specialchars = vars.specialchars ? typeof vars.specialchars === "function" ? vars.specialchars : _findspecialchars : null, text, splittext, i, j, l, character, hastagstart, testresult, container = _doc.createelement("div"), parent = element.parentnode; parent.insertbefore(container, element); container.textcontent = element.nodevalue; parent.removechild(element); element = container; text = gettext(element); hastagstart = text.indexof("<") !== -1; if (vars.reducewhitespace !== false) { text = text.replace(_multiplespacesexp, " ").replace(_stripexp, ""); } if (hastagstart) { text = text.split("<").join("{{lt}}"); } l = text.length; splittext = (text.charat(0) === " " ? space : "") + wordstart(); for (i = 0; i < l; i++) { character = text.charat(i); if (specialchars && (testresult = specialchars(text.substr(i), vars.specialchars))) { character = text.substr(i, testresult || 1); splittext += chars && character !== " " ? charstart() + character + "" : character; i += testresult - 1; } else if (character === worddelimiter && text.charat(i - 1) !== worddelimiter && i) { splittext += wordisopen ? wordend : ""; wordisopen = 0; while (text.charat(i + 1) === worddelimiter) { splittext += space; i++; } if (i === l - 1) { splittext += space; } else if (text.charat(i + 1) !== ")") { splittext += space + wordstart(); wordisopen = 1; } } else if (character === "{" && text.substr(i, 6) === "{{lt}}") { splittext += chars ? charstart() + "{{lt}}" + "" : "{{lt}}"; i += 5; } else if (character.charcodeat(0) >= 0xd800 && character.charcodeat(0) <= 0xdbff || text.charcodeat(i + 1) >= 0xfe00 && text.charcodeat(i + 1) <= 0xfe0f) { j = ((text.substr(i, 12).split(emojiexp) || [])[1] || "").length || 2; splittext += chars && character !== " " ? charstart() + text.substr(i, j) + "" : text.substr(i, j); i += j - 1; } else { splittext += chars && character !== " " ? charstart() + character + "" : character; } } element.outerhtml = splittext + (wordisopen ? wordend : ""); hastagstart && _swaptext(parent, "{{lt}}", "<"); }, _split = function _split(element, vars, wordstart, charstart) { var children = _toarray(element.childnodes), l = children.length, absolute = _isabsolute(vars), i, child; if (element.nodetype !== 3 || l > 1) { vars.absolute = false; for (i = 0; i < l; i++) { child = children[i]; child._next = child._isfirst = child._parent = child._wordend = null; if (child.nodetype !== 3 || /\s+/.test(child.nodevalue)) { if (absolute && child.nodetype !== 3 && _getcomputedstyle(child).display === "inline") { child.style.display = "inline-block"; child.style.position = "relative"; } child._issplit = true; _split(child, vars, wordstart, charstart); } } vars.absolute = absolute; element._issplit = true; return; } _splitrawtext(element, vars, wordstart, charstart); }; var splittext = function () { function splittext(element, vars) { _coreinitted || _initcore(); this.elements = _toarray(element); this.chars = []; this.words = []; this.lines = []; this._originals = []; this.vars = vars || {}; this.split(vars); } var _proto = splittext.prototype; _proto.split = function split(vars) { this.issplit && this.revert(); this.vars = vars = vars || this.vars; this._originals.length = this.chars.length = this.words.length = this.lines.length = 0; var i = this.elements.length, tag = vars.tag ? vars.tag : vars.span ? "span" : "div", wordstart = _cssclassfunc(vars.wordsclass, tag), charstart = _cssclassfunc(vars.charsclass, tag), origheight, origwidth, e; while (--i > -1) { e = this.elements[i]; this._originals[i] = e.innerhtml; origheight = e.clientheight; origwidth = e.clientwidth; _split(e, vars, wordstart, charstart); _setpositionsaftersplit(e, vars, this.chars, this.words, this.lines, origwidth, origheight); } this.chars.reverse(); this.words.reverse(); this.lines.reverse(); this.issplit = true; return this; }; _proto.revert = function revert() { var originals = this._originals; if (!originals) { throw "revert() call wasn't scoped properly."; } this.elements.foreach(function (e, i) { return e.innerhtml = originals[i]; }); this.chars = []; this.words = []; this.lines = []; this.issplit = false; return this; }; splittext.create = function create(element, vars) { return new splittext(element, vars); }; return splittext; }(); splittext.version = "3.9.1"; exports.splittext = splittext; exports.default = splittext; object.defineproperty(exports, '__esmodule', { value: true }); })));