@xmcl/text-component
v2.1.3
Published
Parse Minecraft text component and render it to css.
Downloads
299
Maintainers
Readme
Text-component Module
Provide functions to parse Minecraft text component.
Usage
TextComponent
Create TextComponent from string OR Minecraft's formatted string, like '§cThis is red'
:
import { TextComponent, fromFormattedString } from "@xmcl/text-component";
const formattedString: string;
const fromFormatted: TextComponent = fromFormattedString(formattedString);
Render the TextComponent to css:
import { TextComponent, render, RenderNode } from "@xmcl/text-component";
const yourComponent: TextComponent;
const node: RenderNode = render(yourComponent);
node.text; // the text of the node
node.style; // style of the node
node.children; // children
// you can render in dom like this:
function renderToDom(node: RenderNode) {
const span = document.createElement('span');
span.style = node.style;
span.textContent = node.text;
for (const child of node.children) {
span.appendChild(renderToDom(child));
}
}
Iterate the TextComponent and its children:
import { TextComponent, flat } from "@xmcl/text-component";
const yourComponent: TextComponent;
const selfAndAllChildren: Array<TextComponent> = flat(yourComponent);