UNPKG

@wordpress/blocks

Version:
28 lines (27 loc) 978 B
// packages/blocks/src/api/raw-handling/heading-transformer.ts function headingTransformer(node) { if (node.nodeType !== node.ELEMENT_NODE) { return; } const element = node; if (element.tagName === "P" && element.getAttribute("role") === "heading" && element.hasAttribute("aria-level")) { const level = parseInt(element.getAttribute("aria-level"), 10); if (level >= 1 && level <= 6) { const headingTag = `H${level}`; const newHeading = element.ownerDocument.createElement(headingTag); Array.from(element.attributes).forEach((attr) => { if (attr.name !== "role" && attr.name !== "aria-level") { newHeading.setAttribute(attr.name, attr.value); } }); while (element.firstChild) { newHeading.appendChild(element.firstChild); } element.parentNode.replaceChild(newHeading, element); } } } export { headingTransformer as default }; //# sourceMappingURL=heading-transformer.mjs.map