Skip to content

Commit

Permalink
Merge pull request #812 from arkivanov/child-panels-nothing-extra
Browse files Browse the repository at this point in the history
Use Nothing type for ChildPanels without extra panel
  • Loading branch information
arkivanov authored Nov 23, 2024
2 parents 960d81a + 56c2601 commit 0e2b83a
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ import com.arkivanov.decompose.ExperimentalDecomposeApi
* @param extra an optional Extra child component.
* @param mode determines how lifecycles of the panels within the Child Panels navigation model are changing,
* default value is [ChildPanelsMode.SINGLE], see [ChildPanelsMode].
* @param MC a type of the `Main` panel configuration.
* @param MT a type of the `Main` panel component.
* @param DC a type of the `Details` panel configuration.
* @param DT a type of the `Details` panel component.
* @param EC a type of the `Extra` panel configuration. Use `Nothing` if the panel is not required.
* @param ET a type of the `Extra` panel component. Use `Nothing` if the panel is not required.
*/
@ExperimentalDecomposeApi
data class ChildPanels<out MC : Any, out MT : Any, out DC : Any, out DT : Any, out EC : Any, out ET : Any>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import kotlinx.serialization.Serializable
* @param extra an optional configuration of the Extra panel, default value is `null`.
* @param mode determines how lifecycles of the panels within the Child Panels navigation model are changing,
* default value is [ChildPanelsMode.SINGLE], see [ChildPanelsMode].
* @param MC a type of the `Main` panel configuration.
* @param DC a type of the `Details` panel configuration.
* @param EC a type of the `Extra` panel configuration. Use `Nothing` if the panel is not required.
*/
@ExperimentalDecomposeApi
@Serializable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ final val com.arkivanov.decompose.extensions.compose.experimental/com_arkivanov_
final fun (com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimator).com.arkivanov.decompose.extensions.compose.experimental.stack.animation/plus(com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimator): com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimator // com.arkivanov.decompose.extensions.compose.experimental.stack.animation/plus|plus@com.arkivanov.decompose.extensions.compose.experimental.stack.animation.StackAnimator(com.arkivanov.decompose.extensions.compose.experimental.stack.animation.StackAnimator){}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any, #C: kotlin/Any, #D: kotlin/Any, #E: kotlin/Any, #F: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels(com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, #E, #F>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#C, #D>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#E, #F>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsLayout?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsAnimators?, kotlin/Function1<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, #E, #F>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels|ChildPanels(com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,0:4,0:5>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:2,0:3>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:4,0:5>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsLayout?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsAnimators?;kotlin.Function1<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,0:4,0:5>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>;2§<kotlin.Any>;3§<kotlin.Any>;4§<kotlin.Any>;5§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any, #C: kotlin/Any, #D: kotlin/Any, #E: kotlin/Any, #F: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels(com.arkivanov.decompose.value/Value<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, #E, #F>>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#C, #D>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#E, #F>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsLayout?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsAnimators?, kotlin/Function1<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, #E, #F>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels|ChildPanels(com.arkivanov.decompose.value.Value<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,0:4,0:5>>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:2,0:3>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:4,0:5>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsLayout?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsAnimators?;kotlin.Function1<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,0:4,0:5>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>;2§<kotlin.Any>;3§<kotlin.Any>;4§<kotlin.Any>;5§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any, #C: kotlin/Any, #D: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels(com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, *, *>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#C, #D>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsLayout?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsAnimators?, kotlin/Function1<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, *, *>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels|ChildPanels(com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,*,*>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:2,0:3>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsLayout?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsAnimators?;kotlin.Function1<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,*,*>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>;2§<kotlin.Any>;3§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any, #C: kotlin/Any, #D: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels(com.arkivanov.decompose.value/Value<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, *, *>>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#C, #D>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsLayout?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsAnimators?, kotlin/Function1<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, *, *>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels|ChildPanels(com.arkivanov.decompose.value.Value<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,*,*>>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:2,0:3>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsLayout?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsAnimators?;kotlin.Function1<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,*,*>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>;2§<kotlin.Any>;3§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any, #C: kotlin/Any, #D: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels(com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, kotlin/Nothing, kotlin/Nothing>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#C, #D>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsLayout?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsAnimators?, kotlin/Function1<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, kotlin/Nothing, kotlin/Nothing>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels|ChildPanels(com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,kotlin.Nothing,kotlin.Nothing>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:2,0:3>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsLayout?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsAnimators?;kotlin.Function1<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,kotlin.Nothing,kotlin.Nothing>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>;2§<kotlin.Any>;3§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any, #C: kotlin/Any, #D: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels(com.arkivanov.decompose.value/Value<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, kotlin/Nothing, kotlin/Nothing>>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, kotlin/Function3<com.arkivanov.decompose/Child.Created<#C, #D>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier?, kotlin/Function2<androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsLayout?, com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanelsAnimators?, kotlin/Function1<com.arkivanov.decompose.router.panels/ChildPanels<#A, #B, #C, #D, kotlin/Nothing, kotlin/Nothing>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.panels/ChildPanels|ChildPanels(com.arkivanov.decompose.value.Value<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,kotlin.Nothing,kotlin.Nothing>>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:2,0:3>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsLayout?;com.arkivanov.decompose.extensions.compose.experimental.panels.ChildPanelsAnimators?;kotlin.Function1<com.arkivanov.decompose.router.panels.ChildPanels<0:0,0:1,0:2,0:3,kotlin.Nothing,kotlin.Nothing>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>;2§<kotlin.Any>;3§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.stack.animation/stackAnimation(com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimator? = ..., kotlin/Boolean = ..., kotlin/Function1<com.arkivanov.decompose.router.stack/ChildStack<#A, #B>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?> = ...): com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimation<#A, #B> // com.arkivanov.decompose.extensions.compose.experimental.stack.animation/stackAnimation|stackAnimation(com.arkivanov.decompose.extensions.compose.experimental.stack.animation.StackAnimator?;kotlin.Boolean;kotlin.Function1<com.arkivanov.decompose.router.stack.ChildStack<0:0,0:1>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>){0§<kotlin.Any>;1§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.stack.animation/stackAnimation(kotlin/Boolean = ..., kotlin/Function1<com.arkivanov.decompose.router.stack/ChildStack<#A, #B>, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/PredictiveBackParams?> = ..., kotlin/Function3<com.arkivanov.decompose/Child.Created<#A, #B>, com.arkivanov.decompose/Child.Created<#A, #B>, com.arkivanov.decompose.extensions.compose.stack.animation/Direction, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimator?>): com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimation<#A, #B> // com.arkivanov.decompose.extensions.compose.experimental.stack.animation/stackAnimation|stackAnimation(kotlin.Boolean;kotlin.Function1<com.arkivanov.decompose.router.stack.ChildStack<0:0,0:1>,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.PredictiveBackParams?>;kotlin.Function3<com.arkivanov.decompose.Child.Created<0:0,0:1>,com.arkivanov.decompose.Child.Created<0:0,0:1>,com.arkivanov.decompose.extensions.compose.stack.animation.Direction,com.arkivanov.decompose.extensions.compose.experimental.stack.animation.StackAnimator?>){0§<kotlin.Any>;1§<kotlin.Any>}[0]
final fun <#A: kotlin/Any, #B: kotlin/Any> com.arkivanov.decompose.extensions.compose.experimental.stack/ChildStack(com.arkivanov.decompose.router.stack/ChildStack<#A, #B>, androidx.compose.ui/Modifier?, com.arkivanov.decompose.extensions.compose.experimental.stack.animation/StackAnimation<#A, #B>?, kotlin/Function4<androidx.compose.animation/AnimatedVisibilityScope, com.arkivanov.decompose/Child.Created<#A, #B>, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.arkivanov.decompose.extensions.compose.experimental.stack/ChildStack|ChildStack(com.arkivanov.decompose.router.stack.ChildStack<0:0,0:1>;androidx.compose.ui.Modifier?;com.arkivanov.decompose.extensions.compose.experimental.stack.animation.StackAnimation<0:0,0:1>?;kotlin.Function4<androidx.compose.animation.AnimatedVisibilityScope,com.arkivanov.decompose.Child.Created<0:0,0:1>,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<kotlin.Any>;1§<kotlin.Any>}[0]
Expand Down
Loading

0 comments on commit 0e2b83a

Please sign in to comment.