package dev.inmo.jsuikit.utils import dev.inmo.jsuikit.modifiers.UIKitModifier import org.jetbrains.compose.web.attributes.AttrsScope import org.jetbrains.compose.web.dom.ContentBuilder import org.w3c.dom.Element typealias AttrsWithContentBuilder = Pair, ContentBuilder> @Suppress("NOTHING_TO_INLINE") inline fun AttrsWithContentBuilder(noinline builder: ContentBuilder) = AttrsWithContentBuilder( Attrs.empty(), builder ) @Suppress("NOTHING_TO_INLINE") inline fun AttrsWithContentBuilder(attrs: Attrs) = AttrsWithContentBuilder( attrs ) {} @Suppress("NOTHING_TO_INLINE") inline fun AttrsWithContentBuilder( modifier: UIKitModifier?, vararg modifiers: UIKitModifier?, noinline attrs: AttrsScope.() -> Unit = {} ) = AttrsWithContentBuilder( Attrs(modifier, *modifiers, attrs = attrs) ) inline val AttrsWithContentBuilder.attrs get() = first inline val AttrsWithContentBuilder.attributesBuilderContext get() = attrs.builder inline val AttrsWithContentBuilder.builder get() = second