Project

General

Profile

1
// Name:            Breadcrumb
2
// Description:     Component to create a breadcrumb navigation
3
//
4
// Component:       `uk-breadcrumb`
5
//
6
// States:          `uk-disabled`
7
//
8
// ========================================================================
9

    
10

    
11
// Variables
12
// ========================================================================
13

    
14
$breadcrumb-item-font-size:                          $global-small-font-size !default;
15
$breadcrumb-item-color:                              $global-muted-color !default;
16
$breadcrumb-item-hover-color:                        $global-color !default;
17
$breadcrumb-item-hover-text-decoration:              none !default;
18
$breadcrumb-item-active-color:                       $global-color !default;
19

    
20
$breadcrumb-divider:                                 "/" !default;
21
$breadcrumb-divider-margin-horizontal:               20px !default;
22
$breadcrumb-divider-color:                           $global-muted-color !default;
23

    
24

    
25
/* ========================================================================
26
   Component: Breadcrumb
27
 ========================================================================== */
28

    
29
/*
30
 * 1. Allow items to wrap into the next line
31
 * 2. Reset lists
32
 */
33

    
34
.uk-breadcrumb {
35
    display: -ms-flexbox;
36
    display: -webkit-flex;
37
    display: flex;
38
    /* 1 */
39
    -ms-flex-wrap: wrap;
40
    -webkit-flex-wrap: wrap;
41
    flex-wrap: wrap;
42
    /* 2 */
43
    padding: 0;
44
    list-style: none;
45
    @if(mixin-exists(hook-breadcrumb)) {@include hook-breadcrumb();}
46
}
47

    
48
/*
49
 * Space is allocated solely based on content dimensions: 0 0 auto
50
 */
51

    
52
.uk-breadcrumb > * {
53
    -ms-flex: none;
54
    -webkit-flex: none;
55
    flex: none;
56
}
57

    
58

    
59
/* Items
60
 ========================================================================== */
61

    
62
.uk-breadcrumb > * > * {
63
    display: inline-block;
64
    font-size: $breadcrumb-item-font-size;
65
    color: $breadcrumb-item-color;
66
    @if(mixin-exists(hook-breadcrumb-item)) {@include hook-breadcrumb-item();}
67
}
68

    
69
/* Hover + Focus */
70
.uk-breadcrumb > * > :hover,
71
.uk-breadcrumb > * > :focus {
72
    color: $breadcrumb-item-hover-color;
73
    text-decoration: $breadcrumb-item-hover-text-decoration;
74
    @if(mixin-exists(hook-breadcrumb-item-hover)) {@include hook-breadcrumb-item-hover();}
75
}
76

    
77
/* Active */
78
.uk-breadcrumb > :last-child > * {
79
    color: $breadcrumb-item-active-color;
80
    @if(mixin-exists(hook-breadcrumb-item-active)) {@include hook-breadcrumb-item-active();}
81
}
82

    
83
/*
84
 * Divider
85
 * `nth-child` makes it also work without JS if it's only one row
86
 */
87

    
88
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
89
    content: $breadcrumb-divider;
90
    display: inline-block;
91
    margin: 0 $breadcrumb-divider-margin-horizontal;
92
    color: $breadcrumb-divider-color;
93
    @if(mixin-exists(hook-breadcrumb-divider)) {@include hook-breadcrumb-divider();}
94
}
95

    
96

    
97
// Hooks
98
// ========================================================================
99

    
100
@if(mixin-exists(hook-breadcrumb-misc)) {@include hook-breadcrumb-misc();}
101

    
102
// @mixin hook-breadcrumb(){}
103
// @mixin hook-breadcrumb-item(){}
104
// @mixin hook-breadcrumb-item-hover(){}
105
// @mixin hook-breadcrumb-item-active(){}
106
// @mixin hook-breadcrumb-divider(){}
107
// @mixin hook-breadcrumb-misc(){}
108

    
109

    
110
// Inverse
111
// ========================================================================
112

    
113
$inverse-breadcrumb-item-color:                 $inverse-global-muted-color !default;
114
$inverse-breadcrumb-item-hover-color:           $inverse-global-color !default;
115
$inverse-breadcrumb-item-active-color:          $inverse-global-color !default;
116
$inverse-breadcrumb-divider-color:              $inverse-global-muted-color !default;
117

    
118

    
119

    
120
// @mixin hook-inverse-breadcrumb-item(){}
121
// @mixin hook-inverse-breadcrumb-item-hover(){}
122
// @mixin hook-inverse-breadcrumb-item-active(){}
123
// @mixin hook-inverse-breadcrumb-divider(){}
(11-11/66)