@import "../_colors";
@import "../_queries";

.ui-paginator {
    padding: 0.75em 0;
    box-sizing: border-box;
    text-align: left;
    border-color: transparent;
    display: flex;
    display: -ms-flexbox;

    .ui-paginator-element {
        background-color: $default-color;
        font-weight: normal;
    }

    .ui-paginator-right-content {
        margin-left: auto;
        height: 100%;
        padding-top: 5px;
        padding-left: 20px;
    }

    .ui-paginator-first:before,
    .ui-paginator-prev:before,
    .ui-paginator-next:before,
    .ui-paginator-last:before {
        position: relative;
        top: 0.063em;
    }

    .ui-paginator-prev {
        border-radius: 0;
    }

    .ui-paginator-next {
        border-radius: 0;
    }

    .ui-paginator-first,
    .ui-paginator-last {
        .ui-paginator-icon {
            font-size: 12px;
        }
    }

    .ui-paginator-pages {
        padding: 0;
        margin: 0;
        white-space: nowrap;

        .ui-paginator-page.ui-state-active {
            color: $primary-light-text-color;
            border: 1px solid $primary-color;
            background: $primary-color;
        }
    }

    .ui-paginator-first,
    .ui-paginator-prev,
    .ui-paginator-next,
    .ui-paginator-last,
    .ui-paginator-pages .ui-paginator-page {
        padding: 0.4em 0.25em;
        color: $primary-color;
        transition: background-color 200ms ease-out;
        border-radius: 0;
        border: 1px solid $default-primary-color;
        border-width: 1px 0 1px 1px;
        text-align: center;
        min-width: 2.55em;
        height: 2.55em;
        margin: 0;
    
        &:hover {
            background-color: highlight($default-secondary-color);
        }
    
        &.ui-state-active:hover {
            background-color: highlight($primary-color);
            border-color: highlight($primary-color);
        }
    }

    .ui-paginator-first {
        border-radius: 4px 0 0 4px;
    }

    .ui-paginator-last {
        border-right-width: 1px;
        border-radius: 0 4px 4px 0;
    }

    .ui-dropdown {
        height: 34px;
        border: none;
        margin-left: 20px !important;
        width: 100% !important;
    }

    .ui-dropdown .ui-dropdown-label {
        border: 1px solid #ccc !important;
        font-size: 14px !important;
    }
}

.sds-extended-paginator .ui-dropdown-panel {
    top: -210px !important;
}

.sds-extended-paginator .ui-dropdown-panel .ui-dropdown-items-wrapper {
    max-height: 250px !important;
}

p-paginator .ui-dropdown.ui-state-focus .ui-dropdown-label,
p-paginator .ui-dropdown:not(.ui-state-disabled):hover .ui-dropdown-label {
    background-color: transparent !important;
}

@media #{$sm-devices} {
    body .ui-paginator {
        flex-wrap: wrap;

        & .ui-paginator-pages .ui-paginator-page {
            &:not(.ui-state-active) {
                display: none;
            }
        }

        & .ui-paginator-first {
            margin-left: auto;
        }

        & .ui-paginator-right-content {
            margin: auto;
        }

        & .ui-inputwrapper-filled {
            margin-right: auto;
        }
    }
}
