//
// Pagination Variables
//
$include-html-nav-classes: $include-html-classes !default;
// We use these to control the pagination container
$pagination-height: emCalc(24px) !default;
$pagination-margin: emCalc(-5px) !default;
// We use these to set the list-item properties
$pagination-li-float: $default-float;
$pagination-li-height: emCalc(24px) !default;
$pagination-li-font-color: #222 !default;
$pagination-li-font-size: emCalc(14px) !default;
$pagination-li-margin: emCalc(5px) !default;
// We use these for the pagination anchor links
$pagination-link-pad: emCalc(1px) emCalc(7px) emCalc(1px) !default;
$pagination-link-font-color: #999 !default;
$pagination-link-active-bg: darken(#fff, 10%) !default;
// We use these for disabled anchor links
$pagination-link-unavailable-cursor: default !default;
$pagination-link-unavailable-font-color: #999 !default;
$pagination-link-unavailable-bg-active: transparent !default;
// We use these for currently selected anchor links
$pagination-link-current-background: $primary-color !default;
$pagination-link-current-font-color: #fff !default;
$pagination-link-current-font-weight: bold !default;
$pagination-link-current-cursor: default !default;
$pagination-link-current-active-bg: $primary-color !default;
//
// Pagination Mixin
//
// Style the pagination container. Currently only used when centering elements.
@mixin pagination-container($center:false) {
@if $center { text-align: center; }
}
// Style unavailable list items
@mixin pagination-unavailable-item() {
a {
cursor: $pagination-link-unavailable-cursor;
color: $pagination-link-unavailable-font-color;
}
&:hover a,
& a:focus { background: $pagination-link-unavailable-bg-active; }
}
// Style the current list item. Do not assume that the current item has
// an anchor element.
@mixin pagination-current-item($has-anchor: true) {
@if $has-anchor {
a {
background: $pagination-link-current-background;
color: $pagination-link-current-font-color;
font-weight: $pagination-link-current-font-weight;
cursor: $pagination-link-current-cursor;
&:hover,
&:focus { background: $pagination-link-current-active-bg; }
}
} @else {
background: $pagination-link-current-background;
color: $pagination-link-current-font-color;
font-weight: $pagination-link-current-font-weight;
cursor: $pagination-link-current-cursor;
&:hover,
&:focus { background: $pagination-link-current-active-bg; }
}
}
// We use this mixin to set the properties for the creating Foundation pagination
@mixin pagination($center:false, $base-style:true, $use-default-classes:true) {
@if $base-style {
display: block;
height: $pagination-height;
margin-#{$default-float}: $pagination-margin;
li {
height: $pagination-li-height;
color: $pagination-li-font-color;
font-size: $pagination-li-font-size;
margin-#{$default-float}: $pagination-li-margin;
a {
display: block;
padding: $pagination-link-pad;
color: $pagination-link-font-color;
}
&:hover a,
a:focus { background: $pagination-link-active-bg; }
@if $use-default-classes {
&.unavailable { @include pagination-unavailable-item(); }
&.current { @include pagination-current-item(); }
}
}
}
// Left or center align the li elements
li {
@if $center {
float: none;
display: inline-block;
} @else {
float: $pagination-li-float;
display: block;
}
}
}
@if $include-html-nav-classes != false {
// Detach the nested class selectors from the containing
// ul and div elements in order to support more flexibility
// for external code that uses the Sass mixins.
/* Default Pagination */
ul.pagination {
@include pagination;
}
/* Pagination centred wrapper */
.pagination-centered {
@include pagination-container(true);
ul.pagination {
@include pagination(true, false);
}
}
}