Project

General

Profile

1
// Name:            Alert
2
// Description:     Component to create alert messages
3
//
4
// Component:       `uk-alert`
5
//
6
// Adopted:         `uk-alert-close`
7
//
8
// Modifiers:       `uk-alert-primary`
9
//                  `uk-alert-success`
10
//                  `uk-alert-warning`
11
//                  `uk-alert-danger`
12
//
13
// ========================================================================
14

    
15

    
16
// Variables
17
// ========================================================================
18

    
19
$alert-margin-vertical:                          $global-margin !default;
20
$alert-padding:                                  $global-small-gutter !default;
21
$alert-padding-right:                            $alert-padding + 14px !default;
22
$alert-background:                               $global-muted-background !default;
23
$alert-color:                                    $global-color !default;
24

    
25
$alert-close-top:                                $alert-padding + 5px !default;
26
$alert-close-right:                              $alert-padding !default;
27

    
28
$alert-primary-background:                       lighten(mix(white, $global-primary-background, 40%), 20%) !default;
29
$alert-primary-color:                            $global-primary-background !default;
30

    
31
$alert-success-background:                       lighten(mix(white, $global-success-background, 40%), 25%) !default;
32
$alert-success-color:                            $global-success-background !default;
33

    
34
$alert-warning-background:                       lighten(mix(white, $global-warning-background, 45%), 15%) !default;
35
$alert-warning-color:                            $global-warning-background !default;
36

    
37
$alert-danger-background:                        lighten(mix(white, $global-danger-background, 40%), 20%) !default;
38
$alert-danger-color:                             $global-danger-background !default;
39

    
40

    
41
/* ========================================================================
42
   Component: Alert
43
 ========================================================================== */
44

    
45
.uk-alert {
46
    position: relative;
47
    margin-bottom: $alert-margin-vertical;
48
    padding: $alert-padding $alert-padding-right $alert-padding $alert-padding;
49
    background: $alert-background;
50
    color: $alert-color;
51
    @if(mixin-exists(hook-alert)) {@include hook-alert();}
52
}
53

    
54
/* Add margin if adjacent element */
55
* + .uk-alert { margin-top: $alert-margin-vertical; }
56

    
57
/*
58
 * Remove margin from the last-child
59
 */
60

    
61
.uk-alert > :last-child { margin-bottom: 0; }
62

    
63

    
64
/* Close
65
 * Adopts `uk-close`
66
 ========================================================================== */
67

    
68
.uk-alert-close {
69
    position: absolute;
70
    top: $alert-close-top;
71
    right: $alert-close-right;
72
    @if(mixin-exists(hook-alert-close)) {@include hook-alert-close();}
73
}
74

    
75
/*
76
 * Remove margin from adjacent element
77
 */
78

    
79
.uk-alert-close:first-child + * { margin-top: 0; }
80

    
81
/*
82
 * Hover + Focus
83
 */
84

    
85
.uk-alert-close:hover,
86
.uk-alert-close:focus {
87
    @if(mixin-exists(hook-alert-close-hover)) {@include hook-alert-close-hover();}
88
}
89

    
90

    
91
/* Style modifiers
92
 ========================================================================== */
93

    
94
/*
95
 * Primary
96
 */
97

    
98
.uk-alert-primary {
99
    background: $alert-primary-background;
100
    color: $alert-primary-color;
101
    @if(mixin-exists(hook-alert-primary)) {@include hook-alert-primary();}
102
}
103

    
104
/*
105
 * Success
106
 */
107

    
108
.uk-alert-success {
109
    background: $alert-success-background;
110
    color: $alert-success-color;
111
    @if(mixin-exists(hook-alert-success)) {@include hook-alert-success();}
112
}
113

    
114
/*
115
 * Warning
116
 */
117

    
118
.uk-alert-warning {
119
    background: $alert-warning-background;
120
    color: $alert-warning-color;
121
    @if(mixin-exists(hook-alert-warning)) {@include hook-alert-warning();}
122
}
123

    
124
/*
125
 * Danger
126
 */
127

    
128
.uk-alert-danger {
129
    background: $alert-danger-background;
130
    color: $alert-danger-color;
131
    @if(mixin-exists(hook-alert-danger)) {@include hook-alert-danger();}
132
}
133

    
134

    
135
// Hooks
136
// ========================================================================
137

    
138
@if(mixin-exists(hook-alert-misc)) {@include hook-alert-misc();}
139

    
140
// @mixin hook-alert(){}
141
// @mixin hook-alert-close(){}
142
// @mixin hook-alert-close-hover(){}
143
// @mixin hook-alert-primary(){}
144
// @mixin hook-alert-success(){}
145
// @mixin hook-alert-warning(){}
146
// @mixin hook-alert-danger(){}
147
// @mixin hook-alert-misc(){}
(4-4/66)