fun PagerProgressButtons()

in android/source/src/main/kotlin/com/gu/source/components/pager/PagerProgressButtons.kt [45:104]


fun PagerProgressButtons(
    pagerState: PagerState,
    prevButtonContentDescription: String?,
    nextButtonContentDescription: String?,
    modifier: Modifier = Modifier,
    buttonColours: ButtonColours = DefaultButtonColours,
    disabledButtonColours: ButtonColours? = disabledModeButtonColours(buttonColours),
    pageSlideAnimationSpec: AnimationSpec<Float> = DefaultPageSlideAnimationSpec,
) {
    val coroutineScope = rememberCoroutineScope()

    Row(
        modifier = modifier,
        horizontalArrangement = Arrangement.spacedBy(8.dp),
    ) {
        SourceBaseIconButton(
            size = SourceButton.Size.Small,
            buttonColours = buttonColours,
            disabledButtonColours = disabledButtonColours,
            onClick = {
                coroutineScope.launch {
                    animateScrollToNext(
                        pagerState,
                        ProgressDirection.Previous,
                        pageSlideAnimationSpec,
                    )
                }
            },
            enabled = pagerState.canScrollBackward,
            modifier = Modifier.offset(x = ProgressButtonTouchAdjustment * 2),
        ) {
            Icon(
                imageVector = Source.Icons.Base.ChevronLeftSingle,
                contentDescription = prevButtonContentDescription,
                modifier = it,
            )
        }
        SourceBaseIconButton(
            size = SourceButton.Size.Small,
            buttonColours = buttonColours,
            disabledButtonColours = disabledButtonColours,
            onClick = {
                coroutineScope.launch {
                    animateScrollToNext(
                        pagerState,
                        ProgressDirection.Next,
                        pageSlideAnimationSpec,
                    )
                }
            },
            enabled = pagerState.canScrollForward,
        ) {
            Icon(
                imageVector = Source.Icons.Base.ChevronRightSingle,
                contentDescription = nextButtonContentDescription,
                modifier = it,
            )
        }
    }
}