UNPKG

3.9 kBSCSSView Raw
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 list
32 */
33
34.uk-breadcrumb {
35 display: flex;
36 /* 1 */
37 flex-wrap: wrap;
38 /* 2 */
39 padding: 0;
40 list-style: none;
41 @if(mixin-exists(hook-breadcrumb)) {@include hook-breadcrumb();}
42}
43
44/*
45 * Space is allocated solely based on content dimensions: 0 0 auto
46 */
47
48.uk-breadcrumb > * { flex: none; }
49
50
51/* Items
52 ========================================================================== */
53
54.uk-breadcrumb > * > * {
55 display: inline-block;
56 font-size: $breadcrumb-item-font-size;
57 color: $breadcrumb-item-color;
58 @if(mixin-exists(hook-breadcrumb-item)) {@include hook-breadcrumb-item();}
59}
60
61/* Hover + Focus */
62.uk-breadcrumb > * > :hover,
63.uk-breadcrumb > * > :focus {
64 color: $breadcrumb-item-hover-color;
65 text-decoration: $breadcrumb-item-hover-text-decoration;
66 @if(mixin-exists(hook-breadcrumb-item-hover)) {@include hook-breadcrumb-item-hover();}
67}
68
69/* Disabled */
70.uk-breadcrumb > .uk-disabled > * {
71 @if(mixin-exists(hook-breadcrumb-item-disabled)) {@include hook-breadcrumb-item-disabled();}
72}
73
74/* Active */
75.uk-breadcrumb > :last-child > * {
76 color: $breadcrumb-item-active-color;
77 @if(mixin-exists(hook-breadcrumb-item-active)) {@include hook-breadcrumb-item-active();}
78}
79
80/*
81 * Divider
82 * `nth-child` makes it also work without JS if it's only one row
83 */
84
85.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
86 content: $breadcrumb-divider;
87 display: inline-block;
88 margin: 0 $breadcrumb-divider-margin-horizontal;
89 color: $breadcrumb-divider-color;
90 @if(mixin-exists(hook-breadcrumb-divider)) {@include hook-breadcrumb-divider();}
91}
92
93
94// Hooks
95// ========================================================================
96
97@if(mixin-exists(hook-breadcrumb-misc)) {@include hook-breadcrumb-misc();}
98
99// @mixin hook-breadcrumb(){}
100// @mixin hook-breadcrumb-item(){}
101// @mixin hook-breadcrumb-item-hover(){}
102// @mixin hook-breadcrumb-item-disabled(){}
103// @mixin hook-breadcrumb-item-active(){}
104// @mixin hook-breadcrumb-divider(){}
105// @mixin hook-breadcrumb-misc(){}
106
107
108// Inverse
109// ========================================================================
110
111$inverse-breadcrumb-item-color: $inverse-global-muted-color !default;
112$inverse-breadcrumb-item-hover-color: $inverse-global-color !default;
113$inverse-breadcrumb-item-active-color: $inverse-global-color !default;
114$inverse-breadcrumb-divider-color: $inverse-global-muted-color !default;
115
116
117
118// @mixin hook-inverse-breadcrumb-item(){}
119// @mixin hook-inverse-breadcrumb-item-hover(){}
120// @mixin hook-inverse-breadcrumb-item-disabled(){}
121// @mixin hook-inverse-breadcrumb-item-active(){}
122// @mixin hook-inverse-breadcrumb-divider(){}