I was just practicing some design pattern shown in this Youtube video. Basically I have a screen
Widget build(BuildContext context) {
    super.build(context);
    RideServices rideServices = ride_services(context);
    return Scaffold(
      resizeToAvoidBottomInset: true,
      key: scaffoldKey,
      extendBodyBehindAppBar: true,
      //drawer:
      body: SwipeDrawer(
        radius: 20,
        key: drawerKey,
        drawer: Theme(
          data: Theme.of(context).copyWith(
            canvasColor: Colors.blue[400],
          ),
          child: Drawer_widget(),
        ),
        hasClone: false,
        bodyBackgroundPeekSize: 30,
        backgroundColor: Colors.blue[400],
        child: Stack(
          children: [
            //here
            GOOGLE_container(),
               
            RefreshWidget(),
              
            my_location(),
              
              
            BottomBar(
              mapController: osmController,
              saveRiderAndSearchNearRidecallback: (listDriver) async {
               
              },
            ),
            drawer(drawerKey: drawerKey),
            SaveLocationCheckMark(key: UniqueKey(), saveLocation: saveLocation),
            detail_driver(),
            splash_screen()
          ],
        ),
      ),
    );
  }
Here BottomBar is a widgets that is being shown at the bottom of the screen,  am using a IndexStack widget for this purpose
 @override
  Widget build(BuildContext context) {
    return Positioned(
      top: 67.5.h,
      bottom: 0,
      left: 0,
      right: 0,
      child: Selector<ProviderService, int>(
        selector: (ctx, prod) => prod.indexWidgetInformationPicker,
        shouldRebuild: (nPage, oldPage) => nPage != oldPage,
        builder: (ctx, indexPage, child) {
          return IndexedStack(
            index: indexPage,
            sizing: StackFit.passthrough,
            children: [
              pickUpDestination(
                  //0
                  widget: widget,
                  my_loc_controller: my_loc_controller),
              BestRouteCalculator(
                  //3  1
                  colorizeTextStyle: colorizeTextStyle,
                  colorizeColors: colorizeColors),
              pickRide(
                //1 2
                widget: widget,
                my_loc_controller: my_loc_controller,
              ),
              FindADriver(
                  //2 3
                  key: UniqueKey(),
                  colorizeTextStyle: colorizeTextStyle,
                  colorizeColors: colorizeColors),
              RideStarted(), //4
            ],
          );
        },
      ),
    );
  }
}
But my approach is different than the one in the video. Also, I am having diffculty changing the size of the widgets under IndexStacked , As all the widgets under it have a fixed size, My question is "what is the widget being used" ?
I have to show and hide the widgets under IndexStacked but I read some where they are all built at the same time, I hope my question is clear enough and the question still remains how to I get a bottom sheet like the ones shown in the video and implement it in my code ?