
commonMain.com.mikepenz.markdown.compose.elements.MarkdownHeader.kt Maven / Gradle / Ivy
package com.mikepenz.markdown.compose.elements
import androidx.compose.runtime.Composable
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.buildAnnotatedString
import com.mikepenz.markdown.utils.buildMarkdownAnnotatedString
import org.intellij.markdown.IElementType
import org.intellij.markdown.MarkdownTokenTypes
import org.intellij.markdown.ast.ASTNode
import org.intellij.markdown.ast.findChildOfType
@Composable
fun MarkdownHeader(
content: String,
node: ASTNode,
style: TextStyle,
contentChildType: IElementType = MarkdownTokenTypes.ATX_CONTENT,
) {
node.findChildOfType(contentChildType)?.let {
val styledText = buildAnnotatedString {
pushStyle(style.toSpanStyle())
buildMarkdownAnnotatedString(content, it)
pop()
}
MarkdownText(styledText, style = style)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy