519df665 by Adam Heath

When rendering replaced nodes as strings, if no replaced content is

given, render the original children.
1 parent 4bd75132
---
import { ELEMENT_NODE, TEXT_NODE } from 'ultrahtml'
import Node from './node.astro'
import Children from './children.astro'
const { props: { parent = null, node, index = 0, special, debug = 0, replacers, slotHandler } } = Astro
const { name: Name, attributes } = node
......@@ -21,7 +22,7 @@ const nextDebug = debug ? debug - 1 : 0
const [ Component, componentArgs, componentContent ] = Array.isArray(slotName) ? slotName : []
---
{
typeof Component === 'string' ? <Component {...node.attributes} {...componentArgs}>{componentContent}</Component>
typeof Component === 'string' ? <Component {...node.attributes} {...componentArgs}>{componentContent || <Children parent={node} children={node.children} debug={nextDebug} replacers={replacers} slotHandler={slotHandler}/>}</Component>
: Component ? (<Component {...componentArgs} parent={parent} node={node} index={index} debug={nextDebug} replacers={replacers} slotHandler={slotHandler} special={special}>{componentContent}</Component>)
: slotName ? slotHandler(slotName, node, special)
: <Node parent={parent} node={node} index={index} debug={nextDebug} replacers={replacers} slotHandler={slotHandler} special={special}/>
......