voyager icon indicating copy to clipboard operation
voyager copied to clipboard

Feature Request - Material 3 Support for BottomSheetNavigator

Open pitampoudel opened this issue 1 year ago • 6 comments

Hi Voyager Team,

I'm a user of Voyager in my Kotlin Multiplatform projects and love the simplicity it brings. However, I'd like to suggest adding Material 3 support to the BottomSheetNavigator for a consistent design language across my entire project. It would greatly enhance the user experience, and I'm happy to contribute in any way possible.

Thanks, Pitam Poudel

pitampoudel avatar Nov 16 '23 12:11 pitampoudel

@DevSrSouza any progress about this?

mealinux avatar Jun 06 '24 15:06 mealinux

Hi everyone, I've created a library that might be useful for you! It provides bottom sheet navigation using Material 3. This means you can leverage bottom sheet navigation functionality without relying on Material. I'm planning to migrate the library to KMP soon, allowing you to use it or integrate it. Here's the link to the library, if you want to take a look: https://github.com/stefanoq21/BottomSheetNavigator3

stefanoq21 avatar Jul 08 '24 16:07 stefanoq21

Hi, here the KMP version of my library https://github.com/stefanoq21/BottomSheetNavigator3KMP. I published it on MavenCentral, hope this can help.

stefanoq21 avatar Jul 10 '24 17:07 stefanoq21

Also waiting this, not just because of the visual improvements, but because of the functionality:

  • Current BottomSheetNavigator does not allow to be shown with max width - it is capped by MaxModalBottomSheetWidth = 640.dp.
  • Current BottomSheetNavigator does not allow disabling of outside clicks - which will close the BottomSheet right now.

Implementation of M3 should help with both of these issues. :)

kaidotarma avatar Jul 13 '24 20:07 kaidotarma

With my library you can configure all the parameters of the normal "ModalBottomSheet" from the "ModalBottomSheetLayout"

fun ModalBottomSheetLayout(
    bottomSheetNavigator: BottomSheetNavigator,
    modifier: Modifier = Modifier,
    sheetMaxWidth: Dp = BottomSheetDefaults.SheetMaxWidth,
    shape: Shape = BottomSheetDefaults.ExpandedShape,
    containerColor: Color = BottomSheetDefaults.ContainerColor,
    contentColor: Color = contentColorFor(containerColor),
    tonalElevation: Dp = BottomSheetDefaults.Elevation,
    scrimColor: Color = BottomSheetDefaults.ScrimColor,
    dragHandle: @Composable (() -> Unit)? = { BottomSheetDefaults.DragHandle() },
    content: @Composable () -> Unit,
)

stefanoq21 avatar Jul 14 '24 13:07 stefanoq21