@use "sass:list";
@use "../../../bulma/sass/utilities" as bulma-utilities;

.pagination {
    .pagination-next,
    .pagination-previous {
        padding-right: var(--pagination-nav-padding-right);
        padding-left: var(--pagination-nav-padding-left);

        &.is-disabled {
            pointer-events: none;
            cursor: not-allowed;
            opacity: 0.5;
        }
    }

    &.is-simple {
        justify-content: normal;

        &.is-centered {
            justify-content: center;
        }

        &.is-right {
            justify-content: flex-end;
        }
    }

    .is-current {
        pointer-events: none;
        cursor: not-allowed;
    }
}

@mixin paginationPositions($classes...) {
    @for $i from 0 to list.length($classes) {
        .pagination-#{list.nth($classes, $i + 1)} {
            order: $i + 1;
        }
    }
}

@include bulma-utilities.tablet {
    .pagination.has-input {
        @include paginationPositions("list", "input", "previous", "next");

        &.is-centered {
            @include paginationPositions("previous", "list", "input", "next");

            &.is-input-right {
                @include paginationPositions("previous", "list", "next", "input");
            }

            &.is-input-left {
                @include paginationPositions("input", "previous", "list", "next");
            }
        }

        &.is-right {
            @include paginationPositions("previous", "next", "input", "list");

            &.is-input-right {
                @include paginationPositions("previous", "next", "list", "input");
            }

            &.is-input-left {
                @include paginationPositions("input", "previous", "next", "list");
            }
        }

        &.is-input-right {
            @include paginationPositions("list", "previous", "next", "input");
        }

        &.is-input-left {
            @include paginationPositions("input", "list", "previous", "next");
        }
    }
}
