Skip to content

Merge extensions-compose-experimental module into extensions-compose#1008

Merged
arkivanov merged 1 commit into
v4from
07-03-merge_extensions-compose-experimental_module_into_extensions-compose
Jul 4, 2026
Merged

Merge extensions-compose-experimental module into extensions-compose#1008
arkivanov merged 1 commit into
v4from
07-03-merge_extensions-compose-experimental_module_into_extensions-compose

Conversation

@arkivanov

@arkivanov arkivanov commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added stable Compose APIs for child stacks, child panels, and stack animations.
    • New animation options include fade, scale, slide, and combinators for composing animations.
    • Added support for predictive back gestures and customizable panel layouts.
  • Bug Fixes

    • Moved Compose extension imports and package names from experimental to stable paths, so apps can use the non-experimental APIs consistently.
  • Chores

    • Updated sample apps and tests to use the new stable Compose extension APIs.

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6f1e03a3-5901-4467-911c-7b26e2d522d3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • ✅ Review completed - (🔄 Check again to review again)
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 07-03-merge_extensions-compose-experimental_module_into_extensions-compose

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@arkivanov arkivanov marked this pull request as ready for review July 3, 2026 23:08
@arkivanov arkivanov force-pushed the 07-03-removed_legacy_children_composable_api branch from 658550d to 7c90b80 Compare July 3, 2026 23:16
@arkivanov arkivanov force-pushed the 07-03-merge_extensions-compose-experimental_module_into_extensions-compose branch from fbbb2f7 to ca61994 Compare July 3, 2026 23:16
@arkivanov arkivanov force-pushed the 07-03-removed_legacy_children_composable_api branch from 7c90b80 to 12df5ef Compare July 3, 2026 23:18
@arkivanov arkivanov force-pushed the 07-03-merge_extensions-compose-experimental_module_into_extensions-compose branch from ca61994 to 08adf12 Compare July 3, 2026 23:19
@arkivanov arkivanov changed the base branch from 07-03-removed_legacy_children_composable_api to graphite-base/1008 July 3, 2026 23:22
@arkivanov arkivanov force-pushed the 07-03-merge_extensions-compose-experimental_module_into_extensions-compose branch from 08adf12 to b1335be Compare July 3, 2026 23:22
@graphite-app graphite-app Bot changed the base branch from graphite-base/1008 to v4 July 3, 2026 23:23
@arkivanov arkivanov force-pushed the 07-03-merge_extensions-compose-experimental_module_into_extensions-compose branch from b1335be to c19de5b Compare July 3, 2026 23:23

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/panels/ChildPanels.kt`:
- Around line 1-15: The compose documentation imports are still pointing to the
experimental panels APIs, so update the examples to use the stable packages
instead. In the docs section that references ChildPanels and
ChildPanelsAnimators, switch imports from the experimental namespace to
com.arkivanov.decompose.extensions.compose.panels for ChildPanels and
com.arkivanov.decompose.extensions.compose.stack.animation for
ChildPanelsAnimators, matching the current symbols exposed in ChildPanels and
related animation APIs.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e469923b-0738-44d2-b496-24a8433dc8a4

📥 Commits

Reviewing files that changed from the base of the PR and between 657c6bc and c19de5b.

📒 Files selected for processing (45)
  • extensions-compose-experimental/.gitignore
  • extensions-compose-experimental/api/android/extensions-compose-experimental.api
  • extensions-compose-experimental/api/extensions-compose-experimental.klib.api
  • extensions-compose-experimental/api/jvm/extensions-compose-experimental.api
  • extensions-compose-experimental/build.gradle.kts
  • extensions-compose-experimental/dependencies/androidReleaseRuntimeClasspath.txt
  • extensions-compose/api/android/extensions-compose.api
  • extensions-compose/api/extensions-compose.klib.api
  • extensions-compose/api/jvm/extensions-compose.api
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/BroadcastBackHandler.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/Utils.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/panels/ChildPanels.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/panels/ChildPanelsAnimators.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/panels/ChildPanelsLayout.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/panels/HorizontalChildPanelsLayout.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/ChildStack.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/SimpleStackAnimationScope.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/Utils.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/DefaultStackAnimation.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/DefaultStackAnimator.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/EmptyStackAnimation.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/Fade.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/PredictiveBackParams.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/Scale.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/Slide.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimation.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimationProvider.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimationScope.kt
  • extensions-compose/src/commonMain/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimator.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/TestUtils.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/Utils.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/ChildStackTest.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/DefaultStackAnimationTest.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/GetFadeAlphaTest.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/PredictiveBackGestureTest.kt
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimationDirectionsTest.kt
  • sample/shared/compose/build.gradle.kts
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/counters/CountersContent.kt
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/dynamicfeatures/DynamicFeaturesContent.kt
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/dynamicfeatures/dynamicfeature/DynamicFeatureContent.kt
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/multipane/MultiPaneContent.kt
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/root/RootContent.kt
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/sharedtransitions/SharedTransitionsContent.kt
  • sample/shared/compose/src/commonMain/kotlin/com/arkivanov/sample/shared/tabs/TabsContent.kt
  • settings.gradle.kts
💤 Files with no reviewable changes (9)
  • extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/Utils.kt
  • extensions-compose-experimental/.gitignore
  • extensions-compose-experimental/dependencies/androidReleaseRuntimeClasspath.txt
  • extensions-compose-experimental/build.gradle.kts
  • sample/shared/compose/build.gradle.kts
  • extensions-compose-experimental/api/jvm/extensions-compose-experimental.api
  • settings.gradle.kts
  • extensions-compose-experimental/api/android/extensions-compose-experimental.api
  • extensions-compose-experimental/api/extensions-compose-experimental.klib.api

@arkivanov arkivanov merged commit 7ff9fed into v4 Jul 4, 2026
3 checks passed
@arkivanov arkivanov deleted the 07-03-merge_extensions-compose-experimental_module_into_extensions-compose branch July 4, 2026 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant