just-animate
Version:
_Making Animation Simple_
49 lines (48 loc) • 1.59 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
function element(innerHTML) {
var el = document.createElement('div');
el.setAttribute('style', 'display:inline-block;position:relative;text-align:start');
el.innerHTML = innerHTML || '';
return el;
}
function splitText(target) {
var characters = [];
var words = [];
var elements = typeof target === 'string'
? document.querySelectorAll(target)
: target instanceof Element
? [target]
: typeof target.length === 'number'
? target
: [];
for (var i = 0, ilen = elements.length; i < ilen; i++) {
var e = elements[i];
if (!e) {
continue;
}
var contents = e.textContent.replace(/[\r\n\s\t]+/gi, ' ').trim();
e.innerHTML = '';
var ws = contents.split(/[\s]+/gi);
for (var x = 0, xlen = ws.length; x < xlen; x++) {
var w = ws[x];
if (!w) {
continue;
}
if (x > 0) {
var empty = element(' ');
e.appendChild(empty);
}
var word = element();
words.push(word);
e.appendChild(word);
for (var y = 0, ylen = w.length; y < ylen; y++) {
var c = w[y];
var character = element(c);
word.appendChild(character);
characters.push(character);
}
}
}
return { characters: characters, words: words };
}
exports.splitText = splitText;