@@ -44,13 +44,14 @@ fun ExpandableHorizontalPager(
4444 targetWidth : Dp = 300.dp,
4545 aspectRatio : Float = 2 / 3f,
4646 durationMillis : Int = 400,
47- mainContent : @Composable ColumnScope .(page: Int , isExpanded: Boolean ) -> Unit ,
48- overMainContentCollapsed : @Composable ColumnScope .(page: Int ) -> Unit ,
49- overMainContentExpanded : @Composable ColumnScope .(page: Int ) -> Unit ,
47+ mainContent : @Composable ColumnScope .(page: Int ) -> Unit ,
48+ overMainContentCollapsed : @Composable ColumnScope .(page: Int ) -> Unit = {} ,
49+ overMainContentExpanded : @Composable ColumnScope .(page: Int ) -> Unit = {} ,
5050 hiddenContentBoxHeight : Dp = Dp .Unspecified ,
5151 hiddenContentContainerColor : Color = Color .Black ,
5252 hiddenContentContentColor : Color = Color .White ,
5353 hiddenContent : @Composable ColumnScope .(page: Int ) -> Unit ,
54+ onTransform : (isExpanded: Boolean ) -> Unit = {}
5455) {
5556 var transformState by rememberSaveable { mutableStateOf(ExpandablePagerTransformState .INITIAL ) }
5657
@@ -183,6 +184,8 @@ fun ExpandableHorizontalPager(
183184 .fillMaxSize(),
184185 Alignment .Center
185186 ) {
187+ val isExpanded = transformState == ExpandablePagerTransformState .TARGET ||
188+ transformState == ExpandablePagerTransformState .INITIAL_TO_TARGET
186189 Card (
187190 modifier = Modifier
188191 .width(contentWidth)
@@ -230,7 +233,10 @@ fun ExpandableHorizontalPager(
230233 .draggable(
231234 orientation = Orientation .Vertical ,
232235 state = rememberDraggableState {},
233- onDragStarted = { expand(this @BoxWithConstraints.maxHeight) }
236+ onDragStarted = {
237+ onTransform(! isExpanded)
238+ expand(this @BoxWithConstraints.maxHeight)
239+ }
234240 ),
235241 contentAlignment = Alignment .Center
236242 ) {
@@ -277,21 +283,21 @@ fun ExpandableHorizontalPager(
277283 orientation = Orientation .Vertical ,
278284 state = rememberDraggableState {},
279285 onDragStarted = {
286+ onTransform(! isExpanded)
280287 expand(maxHeight)
281288 }
282289 )
283290 .clickable(
284291 enabled = currentPage == page,
285292 ) {
293+ onTransform(! isExpanded)
286294 expand(maxHeight)
287295 },
288296 shape = RoundedCornerShape (cornerSize)
289297 ) {
290298 Box () {
291- val isExpanded = transformState == ExpandablePagerTransformState .TARGET ||
292- transformState == ExpandablePagerTransformState .INITIAL_TO_TARGET
293299 Column () {
294- mainContent(page, isExpanded )
300+ mainContent(page)
295301 }
296302 Column () {
297303 AnimatedVisibility (
0 commit comments