From 2adaf58f74684c30dc8d1632207a8929147554f1 Mon Sep 17 00:00:00 2001 From: Manel Martos Date: Fri, 26 Jan 2024 11:47:01 +0100 Subject: [PATCH] Remove modal + rename stable to standard --- .../modal/common/build.gradle.kts | 72 ---------- .../bumble/appyx/components/modal/Modal.kt | 42 ------ .../appyx/components/modal/ModalModel.kt | 55 -------- .../RevertBackPressHandler.kt | 28 ---- .../appyx/components/modal/operation/Add.kt | 40 ------ .../components/modal/operation/Destroy.kt | 42 ------ .../components/modal/operation/Dismiss.kt | 53 ------- .../components/modal/operation/FullScreen.kt | 37 ----- .../components/modal/operation/Revert.kt | 37 ----- .../appyx/components/modal/operation/Show.kt | 39 ----- .../components/modal/ui/ModalVisualisation.kt | 94 ------------- .../components/modal/ui/TargetUiState.kt | 25 ---- .../src/androidMain/AndroidManifest.xml | 2 - .../backstack/android/build.gradle.kts | 2 +- .../backstack/android/lint-baseline.xml | 0 .../backstack/android/BackStackTest.kt | 0 .../ui/parallax/BackStackParallaxTest.kt | 0 .../backstack/common/build.gradle.kts | 0 .../src/androidMain/AndroidManifest.xml | 0 .../appyx/components/backstack/BackStack.kt | 0 .../components/backstack/BackStackModel.kt | 0 .../components/backstack/BackStackModelExt.kt | 0 .../backpresshandler/PopBackstackStrategy.kt | 0 .../components/backstack/operation/NewRoot.kt | 0 .../components/backstack/operation/Pop.kt | 0 .../components/backstack/operation/Push.kt | 0 .../components/backstack/operation/Replace.kt | 0 .../backstack/ui/fader/BackStackFader.kt | 0 .../backstack/ui/fader/TargetUiState.kt | 0 .../ui/parallax/BackStackParallax.kt | 0 .../backstack/ui/parallax/TargetUiState.kt | 0 .../backstack/ui/slider/BackStackSlider.kt | 0 .../backstack/ui/slider/TargetUiState.kt | 0 .../backstack/ui/stack3d/BackStack3D.kt | 0 .../backstack/ui/stack3d/TargetUiState.kt | 0 .../stable/backstack/InteractionTarget.kt | 0 .../stable/backstack/operation/NewRootTest.kt | 0 .../stable/backstack/operation/PopTest.kt | 0 .../stable/backstack/operation/PushTest.kt | 0 .../stable/backstack/operation/ReplaceTest.kt | 0 .../backstack/restore/BackstackRestoreTest.kt | 0 .../spotlight/android/build.gradle.kts | 2 +- .../spotlight/android/lint-baseline.xml | 0 ..._operation_then_scroll_using_viewpoint.png | Bin ..._operation_then_scroll_using_viewpoint.png | Bin .../src/androidTest/AndroidManifest.xml | 0 .../spotlight/android/SpotlightTest.kt | 0 .../android/SpotlightViewpointTest.kt | 0 .../spotlight/android/utils/SpotlightUtils.kt | 0 .../spotlight/common/build.gradle.kts | 0 .../src/androidMain/AndroidManifest.xml | 0 .../appyx/components/spotlight/Spotlight.kt | 0 .../components/spotlight/SpotlightModel.kt | 0 .../spotlight/operation/Activate.kt | 0 .../components/spotlight/operation/First.kt | 0 .../components/spotlight/operation/Last.kt | 0 .../components/spotlight/operation/Next.kt | 0 .../spotlight/operation/Previous.kt | 0 .../spotlight/operation/UpdateElements.kt | 0 .../spotlight/ui/fader/SpotlightFader.kt | 0 .../spotlight/ui/fader/TargetUiState.kt | 0 .../spotlight/ui/slider/SpotlightSlider.kt | 0 .../spotlight/ui/slider/TargetUiState.kt | 0 .../sliderrotation/SpotlightSliderRotation.kt | 0 .../ui/sliderrotation/TargetUiState.kt | 0 .../ui/sliderscale/SpotlightSliderScale.kt | 0 .../spotlight/ui/sliderscale/TargetUiState.kt | 0 .../spotlight/ui/stack3d/SpotlightStack3D.kt | 0 .../spotlight/ui/stack3d/TargetUiState.kt | 0 .../components/spotlight/InteractionTarget.kt | 0 .../spotlight/model/SpotlightModelTest.kt | 0 .../spotlight/operation/ActivateTest.kt | 0 .../spotlight/operation/FirstTest.kt | 0 .../spotlight/operation/LastTest.kt | 0 .../spotlight/operation/NextTest.kt | 0 .../spotlight/operation/PreviousTest.kt | 0 .../spotlight/operation/UpdateElementsTest.kt | 0 .../android/build.gradle.kts | 3 +- .../interactions/sample/ModalExperiment.kt | 99 ------------- .../desktop/build.gradle.kts | 2 +- demos/appyx-interactions/ios/build.gradle.kts | 4 +- .../appyx-navigation/android/build.gradle.kts | 2 +- .../appyx-navigation/common/build.gradle.kts | 5 +- .../appyx-navigation/desktop/build.gradle.kts | 2 +- demos/appyx-navigation/web/build.gradle.kts | 2 +- .../backstack/fader/web/build.gradle.kts | 2 +- .../backstack/parallax/web/build.gradle.kts | 2 +- .../backstack/slider/web/build.gradle.kts | 2 +- .../backstack/stack3d/web/build.gradle.kts | 2 +- .../spotlight/fader/web/build.gradle.kts | 2 +- .../spotlight/slider/web/build.gradle.kts | 2 +- .../sliderrotation/web/build.gradle.kts | 2 +- .../sliderscale/web/build.gradle.kts | 2 +- .../spotlight/stack3d/web/build.gradle.kts | 2 +- .../observemp/web/build.gradle.kts | 2 +- demos/navigation-compose/build.gradle.kts | 2 +- .../common/build.gradle.kts | 5 +- .../node/container/ContainerNode.kt | 133 ------------------ .../node/modal/ModalExamplesNode.kt | 130 ----------------- .../desktop/build.gradle.kts | 2 +- .../web/build.gradle.kts | 2 +- settings.gradle.kts | 14 +- utils/material3/build.gradle.kts | 2 +- 103 files changed, 33 insertions(+), 966 deletions(-) delete mode 100644 appyx-components/experimental/modal/common/build.gradle.kts delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/Modal.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ModalModel.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/backpresshandler/RevertBackPressHandler.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Add.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Destroy.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Dismiss.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/FullScreen.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Revert.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Show.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/ModalVisualisation.kt delete mode 100644 appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/TargetUiState.kt delete mode 100644 appyx-components/stable/spotlight/common/src/androidMain/AndroidManifest.xml rename appyx-components/{stable => standard}/backstack/android/build.gradle.kts (86%) rename appyx-components/{stable => standard}/backstack/android/lint-baseline.xml (100%) rename appyx-components/{stable => standard}/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/android/BackStackTest.kt (100%) rename appyx-components/{stable => standard}/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallaxTest.kt (100%) rename appyx-components/{stable => standard}/backstack/common/build.gradle.kts (100%) rename appyx-components/{experimental/modal => standard/backstack}/common/src/androidMain/AndroidManifest.xml (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStack.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModel.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModelExt.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/backpresshandler/PopBackstackStrategy.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/NewRoot.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Pop.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Push.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Replace.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/BackStackFader.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/BackStackSlider.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/BackStack3D.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/InteractionTarget.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/NewRootTest.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PopTest.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PushTest.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/ReplaceTest.kt (100%) rename appyx-components/{stable => standard}/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/restore/BackstackRestoreTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/android/build.gradle.kts (85%) rename appyx-components/{stable => standard}/spotlight/android/lint-baseline.xml (100%) rename appyx-components/{stable => standard}/spotlight/android/screenshots/SpotlightViewpointTest_when_keyframe_operation_then_scroll_using_viewpoint.png (100%) rename appyx-components/{stable => standard}/spotlight/android/screenshots/SpotlightViewpointTest_when_update__operation_then_scroll_using_viewpoint.png (100%) rename appyx-components/{stable => standard}/spotlight/android/src/androidTest/AndroidManifest.xml (100%) rename appyx-components/{stable => standard}/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightViewpointTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/utils/SpotlightUtils.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/build.gradle.kts (100%) rename appyx-components/{stable/backstack => standard/spotlight}/common/src/androidMain/AndroidManifest.xml (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/Spotlight.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/SpotlightModel.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Activate.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/First.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Last.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Next.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Previous.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElements.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/SpotlightFader.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/SpotlightSlider.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/SpotlightSliderRotation.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/SpotlightSliderScale.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/SpotlightStack3D.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/TargetUiState.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/InteractionTarget.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/model/SpotlightModelTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/ActivateTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/FirstTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/LastTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/NextTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/PreviousTest.kt (100%) rename appyx-components/{stable => standard}/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElementsTest.kt (100%) delete mode 100644 demos/appyx-interactions/android/src/main/kotlin/com/bumble/appyx/interactions/sample/ModalExperiment.kt delete mode 100644 demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/container/ContainerNode.kt delete mode 100644 demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/modal/ModalExamplesNode.kt diff --git a/appyx-components/experimental/modal/common/build.gradle.kts b/appyx-components/experimental/modal/common/build.gradle.kts deleted file mode 100644 index c741e482c..000000000 --- a/appyx-components/experimental/modal/common/build.gradle.kts +++ /dev/null @@ -1,72 +0,0 @@ -plugins { - id("com.bumble.appyx.multiplatform") - id("org.jetbrains.compose") - id("com.android.library") - id("kotlin-parcelize") - id("appyx-publish-multiplatform") - id("com.google.devtools.ksp") -} - -appyx { - androidNamespace.set("com.bumble.appyx.components.experimental.modal") -} - -kotlin { - androidTarget { - publishLibraryVariants("release") - } - - jvm("desktop") { - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - } - } - js(IR) { - // Adding moduleName as a workaround for this issue: https://youtrack.jetbrains.com/issue/KT-51942 - moduleName = "appyx-components-modal-commons" - browser() - } - iosX64() - iosArm64() - iosSimulatorArm64() - sourceSets { - val commonMain by getting { - dependencies { - api(project(":appyx-interactions:appyx-interactions")) - api(compose.runtime) - api(compose.foundation) - api(compose.material) - } - } - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - } - } - val androidUnitTest by getting { - dependencies { - implementation(libs.junit) - } - } - val desktopMain by getting - val iosX64Main by getting - val iosArm64Main by getting - val iosSimulatorArm64Main by getting - val iosMain by creating { - dependsOn(commonMain) - iosX64Main.dependsOn(this) - iosArm64Main.dependsOn(this) - iosSimulatorArm64Main.dependsOn(this) - } - } -} - -dependencies { - add("kspCommonMainMetadata", project(":ksp:appyx-processor")) - add("kspAndroid", project(":ksp:appyx-processor")) - add("kspDesktop", project(":ksp:appyx-processor")) - add("kspJs", project(":ksp:appyx-processor")) - add("kspIosArm64", project(":ksp:appyx-processor")) - add("kspIosX64", project(":ksp:appyx-processor")) - add("kspIosSimulatorArm64", project(":ksp:appyx-processor")) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/Modal.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/Modal.kt deleted file mode 100644 index 018942362..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/Modal.kt +++ /dev/null @@ -1,42 +0,0 @@ -package com.bumble.appyx.components.modal - -import androidx.compose.animation.core.AnimationSpec -import androidx.compose.animation.core.spring -import com.bumble.appyx.components.modal.backpresshandler.RevertBackPressHandler -import com.bumble.appyx.interactions.core.model.BaseAppyxComponent -import com.bumble.appyx.interactions.core.model.backpresshandlerstrategies.BackPressHandlerStrategy -import com.bumble.appyx.interactions.core.ui.Visualisation -import com.bumble.appyx.interactions.core.ui.context.TransitionBounds -import com.bumble.appyx.interactions.core.ui.context.UiContext -import com.bumble.appyx.interactions.core.ui.gesture.GestureFactory -import com.bumble.appyx.interactions.core.ui.gesture.GestureSettleConfig -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.SupervisorJob - -class Modal( - scope: CoroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main), - model: ModalModel, - visualisation: (UiContext) -> Visualisation>, - gestureFactory: (TransitionBounds) -> GestureFactory> = { - GestureFactory.Noop() - }, - backPressStrategy: BackPressHandlerStrategy> = - RevertBackPressHandler(scope), - animationSpec: AnimationSpec = spring(), - gestureSettleConfig: GestureSettleConfig = GestureSettleConfig( - completionThreshold = 0.2f, - completeGestureSpec = animationSpec, - revertGestureSpec = animationSpec, - ), - disableAnimations: Boolean = false, -) : BaseAppyxComponent>( - scope = scope, - model = model, - visualisation = visualisation, - gestureFactory = gestureFactory, - backPressStrategy = backPressStrategy, - defaultAnimationSpec = animationSpec, - gestureSettleConfig = gestureSettleConfig, - disableAnimations = disableAnimations -) diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ModalModel.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ModalModel.kt deleted file mode 100644 index 949448494..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ModalModel.kt +++ /dev/null @@ -1,55 +0,0 @@ -package com.bumble.appyx.components.modal - -import com.bumble.appyx.interactions.core.Element -import com.bumble.appyx.interactions.core.Elements -import com.bumble.appyx.interactions.core.asElement -import com.bumble.appyx.interactions.core.model.transition.BaseTransitionModel -import com.bumble.appyx.utils.multiplatform.Parcelable -import com.bumble.appyx.utils.multiplatform.Parcelize -import com.bumble.appyx.utils.multiplatform.SavedStateMap - -class ModalModel( - initialElements: List, - savedStateMap: SavedStateMap?, -) : BaseTransitionModel>( - savedStateMap = savedStateMap -) { - - @Parcelize - data class State( - /** - * Elements that have been created, but not yet moved to a modal state - */ - val created: Elements = listOf(), - - /** - * Element shown on the screen in a modal form. - */ - val modal: Element? = null, - - /** - * Element shown on the screen in a full screen form. - */ - val fullScreen: Element? = null, - - /** - * Elements that will be destroyed after reaching this state. - */ - val destroyed: Elements = listOf(), - ) : Parcelable - - override val initialState = State( - created = initialElements.dropLast(1).map { it.asElement() }, - modal = initialElements.last().asElement() - ) - - override fun State.availableElements(): Set> = - (created + destroyed + listOfNotNull(modal, fullScreen)).toSet() - - override fun State.removeDestroyedElement(element: Element) = - copy(destroyed = destroyed.filterNot { it == element }) - - override fun State.removeDestroyedElements() = copy(destroyed = emptyList()) - - override fun State.destroyedElements() = destroyed.toSet() -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/backpresshandler/RevertBackPressHandler.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/backpresshandler/RevertBackPressHandler.kt deleted file mode 100644 index 0e96ad57b..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/backpresshandler/RevertBackPressHandler.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.bumble.appyx.components.modal.backpresshandler - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.components.modal.operation.Revert -import com.bumble.appyx.interactions.core.model.backpresshandlerstrategies.BaseBackPressHandlerStrategy -import com.bumble.appyx.mapState -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.StateFlow - -class RevertBackPressHandler( - private val scope: CoroutineScope, - val animationSpec: AnimationSpec? = null -) : BaseBackPressHandlerStrategy>() { - - override val canHandleBackPress: StateFlow by lazy { - transitionModel.output.mapState(scope) { output -> - output.currentTargetState.fullScreen != null - } - } - - override fun handleBackPress(): Boolean { - return if (canHandleBackPress.value) { - appyxComponent.operation(operation = Revert(), animationSpec) - true - } else false - } -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Add.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Add.kt deleted file mode 100644 index a7f7cdc0c..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Add.kt +++ /dev/null @@ -1,40 +0,0 @@ -package com.bumble.appyx.components.modal.operation - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.interactions.core.asElement -import com.bumble.appyx.interactions.core.model.transition.BaseOperation -import com.bumble.appyx.interactions.core.model.transition.Operation -import com.bumble.appyx.utils.multiplatform.Parcelize -import com.bumble.appyx.utils.multiplatform.RawValue - -@Parcelize -class Add( - private val interactionTarget: @RawValue InteractionTarget, - override var mode: Operation.Mode = Operation.Mode.IMMEDIATE -) : BaseOperation>() { - - override fun isApplicable(state: ModalModel.State) = true - - override fun createFromState(baseLineState: ModalModel.State) = - baseLineState.copy( - created = baseLineState.created + interactionTarget.asElement() - ) - - override fun createTargetState(fromState: ModalModel.State) = fromState -} - -fun Modal.add( - item: InteractionTarget, - animationSpec: AnimationSpec = defaultAnimationSpec, - mode: Operation.Mode = Operation.Mode.IMMEDIATE -) { - operation( - operation = Add( - interactionTarget = item, - mode = mode - ), - animationSpec = animationSpec, - ) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Destroy.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Destroy.kt deleted file mode 100644 index e10536749..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Destroy.kt +++ /dev/null @@ -1,42 +0,0 @@ -package com.bumble.appyx.components.modal.operation - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.interactions.core.model.transition.BaseOperation -import com.bumble.appyx.interactions.core.model.transition.Operation -import com.bumble.appyx.utils.multiplatform.Parcelize - -@Parcelize -class Destroy( - override var mode: Operation.Mode = Operation.Mode.IMMEDIATE -) : BaseOperation>() { - - override fun isApplicable(state: ModalModel.State) = true - - override fun createFromState(baseLineState: ModalModel.State) = - baseLineState - - override fun createTargetState(fromState: ModalModel.State) = - fromState.copy( - created = emptyList(), - modal = null, - fullScreen = null, - destroyed = fromState.destroyed + fromState.created + listOfNotNull( - fromState.modal, - fromState.fullScreen - ), - ) -} - -fun Modal.destroyAll( - animationSpec: AnimationSpec = defaultAnimationSpec, - mode: Operation.Mode = Operation.Mode.IMMEDIATE -) { - operation( - operation = Destroy( - mode = mode - ), - animationSpec = animationSpec, - ) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Dismiss.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Dismiss.kt deleted file mode 100644 index 8d2506c9a..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Dismiss.kt +++ /dev/null @@ -1,53 +0,0 @@ -package com.bumble.appyx.components.modal.operation - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.interactions.core.model.transition.BaseOperation -import com.bumble.appyx.interactions.core.model.transition.Operation -import com.bumble.appyx.utils.multiplatform.Parcelize - -@Parcelize -class Dismiss( - override var mode: Operation.Mode = Operation.Mode.IMMEDIATE -) : BaseOperation>() { - - override fun isApplicable(state: ModalModel.State) = - state.modal != null || state.fullScreen != null - - override fun createFromState(baseLineState: ModalModel.State) = baseLineState - - override fun createTargetState(fromState: ModalModel.State) = - if (fromState.created.isNotEmpty()) { - fromState.copy( - created = fromState.created.dropLast(1), - modal = fromState.created.last(), - fullScreen = null, - destroyed = fromState.destroyed + listOfNotNull( - fromState.modal, - fromState.fullScreen - ) - ) - } else { - fromState.copy( - modal = null, - fullScreen = null, - destroyed = fromState.destroyed + listOfNotNull( - fromState.modal, - fromState.fullScreen - ) - ) - } -} - -fun Modal.dismiss( - animationSpec: AnimationSpec = defaultAnimationSpec, - mode: Operation.Mode = Operation.Mode.IMMEDIATE -) { - operation( - operation = Dismiss( - mode = mode - ), - animationSpec = animationSpec, - ) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/FullScreen.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/FullScreen.kt deleted file mode 100644 index b8b33f551..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/FullScreen.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.bumble.appyx.components.modal.operation - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.interactions.core.model.transition.BaseOperation -import com.bumble.appyx.interactions.core.model.transition.Operation -import com.bumble.appyx.utils.multiplatform.Parcelize - -@Parcelize -class FullScreen( - override var mode: Operation.Mode = Operation.Mode.IMMEDIATE -) : BaseOperation>() { - - override fun isApplicable(state: ModalModel.State) = state.modal != null - - override fun createFromState(baseLineState: ModalModel.State) = - baseLineState - - override fun createTargetState(fromState: ModalModel.State) = - fromState.copy( - modal = null, - fullScreen = fromState.modal - ) -} - -fun Modal.fullScreen( - animationSpec: AnimationSpec = defaultAnimationSpec, - mode: Operation.Mode = Operation.Mode.IMMEDIATE -) { - operation( - operation = FullScreen( - mode = mode - ), - animationSpec = animationSpec, - ) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Revert.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Revert.kt deleted file mode 100644 index 69ff3d80d..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Revert.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.bumble.appyx.components.modal.operation - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.interactions.core.model.transition.BaseOperation -import com.bumble.appyx.interactions.core.model.transition.Operation -import com.bumble.appyx.utils.multiplatform.Parcelize - -@Parcelize -class Revert( - override var mode: Operation.Mode = Operation.Mode.IMMEDIATE -) : BaseOperation>() { - - override fun isApplicable(state: ModalModel.State) = - state.fullScreen != null || state.modal != null - - override fun createFromState(baseLineState: ModalModel.State) = baseLineState - - override fun createTargetState(fromState: ModalModel.State) = - fromState.copy( - modal = fromState.fullScreen, - fullScreen = fromState.modal - ) -} - -fun Modal.revert( - animationSpec: AnimationSpec = defaultAnimationSpec, - mode: Operation.Mode = Operation.Mode.IMMEDIATE -) { - operation( - operation = Revert( - mode = mode - ), - animationSpec = animationSpec, - ) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Show.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Show.kt deleted file mode 100644 index e521fa606..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/operation/Show.kt +++ /dev/null @@ -1,39 +0,0 @@ -package com.bumble.appyx.components.modal.operation - -import androidx.compose.animation.core.AnimationSpec -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.interactions.core.model.transition.BaseOperation -import com.bumble.appyx.interactions.core.model.transition.Operation -import com.bumble.appyx.utils.multiplatform.Parcelize - -@Parcelize -class Show( - override var mode: Operation.Mode = Operation.Mode.IMMEDIATE -) : BaseOperation>() { - - override fun isApplicable(state: ModalModel.State) = - state.created.isNotEmpty() - - override fun createFromState(baseLineState: ModalModel.State) = baseLineState - - override fun createTargetState(fromState: ModalModel.State) = - fromState.copy( - created = fromState.created.dropLast(1), - modal = fromState.created.last(), - fullScreen = null, - destroyed = fromState.destroyed + listOfNotNull(fromState.modal, fromState.fullScreen) - ) -} - -fun Modal.show( - animationSpec: AnimationSpec = defaultAnimationSpec, - mode: Operation.Mode = Operation.Mode.IMMEDIATE -) { - operation( - operation = Show( - mode = mode - ), - animationSpec = animationSpec, - ) -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/ModalVisualisation.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/ModalVisualisation.kt deleted file mode 100644 index 62e67e0bd..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/ModalVisualisation.kt +++ /dev/null @@ -1,94 +0,0 @@ -package com.bumble.appyx.components.modal.ui - -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.unit.Density -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.components.modal.operation.Dismiss -import com.bumble.appyx.components.modal.operation.FullScreen -import com.bumble.appyx.components.modal.operation.Revert -import com.bumble.appyx.interactions.core.ui.context.TransitionBounds -import com.bumble.appyx.interactions.core.ui.context.UiContext -import com.bumble.appyx.interactions.core.ui.gesture.Drag -import com.bumble.appyx.interactions.core.ui.gesture.Gesture -import com.bumble.appyx.interactions.core.ui.gesture.GestureFactory -import com.bumble.appyx.interactions.core.ui.gesture.dragVerticalDirection -import com.bumble.appyx.interactions.core.ui.property.impl.Height -import com.bumble.appyx.interactions.core.ui.property.impl.position.PositionAlignment -import com.bumble.appyx.interactions.core.ui.property.impl.RoundedCorners -import com.bumble.appyx.interactions.core.ui.property.impl.position.BiasAlignment.OutsideAlignment -import com.bumble.appyx.interactions.core.ui.property.impl.position.BiasAlignment.OutsideAlignment.Companion.InContainer -import com.bumble.appyx.interactions.core.ui.state.MatchedTargetUiState -import com.bumble.appyx.transitionmodel.BaseVisualisation - -@Suppress("MagicNumber") -class ModalVisualisation( - uiContext: UiContext, -) : BaseVisualisation, TargetUiState, MutableUiState>( - uiContext = uiContext -) { - - private val createdState: TargetUiState = - TargetUiState( - height = Height.Target(0f), - positionAlignment = PositionAlignment.Target(InContainer), - corner = RoundedCorners.Target(8), - ) - private val modalState: TargetUiState = - TargetUiState( - height = Height.Target(0.5f), - positionAlignment = PositionAlignment.Target(OutsideAlignment(0f, 0.5f)), - corner = RoundedCorners.Target(8), - ) - - private val fullScreenState: TargetUiState = - TargetUiState( - height = Height.Target(1f), - positionAlignment = PositionAlignment.Target(InContainer), - corner = RoundedCorners.Target(0), - ) - - private val destroyedState: TargetUiState = - TargetUiState( - height = Height.Target(1f), - positionAlignment = PositionAlignment.Target(OutsideAlignment(0f, 1.5f)), - corner = RoundedCorners.Target(0), - ) - - override fun ModalModel.State.toUiTargets(): - List> { - return created.map { MatchedTargetUiState(it, createdState) } + - listOfNotNull(modal).map { MatchedTargetUiState(it, modalState) } + - listOfNotNull(fullScreen).map { MatchedTargetUiState(it, fullScreenState) } + - destroyed.map { MatchedTargetUiState(it, destroyedState) } - } - - override fun mutableUiStateFor( - uiContext: UiContext, - targetUiState: TargetUiState - ): MutableUiState = targetUiState.toMutableUiState(uiContext) - - class Gestures( - transitionBounds: TransitionBounds, - ) : GestureFactory> { - private val height = transitionBounds.heightPx.toFloat() - - override fun createGesture( - state: ModalModel.State, - delta: Offset, - density: Density - ): Gesture> = - when (dragVerticalDirection(delta)) { - Drag.VerticalDirection.UP -> Gesture( - operation = FullScreen(), - completeAt = Offset(0f, -height) - ) - - Drag.VerticalDirection.DOWN -> Gesture( - operation = if (state.fullScreen == null) Dismiss() else Revert(), - completeAt = Offset(0f, height) - ) - - else -> Gesture.Noop() - } - } -} diff --git a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/TargetUiState.kt b/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/TargetUiState.kt deleted file mode 100644 index d24137bf8..000000000 --- a/appyx-components/experimental/modal/common/src/commonMain/kotlin/com/bumble/appyx/components/modal/ui/TargetUiState.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.bumble.appyx.components.modal.ui - -import com.bumble.appyx.interactions.core.ui.context.UiContext -import com.bumble.appyx.interactions.core.ui.property.impl.Height -import com.bumble.appyx.interactions.core.ui.property.impl.position.PositionAlignment -import com.bumble.appyx.interactions.core.ui.property.impl.RoundedCorners -import com.bumble.appyx.interactions.core.ui.state.MutableUiStateSpecs - -@MutableUiStateSpecs -class TargetUiState( - val height: Height.Target, - val positionAlignment: PositionAlignment.Target, - val corner: RoundedCorners.Target, -) { - - fun toMutableUiState( - uiContext: UiContext - ): MutableUiState = - MutableUiState( - uiContext = uiContext, - height = Height(uiContext.coroutineScope, height), - positionAlignment = PositionAlignment(uiContext.coroutineScope, positionAlignment), - corner = RoundedCorners(uiContext.coroutineScope, corner), - ) -} diff --git a/appyx-components/stable/spotlight/common/src/androidMain/AndroidManifest.xml b/appyx-components/stable/spotlight/common/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 8072ee00d..000000000 --- a/appyx-components/stable/spotlight/common/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/appyx-components/stable/backstack/android/build.gradle.kts b/appyx-components/standard/backstack/android/build.gradle.kts similarity index 86% rename from appyx-components/stable/backstack/android/build.gradle.kts rename to appyx-components/standard/backstack/android/build.gradle.kts index 80de1b1ec..5e3df6904 100644 --- a/appyx-components/stable/backstack/android/build.gradle.kts +++ b/appyx-components/standard/backstack/android/build.gradle.kts @@ -11,7 +11,7 @@ dependencies { val composeBom = platform(libs.compose.bom) androidTestImplementation(composeBom) - androidTestImplementation(project(":appyx-components:stable:backstack:backstack")) + androidTestImplementation(project(":appyx-components:standard:backstack:backstack")) androidTestImplementation(project(":appyx-interactions:android")) androidTestImplementation(project(":appyx-interactions:appyx-interactions")) androidTestImplementation(libs.compose.ui.test.junit4) diff --git a/appyx-components/stable/backstack/android/lint-baseline.xml b/appyx-components/standard/backstack/android/lint-baseline.xml similarity index 100% rename from appyx-components/stable/backstack/android/lint-baseline.xml rename to appyx-components/standard/backstack/android/lint-baseline.xml diff --git a/appyx-components/stable/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/android/BackStackTest.kt b/appyx-components/standard/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/android/BackStackTest.kt similarity index 100% rename from appyx-components/stable/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/android/BackStackTest.kt rename to appyx-components/standard/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/android/BackStackTest.kt diff --git a/appyx-components/stable/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallaxTest.kt b/appyx-components/standard/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallaxTest.kt similarity index 100% rename from appyx-components/stable/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallaxTest.kt rename to appyx-components/standard/backstack/android/src/androidTest/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallaxTest.kt diff --git a/appyx-components/stable/backstack/common/build.gradle.kts b/appyx-components/standard/backstack/common/build.gradle.kts similarity index 100% rename from appyx-components/stable/backstack/common/build.gradle.kts rename to appyx-components/standard/backstack/common/build.gradle.kts diff --git a/appyx-components/experimental/modal/common/src/androidMain/AndroidManifest.xml b/appyx-components/standard/backstack/common/src/androidMain/AndroidManifest.xml similarity index 100% rename from appyx-components/experimental/modal/common/src/androidMain/AndroidManifest.xml rename to appyx-components/standard/backstack/common/src/androidMain/AndroidManifest.xml diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStack.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStack.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStack.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStack.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModel.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModel.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModel.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModel.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModelExt.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModelExt.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModelExt.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/BackStackModelExt.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/backpresshandler/PopBackstackStrategy.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/backpresshandler/PopBackstackStrategy.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/backpresshandler/PopBackstackStrategy.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/backpresshandler/PopBackstackStrategy.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/NewRoot.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/NewRoot.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/NewRoot.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/NewRoot.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Pop.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Pop.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Pop.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Pop.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Push.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Push.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Push.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Push.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Replace.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Replace.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Replace.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/operation/Replace.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/BackStackFader.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/BackStackFader.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/BackStackFader.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/BackStackFader.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/TargetUiState.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/TargetUiState.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/TargetUiState.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/fader/TargetUiState.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/BackStackSlider.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/BackStackSlider.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/BackStackSlider.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/BackStackSlider.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/TargetUiState.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/TargetUiState.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/TargetUiState.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/slider/TargetUiState.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/BackStack3D.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/BackStack3D.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/BackStack3D.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/BackStack3D.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/TargetUiState.kt b/appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/TargetUiState.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/TargetUiState.kt rename to appyx-components/standard/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/stack3d/TargetUiState.kt diff --git a/appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/InteractionTarget.kt b/appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/InteractionTarget.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/InteractionTarget.kt rename to appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/InteractionTarget.kt diff --git a/appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/NewRootTest.kt b/appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/NewRootTest.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/NewRootTest.kt rename to appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/NewRootTest.kt diff --git a/appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PopTest.kt b/appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PopTest.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PopTest.kt rename to appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PopTest.kt diff --git a/appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PushTest.kt b/appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PushTest.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PushTest.kt rename to appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/PushTest.kt diff --git a/appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/ReplaceTest.kt b/appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/ReplaceTest.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/ReplaceTest.kt rename to appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/operation/ReplaceTest.kt diff --git a/appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/restore/BackstackRestoreTest.kt b/appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/restore/BackstackRestoreTest.kt similarity index 100% rename from appyx-components/stable/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/restore/BackstackRestoreTest.kt rename to appyx-components/standard/backstack/common/src/commonTest/kotlin/com/bumble/appyx/components/stable/backstack/restore/BackstackRestoreTest.kt diff --git a/appyx-components/stable/spotlight/android/build.gradle.kts b/appyx-components/standard/spotlight/android/build.gradle.kts similarity index 85% rename from appyx-components/stable/spotlight/android/build.gradle.kts rename to appyx-components/standard/spotlight/android/build.gradle.kts index a7f84f7a4..e54bb673d 100644 --- a/appyx-components/stable/spotlight/android/build.gradle.kts +++ b/appyx-components/standard/spotlight/android/build.gradle.kts @@ -14,7 +14,7 @@ dependencies { androidTestImplementation(composeBom) - androidTestImplementation(project(":appyx-components:stable:spotlight:spotlight")) + androidTestImplementation(project(":appyx-components:standard:spotlight:spotlight")) androidTestImplementation(project(":appyx-interactions:android")) androidTestImplementation(libs.compose.ui.test.junit4) androidTestImplementation(libs.junit.api) diff --git a/appyx-components/stable/spotlight/android/lint-baseline.xml b/appyx-components/standard/spotlight/android/lint-baseline.xml similarity index 100% rename from appyx-components/stable/spotlight/android/lint-baseline.xml rename to appyx-components/standard/spotlight/android/lint-baseline.xml diff --git a/appyx-components/stable/spotlight/android/screenshots/SpotlightViewpointTest_when_keyframe_operation_then_scroll_using_viewpoint.png b/appyx-components/standard/spotlight/android/screenshots/SpotlightViewpointTest_when_keyframe_operation_then_scroll_using_viewpoint.png similarity index 100% rename from appyx-components/stable/spotlight/android/screenshots/SpotlightViewpointTest_when_keyframe_operation_then_scroll_using_viewpoint.png rename to appyx-components/standard/spotlight/android/screenshots/SpotlightViewpointTest_when_keyframe_operation_then_scroll_using_viewpoint.png diff --git a/appyx-components/stable/spotlight/android/screenshots/SpotlightViewpointTest_when_update__operation_then_scroll_using_viewpoint.png b/appyx-components/standard/spotlight/android/screenshots/SpotlightViewpointTest_when_update__operation_then_scroll_using_viewpoint.png similarity index 100% rename from appyx-components/stable/spotlight/android/screenshots/SpotlightViewpointTest_when_update__operation_then_scroll_using_viewpoint.png rename to appyx-components/standard/spotlight/android/screenshots/SpotlightViewpointTest_when_update__operation_then_scroll_using_viewpoint.png diff --git a/appyx-components/stable/spotlight/android/src/androidTest/AndroidManifest.xml b/appyx-components/standard/spotlight/android/src/androidTest/AndroidManifest.xml similarity index 100% rename from appyx-components/stable/spotlight/android/src/androidTest/AndroidManifest.xml rename to appyx-components/standard/spotlight/android/src/androidTest/AndroidManifest.xml diff --git a/appyx-components/stable/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightTest.kt b/appyx-components/standard/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightTest.kt similarity index 100% rename from appyx-components/stable/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightTest.kt rename to appyx-components/standard/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightTest.kt diff --git a/appyx-components/stable/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightViewpointTest.kt b/appyx-components/standard/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightViewpointTest.kt similarity index 100% rename from appyx-components/stable/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightViewpointTest.kt rename to appyx-components/standard/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/SpotlightViewpointTest.kt diff --git a/appyx-components/stable/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/utils/SpotlightUtils.kt b/appyx-components/standard/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/utils/SpotlightUtils.kt similarity index 100% rename from appyx-components/stable/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/utils/SpotlightUtils.kt rename to appyx-components/standard/spotlight/android/src/androidTest/kotlin/com/bumble/appyx/components/spotlight/android/utils/SpotlightUtils.kt diff --git a/appyx-components/stable/spotlight/common/build.gradle.kts b/appyx-components/standard/spotlight/common/build.gradle.kts similarity index 100% rename from appyx-components/stable/spotlight/common/build.gradle.kts rename to appyx-components/standard/spotlight/common/build.gradle.kts diff --git a/appyx-components/stable/backstack/common/src/androidMain/AndroidManifest.xml b/appyx-components/standard/spotlight/common/src/androidMain/AndroidManifest.xml similarity index 100% rename from appyx-components/stable/backstack/common/src/androidMain/AndroidManifest.xml rename to appyx-components/standard/spotlight/common/src/androidMain/AndroidManifest.xml diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/Spotlight.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/Spotlight.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/Spotlight.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/Spotlight.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/SpotlightModel.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/SpotlightModel.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/SpotlightModel.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/SpotlightModel.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Activate.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Activate.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Activate.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Activate.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/First.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/First.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/First.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/First.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Last.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Last.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Last.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Last.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Next.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Next.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Next.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Next.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Previous.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Previous.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Previous.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/Previous.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElements.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElements.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElements.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElements.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/SpotlightFader.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/SpotlightFader.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/SpotlightFader.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/SpotlightFader.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/TargetUiState.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/TargetUiState.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/TargetUiState.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/fader/TargetUiState.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/SpotlightSlider.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/SpotlightSlider.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/SpotlightSlider.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/SpotlightSlider.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/TargetUiState.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/TargetUiState.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/TargetUiState.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/slider/TargetUiState.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/SpotlightSliderRotation.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/SpotlightSliderRotation.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/SpotlightSliderRotation.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/SpotlightSliderRotation.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/TargetUiState.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/TargetUiState.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/TargetUiState.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderrotation/TargetUiState.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/SpotlightSliderScale.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/SpotlightSliderScale.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/SpotlightSliderScale.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/SpotlightSliderScale.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/TargetUiState.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/TargetUiState.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/TargetUiState.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/sliderscale/TargetUiState.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/SpotlightStack3D.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/SpotlightStack3D.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/SpotlightStack3D.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/SpotlightStack3D.kt diff --git a/appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/TargetUiState.kt b/appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/TargetUiState.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/TargetUiState.kt rename to appyx-components/standard/spotlight/common/src/commonMain/kotlin/com/bumble/appyx/components/spotlight/ui/stack3d/TargetUiState.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/InteractionTarget.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/InteractionTarget.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/InteractionTarget.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/InteractionTarget.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/model/SpotlightModelTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/model/SpotlightModelTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/model/SpotlightModelTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/model/SpotlightModelTest.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/ActivateTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/ActivateTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/ActivateTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/ActivateTest.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/FirstTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/FirstTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/FirstTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/FirstTest.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/LastTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/LastTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/LastTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/LastTest.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/NextTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/NextTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/NextTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/NextTest.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/PreviousTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/PreviousTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/PreviousTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/PreviousTest.kt diff --git a/appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElementsTest.kt b/appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElementsTest.kt similarity index 100% rename from appyx-components/stable/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElementsTest.kt rename to appyx-components/standard/spotlight/common/src/commonTest/kotlin/com/bumble/appyx/components/spotlight/operation/UpdateElementsTest.kt diff --git a/demos/appyx-interactions/android/build.gradle.kts b/demos/appyx-interactions/android/build.gradle.kts index 49fa2d055..d6244e7fd 100644 --- a/demos/appyx-interactions/android/build.gradle.kts +++ b/demos/appyx-interactions/android/build.gradle.kts @@ -16,9 +16,8 @@ dependencies { implementation(composeBom) implementation(project(":appyx-interactions:android")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":appyx-components:experimental:cards:android")) - implementation(project(":appyx-components:experimental:modal:modal")) implementation(project(":appyx-components:experimental:puzzle15:android")) implementation(project(":appyx-components:internal:test-drive:android")) implementation(project(":utils:utils-material3")) diff --git a/demos/appyx-interactions/android/src/main/kotlin/com/bumble/appyx/interactions/sample/ModalExperiment.kt b/demos/appyx-interactions/android/src/main/kotlin/com/bumble/appyx/interactions/sample/ModalExperiment.kt deleted file mode 100644 index 601249408..000000000 --- a/demos/appyx-interactions/android/src/main/kotlin/com/bumble/appyx/interactions/sample/ModalExperiment.kt +++ /dev/null @@ -1,99 +0,0 @@ -package com.bumble.appyx.interactions.sample - -import androidx.compose.animation.core.spring -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding -import androidx.compose.material.Button -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.platform.LocalConfiguration -import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.unit.dp -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.components.modal.operation.add -import com.bumble.appyx.components.modal.operation.show -import com.bumble.appyx.components.modal.ui.ModalVisualisation -import com.bumble.appyx.interactions.core.AppyxInteractionsContainer -import com.bumble.appyx.interactions.core.ui.context.UiContext -import com.bumble.appyx.interactions.core.ui.gesture.GestureSettleConfig -import com.bumble.appyx.interactions.core.ui.helper.AppyxComponentSetup -import com.bumble.appyx.interactions.sample.android.Element -import com.bumble.appyx.interactions.theme.appyx_dark -import com.bumble.appyx.transitionmodel.BaseVisualisation -import kotlin.math.roundToInt -import com.bumble.appyx.interactions.sample.InteractionTarget as Target - -@ExperimentalMaterialApi -@Composable -@Suppress("LongMethod", "MagicNumber") -fun ModalExperiment( - modifier: Modifier = Modifier, - visualisation: (UiContext) -> BaseVisualisation, *, *> -) { - val items = listOf(Target.Child1) - val modal = Modal( - model = ModalModel( - initialElements = items, - savedStateMap = null - ), - visualisation = visualisation, - gestureFactory = { ModalVisualisation.Gestures(it) }, - gestureSettleConfig = GestureSettleConfig( - completionThreshold = 0.2f, - completeGestureSpec = spring(), - revertGestureSpec = spring(), - ), - ) - - AppyxComponentSetup(modal) - - Column( - modifier - .fillMaxWidth() - .background(appyx_dark) - ) { - ModalUi( - modal = modal, - modifier = Modifier - .padding(horizontal = 4.dp, vertical = 4.dp) - .weight(0.9f) - ) - - Button( - modifier = Modifier - .weight(0.1f) - .padding(horizontal = 42.dp, vertical = 12.dp) - .fillMaxWidth(), - onClick = { - modal.add(Target.Child2) - modal.show() - }) { Text(text = "New modal") } - } -} - -@Composable -fun ModalUi( - modal: Modal, - modifier: Modifier = Modifier, - color: Color = Color.Unspecified -) { - AppyxInteractionsContainer( - screenWidthPx = (LocalConfiguration.current.screenWidthDp * LocalDensity.current.density).roundToInt(), - screenHeightPx = (LocalConfiguration.current.screenHeightDp * LocalDensity.current.density).roundToInt(), - clipToBounds = false, - appyxComponent = modal, - modifier = modifier, - elementUi = { element -> - Element( - color = color, - element = element - ) - } - ) -} diff --git a/demos/appyx-interactions/desktop/build.gradle.kts b/demos/appyx-interactions/desktop/build.gradle.kts index ec61a8413..440e0adf3 100644 --- a/demos/appyx-interactions/desktop/build.gradle.kts +++ b/demos/appyx-interactions/desktop/build.gradle.kts @@ -16,7 +16,7 @@ kotlin { val commonMain by getting { dependencies { implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) api(compose.runtime) api(compose.foundation) api(compose.material) diff --git a/demos/appyx-interactions/ios/build.gradle.kts b/demos/appyx-interactions/ios/build.gradle.kts index 613555cb8..b6fd87a05 100644 --- a/demos/appyx-interactions/ios/build.gradle.kts +++ b/demos/appyx-interactions/ios/build.gradle.kts @@ -39,8 +39,8 @@ kotlin { implementation(compose.material) @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) implementation(compose.components.resources) - implementation(project(":appyx-components:stable:spotlight:spotlight")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) + implementation(project(":appyx-components:standard:backstack:backstack")) } } } diff --git a/demos/appyx-navigation/android/build.gradle.kts b/demos/appyx-navigation/android/build.gradle.kts index 3f0b2a945..599f3b276 100644 --- a/demos/appyx-navigation/android/build.gradle.kts +++ b/demos/appyx-navigation/android/build.gradle.kts @@ -41,7 +41,7 @@ dependencies { implementation(composeBom) implementation(project(":demos:appyx-navigation:common")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(libs.androidx.activity.compose) implementation(libs.androidx.appcompat) diff --git a/demos/appyx-navigation/common/build.gradle.kts b/demos/appyx-navigation/common/build.gradle.kts index a8485056b..1d23e8f3b 100644 --- a/demos/appyx-navigation/common/build.gradle.kts +++ b/demos/appyx-navigation/common/build.gradle.kts @@ -40,10 +40,9 @@ kotlin { api(project(":utils:utils-multiplatform")) api(project(":demos:image-loader:image-loader")) implementation(project(":appyx-components:experimental:cards:cards")) - implementation(project(":appyx-components:experimental:modal:modal")) implementation(project(":appyx-components:experimental:promoter:promoter")) - implementation(project(":appyx-components:stable:backstack:backstack")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:backstack:backstack")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) } } val commonTest by getting { diff --git a/demos/appyx-navigation/desktop/build.gradle.kts b/demos/appyx-navigation/desktop/build.gradle.kts index fdbc1e365..461d1cea4 100644 --- a/demos/appyx-navigation/desktop/build.gradle.kts +++ b/demos/appyx-navigation/desktop/build.gradle.kts @@ -19,7 +19,7 @@ kotlin { implementation(project(":demos:appyx-navigation:common")) implementation(project(":appyx-interactions:appyx-interactions")) implementation(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) api(compose.runtime) api(compose.foundation) api(compose.material) diff --git a/demos/appyx-navigation/web/build.gradle.kts b/demos/appyx-navigation/web/build.gradle.kts index 39ef2c234..d4fa3ec95 100644 --- a/demos/appyx-navigation/web/build.gradle.kts +++ b/demos/appyx-navigation/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { implementation(project(":demos:appyx-navigation:common")) implementation(project(":appyx-interactions:appyx-interactions")) implementation(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(project(":demos:mkdocs:appyx-components:common")) implementation(project(":demos:mkdocs:common")) api(compose.runtime) diff --git a/demos/mkdocs/appyx-components/backstack/fader/web/build.gradle.kts b/demos/mkdocs/appyx-components/backstack/fader/web/build.gradle.kts index 36fac4814..82e3a6a71 100644 --- a/demos/mkdocs/appyx-components/backstack/fader/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/backstack/fader/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/backstack/parallax/web/build.gradle.kts b/demos/mkdocs/appyx-components/backstack/parallax/web/build.gradle.kts index 0743c0497..5f407941d 100644 --- a/demos/mkdocs/appyx-components/backstack/parallax/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/backstack/parallax/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/backstack/slider/web/build.gradle.kts b/demos/mkdocs/appyx-components/backstack/slider/web/build.gradle.kts index aa9623316..d48bc8e78 100644 --- a/demos/mkdocs/appyx-components/backstack/slider/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/backstack/slider/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/backstack/stack3d/web/build.gradle.kts b/demos/mkdocs/appyx-components/backstack/stack3d/web/build.gradle.kts index ae3040177..fc9946580 100644 --- a/demos/mkdocs/appyx-components/backstack/stack3d/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/backstack/stack3d/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/spotlight/fader/web/build.gradle.kts b/demos/mkdocs/appyx-components/spotlight/fader/web/build.gradle.kts index b22d05a28..89894921e 100644 --- a/demos/mkdocs/appyx-components/spotlight/fader/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/spotlight/fader/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/spotlight/slider/web/build.gradle.kts b/demos/mkdocs/appyx-components/spotlight/slider/web/build.gradle.kts index 546de2704..0626d9ca4 100644 --- a/demos/mkdocs/appyx-components/spotlight/slider/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/spotlight/slider/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/spotlight/sliderrotation/web/build.gradle.kts b/demos/mkdocs/appyx-components/spotlight/sliderrotation/web/build.gradle.kts index 8119c1ade..b08345ee8 100644 --- a/demos/mkdocs/appyx-components/spotlight/sliderrotation/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/spotlight/sliderrotation/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/spotlight/sliderscale/web/build.gradle.kts b/demos/mkdocs/appyx-components/spotlight/sliderscale/web/build.gradle.kts index 4ba7ecf4a..c58816d23 100644 --- a/demos/mkdocs/appyx-components/spotlight/sliderscale/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/spotlight/sliderscale/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-components/spotlight/stack3d/web/build.gradle.kts b/demos/mkdocs/appyx-components/spotlight/stack3d/web/build.gradle.kts index 74aa35e2c..27eaa27ad 100644 --- a/demos/mkdocs/appyx-components/spotlight/stack3d/web/build.gradle.kts +++ b/demos/mkdocs/appyx-components/spotlight/stack3d/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/mkdocs/appyx-interactions/interactions/observemp/web/build.gradle.kts b/demos/mkdocs/appyx-interactions/interactions/observemp/web/build.gradle.kts index 7b015b19e..b34f2c892 100644 --- a/demos/mkdocs/appyx-interactions/interactions/observemp/web/build.gradle.kts +++ b/demos/mkdocs/appyx-interactions/interactions/observemp/web/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { api(compose.foundation) api(compose.material) implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) implementation(project(":demos:mkdocs:appyx-components:common")) } } diff --git a/demos/navigation-compose/build.gradle.kts b/demos/navigation-compose/build.gradle.kts index bdd8b0452..ea90ad349 100644 --- a/demos/navigation-compose/build.gradle.kts +++ b/demos/navigation-compose/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { val composeBom = platform(libs.compose.bom) implementation(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) implementation(composeBom) implementation(libs.androidx.navigation.compose) diff --git a/demos/sandbox-appyx-navigation/common/build.gradle.kts b/demos/sandbox-appyx-navigation/common/build.gradle.kts index ee8764d5f..5762b9f39 100644 --- a/demos/sandbox-appyx-navigation/common/build.gradle.kts +++ b/demos/sandbox-appyx-navigation/common/build.gradle.kts @@ -39,10 +39,9 @@ kotlin { api(project(":utils:utils-customisations")) api(project(":utils:utils-multiplatform")) implementation(project(":appyx-components:experimental:cards:cards")) - implementation(project(":appyx-components:experimental:modal:modal")) implementation(project(":appyx-components:experimental:promoter:promoter")) - implementation(project(":appyx-components:stable:backstack:backstack")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:backstack:backstack")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) } } val commonTest by getting { diff --git a/demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/container/ContainerNode.kt b/demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/container/ContainerNode.kt deleted file mode 100644 index ee59e23be..000000000 --- a/demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/container/ContainerNode.kt +++ /dev/null @@ -1,133 +0,0 @@ -package com.bumble.appyx.demos.sandbox.navigation.node.container - -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.verticalScroll -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.dp -import com.bumble.appyx.components.backstack.BackStack -import com.bumble.appyx.components.backstack.BackStackModel -import com.bumble.appyx.components.backstack.operation.push -import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider -import com.bumble.appyx.demos.sandbox.navigation.node.backstack.BackStackExamplesNode -import com.bumble.appyx.demos.sandbox.navigation.node.container.ContainerNode.NavTarget -import com.bumble.appyx.demos.sandbox.navigation.node.modal.ModalExamplesNode -import com.bumble.appyx.demos.sandbox.navigation.node.permanentchild.PermanentChildNode -import com.bumble.appyx.demos.sandbox.navigation.node.promoter.PromoterNode -import com.bumble.appyx.demos.sandbox.navigation.node.spotlight.SpotlightNode -import com.bumble.appyx.demos.sandbox.navigation.node.spotlight.SpotlightObserveTransitionsExampleNode -import com.bumble.appyx.demos.sandbox.navigation.ui.TextButton -import com.bumble.appyx.navigation.composable.AppyxNavigationContainer -import com.bumble.appyx.navigation.modality.NodeContext -import com.bumble.appyx.navigation.node.Node -import com.bumble.appyx.navigation.node.node -import com.bumble.appyx.utils.multiplatform.Parcelable -import com.bumble.appyx.utils.multiplatform.Parcelize - -class ContainerNode( - nodeContext: NodeContext, - private val backStack: BackStack = BackStack( - model = BackStackModel( - initialTargets = listOf(NavTarget.Selector), - savedStateMap = nodeContext.savedStateMap, - ), - visualisation = { BackStackSlider(it) } - ) - -) : Node( - nodeContext = nodeContext, - appyxComponent = backStack -) { - sealed class NavTarget : Parcelable { - @Parcelize - object Selector : NavTarget() - - @Parcelize - object PermanentChild : NavTarget() - - @Parcelize - object SpotlightExperiment : NavTarget() - - @Parcelize - object ObservingTransitionsExample : NavTarget() - - @Parcelize - object BackStack : NavTarget() - - @Parcelize - object Modal : NavTarget() - - @Parcelize - object PromoterExperiment : NavTarget() - } - - - override fun buildChildNode(navTarget: NavTarget, nodeContext: NodeContext): Node<*> = - when (navTarget) { - is NavTarget.Selector -> node(nodeContext) { modifier -> - Selector(modifier) - } - - is NavTarget.PermanentChild -> PermanentChildNode(nodeContext) - is NavTarget.SpotlightExperiment -> SpotlightNode(nodeContext) - is NavTarget.ObservingTransitionsExample -> SpotlightObserveTransitionsExampleNode( - nodeContext - ) - - is NavTarget.BackStack -> BackStackExamplesNode(nodeContext) - is NavTarget.Modal -> ModalExamplesNode(nodeContext) - is NavTarget.PromoterExperiment -> PromoterNode(nodeContext) - } - - - @Composable - private fun Selector(modifier: Modifier = Modifier) { - val scrollState = rememberScrollState() - Box( - modifier = modifier - .fillMaxSize() - .verticalScroll(scrollState) - .padding(24.dp), - contentAlignment = Alignment.Center - ) { - Column( - verticalArrangement = Arrangement.spacedBy(24.dp), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - TextButton(text = "Spotlight") { - backStack.push(NavTarget.SpotlightExperiment) - } - TextButton(text = "Observe transitions example") { - backStack.push(NavTarget.ObservingTransitionsExample) - } - TextButton(text = "Backstack Examples") { - backStack.push(NavTarget.BackStack) - } - TextButton(text = "Promoter") { - backStack.push(NavTarget.PromoterExperiment) - } - TextButton(text = "Permanent Child") { - backStack.push(NavTarget.PermanentChild) - } - TextButton(text = "Modal") { - backStack.push(NavTarget.Modal) - } - } - } - } - - @Composable - override fun Content(modifier: Modifier) { - AppyxNavigationContainer( - appyxComponent = backStack, - modifier = modifier - .fillMaxSize() - ) - } -} diff --git a/demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/modal/ModalExamplesNode.kt b/demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/modal/ModalExamplesNode.kt deleted file mode 100644 index 1867ba817..000000000 --- a/demos/sandbox-appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/demos/sandbox/navigation/node/modal/ModalExamplesNode.kt +++ /dev/null @@ -1,130 +0,0 @@ -package com.bumble.appyx.demos.sandbox.navigation.node.modal - -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.dp -import com.bumble.appyx.components.modal.Modal -import com.bumble.appyx.components.modal.ModalModel -import com.bumble.appyx.components.modal.operation.add -import com.bumble.appyx.components.modal.operation.fullScreen -import com.bumble.appyx.components.modal.operation.revert -import com.bumble.appyx.components.modal.operation.show -import com.bumble.appyx.components.modal.ui.ModalVisualisation -import com.bumble.appyx.demos.sandbox.navigation.colors -import com.bumble.appyx.demos.sandbox.navigation.node.modal.ModalExamplesNode.NavTarget -import com.bumble.appyx.demos.sandbox.navigation.ui.TextButton -import com.bumble.appyx.demos.sandbox.navigation.ui.appyx_dark -import com.bumble.appyx.navigation.composable.AppyxNavigationContainer -import com.bumble.appyx.navigation.modality.NodeContext -import com.bumble.appyx.navigation.node.Node -import com.bumble.appyx.navigation.node.node -import com.bumble.appyx.utils.multiplatform.Parcelable -import com.bumble.appyx.utils.multiplatform.Parcelize -import kotlin.random.Random - - -class ModalExamplesNode( - nodeContext: NodeContext, - private val modal: Modal = Modal( - model = ModalModel( - initialElements = listOf(NavTarget.Child), - savedStateMap = nodeContext.savedStateMap - ), - visualisation = { ModalVisualisation(it) } - ) -) : Node( - nodeContext = nodeContext, - appyxComponent = modal -) { - - sealed class NavTarget : Parcelable { - @Parcelize - object Child : NavTarget() - } - - override fun buildChildNode(navTarget: NavTarget, nodeContext: NodeContext): Node<*> = - when (navTarget) { - is NavTarget.Child -> node(nodeContext) { - val backgroundColor = remember { colors.shuffled().random() } - - Box( - modifier = Modifier - .fillMaxSize() - .background(backgroundColor) - ) { - Text( - modifier = Modifier.align(Alignment.Center), - text = Random.nextInt(0, 100).toString(), - fontWeight = FontWeight.ExtraBold - ) - } - } - } - - @Composable - override fun Content(modifier: Modifier) { - Column( - modifier = modifier - .fillMaxSize() - .background(appyx_dark), - verticalArrangement = Arrangement.Bottom - ) { - AppyxNavigationContainer( - appyxComponent = modal, - modifier = Modifier - .fillMaxSize() - .weight(0.9f) - ) - Row( - modifier = Modifier - .weight(0.1f) - .fillMaxWidth() - .padding(horizontal = 16.dp), - horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically - ) { - TextButton( - text = "Add", - modifier = Modifier - .padding(horizontal = 4.dp), - ) { - modal.add(NavTarget.Child) - } - TextButton( - text = "Show", - modifier = Modifier - .padding(horizontal = 4.dp), - ) { - modal.show() - } - TextButton( - text = "Full", - modifier = Modifier - .padding(horizontal = 4.dp), - ) { - modal.fullScreen() - } - TextButton( - text = "Revert", - modifier = Modifier - .padding(horizontal = 4.dp), - ) { - modal.revert() - } - } - } - } -} - diff --git a/demos/sandbox-appyx-navigation/desktop/build.gradle.kts b/demos/sandbox-appyx-navigation/desktop/build.gradle.kts index 229f334bf..64af5e3db 100644 --- a/demos/sandbox-appyx-navigation/desktop/build.gradle.kts +++ b/demos/sandbox-appyx-navigation/desktop/build.gradle.kts @@ -19,7 +19,7 @@ kotlin { implementation(project(":demos:sandbox-appyx-navigation:common")) implementation(project(":appyx-interactions:appyx-interactions")) implementation(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) api(compose.runtime) api(compose.foundation) api(compose.material) diff --git a/demos/sandbox-appyx-navigation/web/build.gradle.kts b/demos/sandbox-appyx-navigation/web/build.gradle.kts index 7e3baeb63..6d7ea56ed 100644 --- a/demos/sandbox-appyx-navigation/web/build.gradle.kts +++ b/demos/sandbox-appyx-navigation/web/build.gradle.kts @@ -16,7 +16,7 @@ kotlin { implementation(project(":demos:sandbox-appyx-navigation:common")) implementation(project(":appyx-interactions:appyx-interactions")) implementation(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-components:standard:backstack:backstack")) api(compose.runtime) api(compose.foundation) api(compose.material) diff --git a/settings.gradle.kts b/settings.gradle.kts index 03bcb2d8d..207e2c844 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -25,15 +25,14 @@ dependencyResolutionManagement { } include( - ":appyx-components:stable:backstack:android", - ":appyx-components:stable:backstack:common", - ":appyx-components:stable:spotlight:android", - ":appyx-components:stable:spotlight:common", + ":appyx-components:standard:backstack:android", + ":appyx-components:standard:backstack:common", + ":appyx-components:standard:spotlight:android", + ":appyx-components:standard:spotlight:common", ":appyx-components:internal:test-drive:android", ":appyx-components:internal:test-drive:common", ":appyx-components:experimental:cards:android", ":appyx-components:experimental:cards:common", - ":appyx-components:experimental:modal:common", ":appyx-components:experimental:promoter:android", ":appyx-components:experimental:promoter:common", ":appyx-components:experimental:puzzle15:android", @@ -98,10 +97,9 @@ include( // do not remove this. Otherwise all multiplatform modules will produce clashing artifacts project(":appyx-interactions:common").name = "appyx-interactions" project(":appyx-navigation:common").name = "appyx-navigation" -project(":appyx-components:stable:backstack:common").name = "backstack" -project(":appyx-components:stable:spotlight:common").name = "spotlight" +project(":appyx-components:standard:backstack:common").name = "backstack" +project(":appyx-components:standard:spotlight:common").name = "spotlight" project(":appyx-components:experimental:cards:common").name = "cards" -project(":appyx-components:experimental:modal:common").name = "modal" project(":appyx-components:experimental:promoter:common").name = "promoter" project(":appyx-components:experimental:puzzle15:common").name = "puzzle15" project(":appyx-components:experimental:puzzle15:web").name = "puzzle15-web" diff --git a/utils/material3/build.gradle.kts b/utils/material3/build.gradle.kts index 4045a4a72..2a7d0914d 100644 --- a/utils/material3/build.gradle.kts +++ b/utils/material3/build.gradle.kts @@ -35,7 +35,7 @@ kotlin { api(compose.foundation) api(compose.material3) api(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:standard:spotlight:spotlight")) } } val androidMain by getting