package dev.inmo.jsuikit.elements import androidx.compose.runtime.Composable import dev.inmo.jsuikit.modifiers.* import dev.inmo.jsuikit.utils.* import org.jetbrains.compose.web.dom.* import org.w3c.dom.HTMLDivElement import org.w3c.dom.HTMLElement @Composable fun Navbar( attributesCustomizer: AttrBuilderContext = {}, contentBuilder: ContentBuilder ) { Nav( { include(UIKitNavbar, UIKitNavbar(), UIKitNavbar.Container) attributesCustomizer() } ) { contentBuilder() } } @Deprecated("Will be removed soon. Use the variant with AttrsWithContentBuilders") @Composable fun Navbar( leftBuilder: NavbarNavBuilder?, centerBuilder: NavbarNavBuilder? = null, rightBuilder: NavbarNavBuilder? = null, vararg navModifiers: UIKitModifier, attributesCustomizer: AttrBuilderContext = {}, ) { Navbar( { include(*navModifiers) attributesCustomizer() } ) { leftBuilder ?.let { Div({ include(UIKitNavbar.Alignment.Left) }) { it.draw() } } centerBuilder ?.let { Div({ include(UIKitNavbar.Alignment.Center) }) { it.draw() } } rightBuilder ?.let { Div({ include(UIKitNavbar.Alignment.Right) }) { it.draw() } } } } @Composable fun Navbar( leftBuilder: AttrsWithContentBuilder? = null, centerBuilder: AttrsWithContentBuilder? = null, rightBuilder: AttrsWithContentBuilder? = null, vararg navModifiers: UIKitModifier, attributesCustomizer: AttrBuilderContext = {}, ) { Navbar( attributesCustomizer = { include(*navModifiers) attributesCustomizer() } ) { leftBuilder ?.let { Div({ include(UIKitNavbar.Alignment.Left);leftBuilder.attributesBuilderContext(this) }, leftBuilder.builder) } centerBuilder ?.let { Div({ include(UIKitNavbar.Alignment.Center);centerBuilder.attributesBuilderContext(this) }, centerBuilder.builder) } rightBuilder ?.let { Div({ include(UIKitNavbar.Alignment.Right);rightBuilder.attributesBuilderContext(this) }, rightBuilder.builder) } } }