vevet
Version:
Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.
32 lines • 1.11 kB
JavaScript
import { wrapLetters } from './wrapLetters';
import { wrapWords } from './wrapWords';
/**
* Splits text in the container into words and optionally into letters.
*/
export function splitBase({ container, letterClassName, wordClassName, hasLetters, letterTag, wordTag, }) {
// Prepare the fragment
const prepareFragment = document.createDocumentFragment();
while (container.childNodes[0]) {
prepareFragment.appendChild(container.childNodes[0]);
}
// Wrap the text into words
const wordsMeta = wrapWords({
container: prepareFragment,
classname: wordClassName,
tagName: wordTag,
});
const lettersMeta = [];
// If enabled, wrap words into letters
if (hasLetters) {
const wrappedLetters = wrapLetters({
wordsMeta,
classname: letterClassName,
tagName: letterTag,
});
lettersMeta.push(...wrappedLetters.lettersMeta);
}
// Append the prepared fragment
container.appendChild(prepareFragment);
return { wordsMeta, lettersMeta };
}
//# sourceMappingURL=splitBase.js.map