diff --git a/CHANGELOG.md b/CHANGELOG.md index f1b37f4..b2ad81a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.0.50 +* Add opportunity to customize content in title of `Nav` after text + ## 0.0.49 * Now it is possible to use optional title in navs builders diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Nav.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Nav.kt index 5ab17c7..e78f317 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Nav.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Nav.kt @@ -1,7 +1,6 @@ package dev.inmo.jsuikit.elements import androidx.compose.runtime.Composable -import androidx.compose.runtime.snapshots.SnapshotStateList import dev.inmo.jsuikit.buildAndAddAttribute import dev.inmo.jsuikit.modifiers.* import dev.inmo.jsuikit.utils.Milliseconds @@ -104,6 +103,7 @@ fun Nav( duration: Milliseconds? = null, besidesTitleAndList: ContentBuilder? = null, titleCustomizer: AttrBuilderContext = {}, + afterTitleBuilder: ContentBuilder = {}, ulCustomizer: AttrBuilderContext = {}, elementAllocator: @Composable ElementScope.(T) -> Unit ) { @@ -123,7 +123,8 @@ fun Nav( NavHeader( title, *titleModifiers, - attributesCustomizer = titleCustomizer + attributesCustomizer = titleCustomizer, + afterTitleContentBuilder = afterTitleBuilder ) } besidesTitleAndList ?.let { it() } @@ -145,6 +146,7 @@ fun DefaultNav( duration: Milliseconds? = null, besidesTitleAndList: ContentBuilder? = null, titleCustomizer: AttrBuilderContext = {}, + afterTitleBuilder: ContentBuilder = {}, ulCustomizer: AttrBuilderContext = {}, elementAllocator: @Composable ElementScope.(T) -> Unit ) = Nav( @@ -158,6 +160,7 @@ fun DefaultNav( duration, besidesTitleAndList, titleCustomizer, + afterTitleBuilder, ulCustomizer, elementAllocator ) @@ -174,6 +177,7 @@ fun PrimaryNav( duration: Milliseconds? = null, besidesTitleAndList: ContentBuilder? = null, titleCustomizer: AttrBuilderContext = {}, + afterTitleBuilder: ContentBuilder = {}, ulCustomizer: AttrBuilderContext = {}, elementAllocator: @Composable ElementScope.(T) -> Unit ) = Nav( @@ -187,6 +191,7 @@ fun PrimaryNav( duration, besidesTitleAndList, titleCustomizer, + afterTitleBuilder, ulCustomizer, elementAllocator ) @@ -203,6 +208,7 @@ fun SubNav( duration: Milliseconds? = null, besidesTitleAndList: ContentBuilder? = null, titleCustomizer: AttrBuilderContext = {}, + afterTitleBuilder: ContentBuilder = {}, ulCustomizer: AttrBuilderContext = {}, elementAllocator: @Composable ElementScope.(T) -> Unit ) = Nav( @@ -216,6 +222,7 @@ fun SubNav( duration, besidesTitleAndList, titleCustomizer, + afterTitleBuilder, ulCustomizer, elementAllocator ) @@ -225,6 +232,7 @@ fun NavHeader( text: String, vararg modifiers: UIKitModifier, attributesCustomizer: AttrBuilderContext = {}, + afterTitleContentBuilder: ContentBuilder = {} ) { Li( { @@ -233,6 +241,7 @@ fun NavHeader( } ) { Text(text) + afterTitleContentBuilder() } }