Project

General

Profile

1
// Name:            Pagination
2
// Description:     Component to create a page navigation
3
//
4
// Component:       `uk-pagination`
5
//
6
// Adopted:         `uk-pagination-next`
7
//                  `uk-pagination-previous`
8
//
9
// States:          `uk-active`
10
//                  `uk-disabled`
11
//
12
// ========================================================================
13

    
14

    
15
// Variables
16
// ========================================================================
17

    
18
@pagination-margin-horizontal:                  20px;
19

    
20
@pagination-item-color:                         @global-muted-color;
21
@pagination-item-hover-color:                   @global-color;
22
@pagination-item-hover-text-decoration:         none;
23
@pagination-item-active-color:                  @global-color;
24
@pagination-item-disabled-color:                @global-muted-color;
25

    
26

    
27
/* ========================================================================
28
   Component: Pagination
29
 ========================================================================== */
30

    
31
/*
32
 * 1. Allow items to wrap into the next line
33
 * 2. Gutter
34
 * 3. Reset lists
35
 */
36

    
37
.uk-pagination {
38
    display: -ms-flexbox;
39
    display: -webkit-flex;
40
    display: flex;
41
    /* 1 */
42
    -ms-flex-wrap: wrap;
43
    -webkit-flex-wrap: wrap;
44
    flex-wrap: wrap;
45
    /* 2 */
46
    margin-left: -@pagination-margin-horizontal;
47
    /* 3 */
48
    padding: 0;
49
    list-style: none;
50
    .hook-pagination;
51
}
52

    
53
/*
54
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
55
 * 2. Gutter
56
 * 3. Create position context for dropdowns
57
 */
58

    
59
.uk-pagination > * {
60
    /* 1 */
61
    -ms-flex: none;
62
    -webkit-flex: none;
63
    flex: none;
64
    /* 2 */
65
    padding-left: @pagination-margin-horizontal;
66
    /* 3 */
67
    position: relative;
68
}
69

    
70

    
71
/* Items
72
 ========================================================================== */
73

    
74
/*
75
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
76
 * 2. Style
77
 */
78

    
79
.uk-pagination > * > * {
80
    /* 1 */
81
    display: block;
82
    /* 2 */
83
    color: @pagination-item-color;
84
    .hook-pagination-item;
85
}
86

    
87
/* Hover + Focus */
88
.uk-pagination > * > :hover,
89
.uk-pagination > * > :focus {
90
    color: @pagination-item-hover-color;
91
    text-decoration: @pagination-item-hover-text-decoration;
92
    .hook-pagination-item-hover;
93
}
94

    
95
/* Active */
96
.uk-pagination > .uk-active > * {
97
    color: @pagination-item-active-color;
98
    .hook-pagination-item-active;
99
}
100

    
101
/* Disabled */
102
.uk-pagination > .uk-disabled > * {
103
    color: @pagination-item-disabled-color;
104
    .hook-pagination-item-disabled;
105
}
106

    
107

    
108
// Hooks
109
// ========================================================================
110

    
111
.hook-pagination-misc;
112

    
113
.hook-pagination() {}
114
.hook-pagination-item() {}
115
.hook-pagination-item-hover() {}
116
.hook-pagination-item-active() {}
117
.hook-pagination-item-disabled() {}
118
.hook-pagination-misc() {}
119

    
120

    
121
// Inverse
122
// ========================================================================
123

    
124
@inverse-pagination-item-color:                @inverse-global-muted-color;
125
@inverse-pagination-item-hover-color:          @inverse-global-color;
126
@inverse-pagination-item-active-color:         @inverse-global-color;
127
@inverse-pagination-item-disabled-color:       @inverse-global-muted-color;
128

    
129
.hook-inverse() {
130

    
131
    .uk-pagination > * > * {
132
        color: @inverse-pagination-item-color;
133
        .hook-inverse-pagination-item;
134
    }
135

    
136
    .uk-pagination > * > :hover,
137
    .uk-pagination > * > :focus {
138
        color: @inverse-pagination-item-hover-color;
139
        .hook-inverse-pagination-item-hover;
140
    }
141

    
142
    .uk-pagination > .uk-active > * {
143
        color: @inverse-pagination-item-active-color;
144
        .hook-inverse-pagination-item-active;
145
    }
146

    
147
    .uk-pagination > .uk-disabled > * {
148
        color: @inverse-pagination-item-disabled-color;
149
        .hook-inverse-pagination-item-disabled;
150
    }
151

    
152
}
153

    
154
.hook-inverse-pagination-item() {}
155
.hook-inverse-pagination-item-hover() {}
156
.hook-inverse-pagination-item-active() {}
157
.hook-inverse-pagination-item-disabled() {}
(43-43/66)