anjlab-bootstrap-rails 3.0.0.rc1 → 3.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -12
- data/Rakefile +3 -2
- data/app/assets/javascripts/twitter/bootstrap.js +2 -1
- data/app/assets/javascripts/twitter/bootstrap/button.js +4 -2
- data/app/assets/javascripts/twitter/bootstrap/carousel.js +6 -2
- data/app/assets/javascripts/twitter/bootstrap/collapse.js +2 -2
- data/app/assets/javascripts/twitter/bootstrap/modal.js +19 -16
- data/app/assets/javascripts/twitter/bootstrap/popover.js +7 -5
- data/app/assets/javascripts/twitter/bootstrap/tooltip.js +39 -21
- data/app/assets/javascripts/twitter/bootstrap/transition.js +2 -2
- data/app/assets/stylesheets/twitter/bootstrap/_alerts.scss +21 -19
- data/app/assets/stylesheets/twitter/bootstrap/_badges.scss +5 -5
- data/app/assets/stylesheets/twitter/bootstrap/_bootstrap.scss +1 -1
- data/app/assets/stylesheets/twitter/bootstrap/_button-groups.scss +96 -23
- data/app/assets/stylesheets/twitter/bootstrap/_buttons.scss +24 -18
- data/app/assets/stylesheets/twitter/bootstrap/_carousel.scss +10 -11
- data/app/assets/stylesheets/twitter/bootstrap/_close.scss +1 -1
- data/app/assets/stylesheets/twitter/bootstrap/_code.scss +4 -3
- data/app/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +23 -18
- data/app/assets/stylesheets/twitter/bootstrap/_forms.scss +65 -160
- data/app/assets/stylesheets/twitter/bootstrap/_grid.scss +244 -59
- data/app/assets/stylesheets/twitter/bootstrap/_input-groups.scss +127 -0
- data/app/assets/stylesheets/twitter/bootstrap/_labels.scss +12 -4
- data/app/assets/stylesheets/twitter/bootstrap/_list-group.scss +36 -36
- data/app/assets/stylesheets/twitter/bootstrap/_mixins.scss +227 -52
- data/app/assets/stylesheets/twitter/bootstrap/_modals.scss +6 -9
- data/app/assets/stylesheets/twitter/bootstrap/_navbar.scss +268 -82
- data/app/assets/stylesheets/twitter/bootstrap/_navs.scss +10 -18
- data/app/assets/stylesheets/twitter/bootstrap/_pagination.scss +5 -41
- data/app/assets/stylesheets/twitter/bootstrap/_panels.scss +83 -57
- data/app/assets/stylesheets/twitter/bootstrap/_popovers.scss +0 -2
- data/app/assets/stylesheets/twitter/bootstrap/_progress-bars.scss +2 -8
- data/app/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +76 -21
- data/app/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +18 -2
- data/app/assets/stylesheets/twitter/bootstrap/_tables.scss +1 -1
- data/app/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +2 -2
- data/app/assets/stylesheets/twitter/bootstrap/_tooltip.scss +1 -1
- data/app/assets/stylesheets/twitter/bootstrap/_type.scss +19 -13
- data/app/assets/stylesheets/twitter/bootstrap/_utilities.scss +3 -2
- data/app/assets/stylesheets/twitter/bootstrap/_variables.scss +86 -46
- data/app/assets/stylesheets/twitter/bootstrap/_wells.scss +2 -2
- data/lib/bootstrap-rails/version.rb +1 -1
- data/vendor/assets/javascripts/holder.js +419 -0
- metadata +4 -3
- data/app/assets/stylesheets/twitter/bootstrap/_accordion.scss +0 -31
@@ -0,0 +1,127 @@
|
|
1
|
+
//
|
2
|
+
// Input groups
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
// Base styles
|
6
|
+
// -------------------------
|
7
|
+
.input-group {
|
8
|
+
position: relative; // For dropdowns
|
9
|
+
display: table;
|
10
|
+
border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table
|
11
|
+
|
12
|
+
// Undo padding and float of grid classes
|
13
|
+
&.col {
|
14
|
+
float: none;
|
15
|
+
padding-left: 0;
|
16
|
+
padding-right: 0;
|
17
|
+
}
|
18
|
+
|
19
|
+
.form-control {
|
20
|
+
width: 100%;
|
21
|
+
margin-bottom: 0;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
// Sizing options
|
26
|
+
//
|
27
|
+
// Remix the default form control sizing classes into new ones for easier
|
28
|
+
// manipulation.
|
29
|
+
|
30
|
+
.input-group-lg > .form-control,
|
31
|
+
.input-group-lg > .input-group-addon,
|
32
|
+
.input-group-lg > .input-group-btn > .btn { @extend .input-lg; }
|
33
|
+
.input-group-sm > .form-control,
|
34
|
+
.input-group-sm > .input-group-addon,
|
35
|
+
.input-group-lg > .input-group-btn > .btn { @extend .input-sm; }
|
36
|
+
|
37
|
+
|
38
|
+
// Display as table-cell
|
39
|
+
// -------------------------
|
40
|
+
.input-group-addon,
|
41
|
+
.input-group-btn,
|
42
|
+
.input-group .form-control {
|
43
|
+
display: table-cell;
|
44
|
+
|
45
|
+
&:not(:first-child):not(:last-child) {
|
46
|
+
border-radius: 0;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
// Addon and addon wrapper for buttons
|
50
|
+
.input-group-addon,
|
51
|
+
.input-group-btn {
|
52
|
+
width: 1%;
|
53
|
+
white-space: nowrap;
|
54
|
+
vertical-align: middle; // Match the inputs
|
55
|
+
}
|
56
|
+
|
57
|
+
// Text input groups
|
58
|
+
// -------------------------
|
59
|
+
.input-group-addon {
|
60
|
+
padding: $padding-base-vertical $padding-base-horizontal;
|
61
|
+
font-size: $font-size-base;
|
62
|
+
font-weight: normal;
|
63
|
+
line-height: 1;
|
64
|
+
text-align: center;
|
65
|
+
background-color: $input-group-addon-bg;
|
66
|
+
border: 1px solid $input-group-addon-border-color;
|
67
|
+
border-radius: $border-radius-base;
|
68
|
+
|
69
|
+
// Sizing
|
70
|
+
&.input-sm {
|
71
|
+
padding: $padding-small-vertical $padding-small-horizontal;
|
72
|
+
font-size: $font-size-small;
|
73
|
+
border-radius: $border-radius-small;
|
74
|
+
}
|
75
|
+
&.input-lg {
|
76
|
+
padding: $padding-large-vertical $padding-large-horizontal;
|
77
|
+
font-size: $font-size-large;
|
78
|
+
border-radius: $border-radius-large;
|
79
|
+
}
|
80
|
+
|
81
|
+
// Nuke default margins from checkboxes and radios to vertically center within.
|
82
|
+
input[type="radio"],
|
83
|
+
input[type="checkbox"] {
|
84
|
+
margin-top: 0;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
// Reset rounded corners
|
89
|
+
.input-group .form-control:first-child,
|
90
|
+
.input-group-addon:first-child,
|
91
|
+
.input-group-btn:first-child > .btn,
|
92
|
+
.input-group-btn:first-child > .dropdown-toggle,
|
93
|
+
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
|
94
|
+
@include border-right-radius(0);
|
95
|
+
}
|
96
|
+
.input-group-addon:first-child {
|
97
|
+
border-right: 0;
|
98
|
+
}
|
99
|
+
.input-group .form-control:last-child,
|
100
|
+
.input-group-addon:last-child,
|
101
|
+
.input-group-btn:last-child > .btn,
|
102
|
+
.input-group-btn:last-child > .dropdown-toggle,
|
103
|
+
.input-group-btn:first-child > .btn:not(:first-child) {
|
104
|
+
@include border-left-radius(0);
|
105
|
+
}
|
106
|
+
.input-group-addon:last-child {
|
107
|
+
border-left: 0;
|
108
|
+
}
|
109
|
+
|
110
|
+
// Button input groups
|
111
|
+
// -------------------------
|
112
|
+
.input-group-btn {
|
113
|
+
position: relative;
|
114
|
+
white-space: nowrap;
|
115
|
+
}
|
116
|
+
.input-group-btn > .btn {
|
117
|
+
position: relative;
|
118
|
+
// Jankily prevent input button groups from wrapping
|
119
|
+
+ .btn {
|
120
|
+
margin-left: -4px;
|
121
|
+
}
|
122
|
+
// Bring the "active" button to the front
|
123
|
+
&:hover,
|
124
|
+
&:active {
|
125
|
+
z-index: 2;
|
126
|
+
}
|
127
|
+
}
|
@@ -6,13 +6,12 @@
|
|
6
6
|
display: inline;
|
7
7
|
padding: .25em .6em;
|
8
8
|
font-size: 75%;
|
9
|
-
font-weight:
|
9
|
+
font-weight: bold;
|
10
10
|
line-height: 1;
|
11
11
|
color: $label-color;
|
12
12
|
text-align: center;
|
13
13
|
white-space: nowrap;
|
14
|
-
vertical-align:
|
15
|
-
background-color: $gray-light;
|
14
|
+
vertical-align: baseline;
|
16
15
|
border-radius: .25em;
|
17
16
|
|
18
17
|
// Add hover effects, but only for links
|
@@ -22,13 +21,22 @@
|
|
22
21
|
color: $label-link-hover-color;
|
23
22
|
text-decoration: none;
|
24
23
|
cursor: pointer;
|
25
|
-
background-color: darken($gray-light, 10%);
|
26
24
|
}
|
27
25
|
}
|
26
|
+
|
27
|
+
// Empty labels collapse automatically (not available in IE8)
|
28
|
+
&:empty {
|
29
|
+
display: none;
|
30
|
+
}
|
28
31
|
}
|
29
32
|
|
30
33
|
// Colors
|
31
34
|
// Contextual variations (linked labels get darker on :hover)
|
35
|
+
|
36
|
+
.label-default {
|
37
|
+
@include label-variant($label-default-bg);
|
38
|
+
}
|
39
|
+
|
32
40
|
.label-danger {
|
33
41
|
@include label-variant($label-danger-bg);
|
34
42
|
}
|
@@ -9,7 +9,6 @@
|
|
9
9
|
// No need to set list-style: none; since .list-group-item is block level
|
10
10
|
margin-bottom: 20px;
|
11
11
|
padding-left: 0; // reset padding because ul and ol
|
12
|
-
background-color: $list-group-bg;
|
13
12
|
}
|
14
13
|
|
15
14
|
// Individual list items
|
@@ -18,51 +17,56 @@
|
|
18
17
|
.list-group-item {
|
19
18
|
position: relative;
|
20
19
|
display: block;
|
21
|
-
padding: 10px
|
20
|
+
padding: 10px 15px;
|
22
21
|
// Place the border on the list items and negative margin up for better styling
|
23
22
|
margin-bottom: -1px;
|
23
|
+
background-color: $list-group-bg;
|
24
24
|
border: 1px solid $list-group-border;
|
25
25
|
|
26
26
|
// Round the first and last items
|
27
27
|
&:first-child {
|
28
|
-
@include border-top-radius($border-radius
|
28
|
+
@include border-top-radius($list-group-border-radius);
|
29
29
|
}
|
30
30
|
&:last-child {
|
31
31
|
margin-bottom: 0;
|
32
|
-
@include border-bottom-radius($border-radius
|
32
|
+
@include border-bottom-radius($list-group-border-radius);
|
33
33
|
}
|
34
34
|
|
35
35
|
// Align badges within list items
|
36
36
|
> .badge {
|
37
37
|
float: right;
|
38
|
-
margin-right: -15px;
|
39
38
|
}
|
40
|
-
|
39
|
+
> .badge + .badge {
|
40
|
+
margin-right: 5px;
|
41
|
+
}
|
41
42
|
|
42
|
-
// Custom content options
|
43
|
-
// -------------------------
|
44
43
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
44
|
+
// Active class on item itself, not parent
|
45
|
+
&.active,
|
46
|
+
&.active:hover,
|
47
|
+
&.active:focus {
|
48
|
+
z-index: 2; // Place active items above their siblings for proper border styling
|
49
|
+
color: $list-group-active-color;
|
50
|
+
background-color: $list-group-active-bg;
|
51
|
+
border-color: $list-group-active-border;
|
52
|
+
|
53
|
+
// Force color to inherit for custom content
|
54
|
+
.list-group-item-heading {
|
55
|
+
color: inherit;
|
56
|
+
}
|
57
|
+
.list-group-item-text {
|
58
|
+
color: lighten($list-group-active-bg, 40%);
|
59
|
+
}
|
60
|
+
}
|
52
61
|
}
|
53
62
|
|
54
63
|
// Linked list items
|
55
|
-
// -------------------------
|
56
|
-
|
57
|
-
// Custom content within linked items
|
58
64
|
a.list-group-item {
|
59
|
-
|
65
|
+
color: $list-group-link-color;
|
66
|
+
|
60
67
|
.list-group-item-heading {
|
61
68
|
color: $list-group-link-heading-color;
|
62
69
|
}
|
63
|
-
.list-group-item-text {
|
64
|
-
color: $list-group-link-color;
|
65
|
-
}
|
66
70
|
|
67
71
|
// Hover state
|
68
72
|
&:hover,
|
@@ -70,20 +74,16 @@ a.list-group-item {
|
|
70
74
|
text-decoration: none;
|
71
75
|
background-color: $list-group-hover-bg;
|
72
76
|
}
|
77
|
+
}
|
73
78
|
|
74
|
-
|
75
|
-
|
76
|
-
z-index: 2; // Place active items above their siblings for proper border styling
|
77
|
-
color: $list-group-active-color;
|
78
|
-
background-color: $list-group-active-bg;
|
79
|
-
border-color: $list-group-active-border;
|
79
|
+
// Custom content options
|
80
|
+
// -------------------------
|
80
81
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
}
|
82
|
+
.list-group-item-heading {
|
83
|
+
margin-top: 0;
|
84
|
+
margin-bottom: 5px;
|
85
|
+
}
|
86
|
+
.list-group-item-text {
|
87
|
+
margin-bottom: 0;
|
88
|
+
line-height: 1.3;
|
89
89
|
}
|
@@ -129,22 +129,22 @@
|
|
129
129
|
// Transformations
|
130
130
|
@mixin rotate($degrees) {
|
131
131
|
-webkit-transform: rotate($degrees);
|
132
|
-
-ms-transform: rotate($degrees);
|
132
|
+
-ms-transform: rotate($degrees); // IE9+
|
133
133
|
transform: rotate($degrees);
|
134
134
|
}
|
135
135
|
@mixin scale($ratio) {
|
136
136
|
-webkit-transform: scale($ratio);
|
137
|
-
-ms-transform: scale($ratio);
|
137
|
+
-ms-transform: scale($ratio); // IE9+
|
138
138
|
transform: scale($ratio);
|
139
139
|
}
|
140
140
|
@mixin translate($x, $y) {
|
141
141
|
-webkit-transform: translate($x, $y);
|
142
|
-
-ms-transform: translate($x, $y);
|
142
|
+
-ms-transform: translate($x, $y); // IE9+
|
143
143
|
transform: translate($x, $y);
|
144
144
|
}
|
145
145
|
@mixin skew($x, $y) {
|
146
146
|
-webkit-transform: skew($x, $y);
|
147
|
-
-ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885
|
147
|
+
-ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
|
148
148
|
transform: skew($x, $y);
|
149
149
|
}
|
150
150
|
@mixin translate3d($x, $y, $z) {
|
@@ -157,19 +157,9 @@
|
|
157
157
|
// Default value is `visible`, but can be changed to `hidden`
|
158
158
|
// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
|
159
159
|
@mixin backface-visibility($visibility){
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
}
|
164
|
-
|
165
|
-
// Background clipping
|
166
|
-
@mixin background-clip($clip) {
|
167
|
-
background-clip: $clip;
|
168
|
-
}
|
169
|
-
|
170
|
-
// Background sizing
|
171
|
-
@mixin background-size($size) {
|
172
|
-
background-size: $size;
|
160
|
+
-webkit-backface-visibility: $visibility;
|
161
|
+
-moz-backface-visibility: $visibility;
|
162
|
+
backface-visibility: $visibility;
|
173
163
|
}
|
174
164
|
|
175
165
|
// Box sizing
|
@@ -184,7 +174,7 @@
|
|
184
174
|
@mixin user-select($select) {
|
185
175
|
-webkit-user-select: $select;
|
186
176
|
-moz-user-select: $select;
|
187
|
-
-ms-user-select: $select;
|
177
|
+
-ms-user-select: $select; // IE10+
|
188
178
|
-o-user-select: $select;
|
189
179
|
user-select: $select;
|
190
180
|
}
|
@@ -210,7 +200,7 @@
|
|
210
200
|
word-wrap: break-word;
|
211
201
|
-webkit-hyphens: $mode;
|
212
202
|
-moz-hyphens: $mode;
|
213
|
-
-ms-hyphens: $mode;
|
203
|
+
-ms-hyphens: $mode; // IE10+
|
214
204
|
-o-hyphens: $mode;
|
215
205
|
hyphens: $mode;
|
216
206
|
}
|
@@ -232,8 +222,7 @@
|
|
232
222
|
//
|
233
223
|
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
234
224
|
// Color stops are not available in IE9 and below.
|
235
|
-
@mixin gradient-horizontal($start-color: #555, $
|
236
|
-
background-color: $end-color;
|
225
|
+
@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
237
226
|
background-image: -webkit-gradient(linear, $start-percent top, $end-percent top, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
|
238
227
|
background-image: -webkit-linear-gradient(left, color-stop($start-color $start-percent), color-stop($end-color $end-percent)); // Safari 5.1+, Chrome 10+
|
239
228
|
background-image: -moz-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
|
@@ -246,8 +235,7 @@
|
|
246
235
|
//
|
247
236
|
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
248
237
|
// Color stops are not available in IE9 and below.
|
249
|
-
@mixin gradient-vertical($start-color: #555, $
|
250
|
-
background-color: $end-color;
|
238
|
+
@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
251
239
|
background-image: -webkit-gradient(linear, left $start-percent, left $end-percent, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
|
252
240
|
background-image: -webkit-linear-gradient(top, $start-color, $start-percent, $end-color, $end-percent); // Safari 5.1+, Chrome 10+
|
253
241
|
background-image: -moz-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
|
@@ -257,7 +245,6 @@
|
|
257
245
|
}
|
258
246
|
|
259
247
|
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
260
|
-
background-color: $end-color;
|
261
248
|
background-repeat: repeat-x;
|
262
249
|
background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1+, Chrome 10+
|
263
250
|
background-image: -moz-linear-gradient($deg, $start-color, $end-color); // FF 3.6+
|
@@ -265,7 +252,6 @@
|
|
265
252
|
}
|
266
253
|
|
267
254
|
@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
268
|
-
background-color: mix($mid-color, $end-color, 80%);
|
269
255
|
background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from($start-color), color-stop($color-stop, $mid-color), to($end-color));
|
270
256
|
background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
|
271
257
|
background-image: -moz-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
|
@@ -275,7 +261,6 @@
|
|
275
261
|
}
|
276
262
|
|
277
263
|
@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
278
|
-
background-color: mix($mid-color, $end-color, 80%);
|
279
264
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($start-color), color-stop($color-stop, $mid-color), to($end-color));
|
280
265
|
background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
281
266
|
background-image: -moz-linear-gradient(top, $start-color, $mid-color $color-stop, $end-color);
|
@@ -284,7 +269,6 @@
|
|
284
269
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
|
285
270
|
}
|
286
271
|
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
287
|
-
background-color: $outer-color;
|
288
272
|
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($inner-color), to($outer-color));
|
289
273
|
background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
|
290
274
|
background-image: -moz-radial-gradient(circle, $inner-color, $outer-color);
|
@@ -292,7 +276,6 @@
|
|
292
276
|
background-repeat: no-repeat;
|
293
277
|
}
|
294
278
|
@mixin gradient-striped($color: #555, $angle: 45deg) {
|
295
|
-
background-color: $color;
|
296
279
|
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
|
297
280
|
background-image: -webkit-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
298
281
|
background-image: -moz-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
@@ -342,6 +325,25 @@
|
|
342
325
|
background-color: $color;
|
343
326
|
}
|
344
327
|
|
328
|
+
// Panels
|
329
|
+
// -------------------------
|
330
|
+
@mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {
|
331
|
+
border-color: $border;
|
332
|
+
.panel-heading {
|
333
|
+
color: $heading-text-color;
|
334
|
+
background-color: $heading-bg-color;
|
335
|
+
border-color: $heading-border;
|
336
|
+
+ .panel-collapse .panel-body {
|
337
|
+
border-top-color: $border;
|
338
|
+
}
|
339
|
+
}
|
340
|
+
.panel-footer {
|
341
|
+
+ .panel-collapse .panel-body {
|
342
|
+
border-bottom-color: $border;
|
343
|
+
}
|
344
|
+
}
|
345
|
+
}
|
346
|
+
|
345
347
|
// Alerts
|
346
348
|
// -------------------------
|
347
349
|
@mixin alert-variant($background, $border, $text-color) {
|
@@ -356,11 +358,11 @@
|
|
356
358
|
}
|
357
359
|
}
|
358
360
|
|
359
|
-
// Button
|
361
|
+
// Button variants
|
360
362
|
// -------------------------
|
361
363
|
// Easily pump out default styles, as well as :hover, :focus, :active,
|
362
364
|
// and disabled options for all buttons
|
363
|
-
@mixin
|
365
|
+
@mixin button-variant($color, $background, $border) {
|
364
366
|
color: $color;
|
365
367
|
background-color: $background;
|
366
368
|
border-color: $border;
|
@@ -369,8 +371,9 @@
|
|
369
371
|
&:focus,
|
370
372
|
&:active,
|
371
373
|
&.active {
|
372
|
-
|
373
|
-
|
374
|
+
color: $color;
|
375
|
+
background-color: darken($background, 8%);
|
376
|
+
border-color: darken($border, 12%);
|
374
377
|
}
|
375
378
|
|
376
379
|
&.disabled,
|
@@ -387,6 +390,39 @@
|
|
387
390
|
}
|
388
391
|
}
|
389
392
|
|
393
|
+
// Button sizes
|
394
|
+
// -------------------------
|
395
|
+
@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
|
396
|
+
padding: $padding-vertical $padding-horizontal;
|
397
|
+
font-size: $font-size;
|
398
|
+
line-height: $line-height;
|
399
|
+
border-radius: $border-radius;
|
400
|
+
}
|
401
|
+
|
402
|
+
// Pagination
|
403
|
+
// -------------------------
|
404
|
+
@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $border-radius) {
|
405
|
+
> li {
|
406
|
+
> a,
|
407
|
+
> span {
|
408
|
+
padding: $padding-vertical $padding-horizontal;
|
409
|
+
font-size: $font-size;
|
410
|
+
}
|
411
|
+
&:first-child {
|
412
|
+
> a,
|
413
|
+
> span {
|
414
|
+
@include border-left-radius($border-radius);
|
415
|
+
}
|
416
|
+
}
|
417
|
+
&:last-child {
|
418
|
+
> a,
|
419
|
+
> span {
|
420
|
+
@include border-right-radius($border-radius);
|
421
|
+
}
|
422
|
+
}
|
423
|
+
}
|
424
|
+
}
|
425
|
+
|
390
426
|
// Labels
|
391
427
|
// -------------------------
|
392
428
|
@mixin label-variant($color) {
|
@@ -402,7 +438,7 @@
|
|
402
438
|
// Navbar vertical align
|
403
439
|
// -------------------------
|
404
440
|
// Vertically center elements in the navbar.
|
405
|
-
// Example: an element has a height of 30px, so write out `.
|
441
|
+
// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
|
406
442
|
@mixin navbar-vertical-align($element-height) {
|
407
443
|
margin-top: (($navbar-height - $element-height) / 2);
|
408
444
|
margin-bottom: (($navbar-height - $element-height) / 2);
|
@@ -450,51 +486,136 @@
|
|
450
486
|
}
|
451
487
|
|
452
488
|
// Creates a wrapper for a series of columns
|
453
|
-
@mixin make-row() {
|
489
|
+
@mixin make-row($gutter: $grid-gutter-width) {
|
454
490
|
// Then clear the floated columns
|
455
491
|
@include clearfix();
|
456
492
|
|
457
|
-
|
458
|
-
|
459
|
-
|
493
|
+
.container & {
|
494
|
+
@media (min-width: $screen-small) {
|
495
|
+
margin-left: ($gutter / -2);
|
496
|
+
margin-right: ($gutter / -2);
|
497
|
+
}
|
460
498
|
}
|
461
499
|
|
462
500
|
// Negative margin nested rows out to align the content of columns
|
463
501
|
.row {
|
464
|
-
margin-left: ($
|
465
|
-
margin-right: ($
|
502
|
+
margin-left: ($gutter / -2);
|
503
|
+
margin-right: ($gutter / -2);
|
466
504
|
}
|
467
505
|
}
|
468
506
|
|
469
|
-
// Generate the columns
|
470
|
-
@mixin make-column($columns) {
|
507
|
+
// Generate the extra small columns
|
508
|
+
@mixin make-xs-column($columns, $gutter: $grid-gutter-width) {
|
471
509
|
position: relative;
|
510
|
+
float: left;
|
472
511
|
// Prevent columns from collapsing when empty
|
473
512
|
min-height: 1px;
|
474
513
|
// Inner gutter via padding
|
475
|
-
padding-left: ($
|
476
|
-
padding-right: ($
|
514
|
+
padding-left: ($gutter / 2);
|
515
|
+
padding-right: ($gutter / 2);
|
516
|
+
$max-width: ($screen-small - 1);
|
477
517
|
|
478
518
|
// Calculate width based on number of columns available
|
479
|
-
@media (
|
519
|
+
@media (max-width: $max-width) {
|
520
|
+
width: percentage(($columns / $grid-columns));
|
521
|
+
}
|
522
|
+
}
|
523
|
+
|
524
|
+
// Generate the small columns
|
525
|
+
@mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
|
526
|
+
position: relative;
|
527
|
+
// Prevent columns from collapsing when empty
|
528
|
+
min-height: 1px;
|
529
|
+
// Inner gutter via padding
|
530
|
+
padding-left: ($gutter / 2);
|
531
|
+
padding-right: ($gutter / 2);
|
532
|
+
|
533
|
+
// Calculate width based on number of columns available
|
534
|
+
@media (min-width: $screen-small) {
|
480
535
|
float: left;
|
481
536
|
width: percentage(($columns / $grid-columns));
|
482
537
|
}
|
483
538
|
}
|
484
539
|
|
485
|
-
// Generate the column offsets
|
486
|
-
@mixin make-column-offset($columns) {
|
487
|
-
@media (min-width: $
|
540
|
+
// Generate the small column offsets
|
541
|
+
@mixin make-sm-column-offset($columns) {
|
542
|
+
@media (min-width: $screen-small) {
|
488
543
|
margin-left: percentage(($columns / $grid-columns));
|
489
544
|
}
|
490
545
|
}
|
491
|
-
@mixin make-column-push($columns) {
|
492
|
-
@media (min-width: $
|
546
|
+
@mixin make-sm-column-push($columns) {
|
547
|
+
@media (min-width: $screen-small) {
|
493
548
|
left: percentage(($columns / $grid-columns));
|
494
549
|
}
|
495
550
|
}
|
496
|
-
@mixin make-column-pull($columns) {
|
497
|
-
@media (min-width: $
|
551
|
+
@mixin make-sm-column-pull($columns) {
|
552
|
+
@media (min-width: $screen-small) {
|
553
|
+
right: percentage(($columns / $grid-columns));
|
554
|
+
}
|
555
|
+
}
|
556
|
+
|
557
|
+
// Generate the medium columns
|
558
|
+
@mixin make-md-column($columns, $gutter: $grid-gutter-width) {
|
559
|
+
position: relative;
|
560
|
+
// Prevent columns from collapsing when empty
|
561
|
+
min-height: 1px;
|
562
|
+
// Inner gutter via padding
|
563
|
+
padding-left: ($gutter / 2);
|
564
|
+
padding-right: ($gutter / 2);
|
565
|
+
|
566
|
+
// Calculate width based on number of columns available
|
567
|
+
@media (min-width: $screen-medium) {
|
568
|
+
float: left;
|
569
|
+
width: percentage(($columns / $grid-columns));
|
570
|
+
}
|
571
|
+
}
|
572
|
+
|
573
|
+
// Generate the large column offsets
|
574
|
+
@mixin make-md-column-offset($columns) {
|
575
|
+
@media (min-width: $screen-medium) {
|
576
|
+
margin-left: percentage(($columns / $grid-columns));
|
577
|
+
}
|
578
|
+
}
|
579
|
+
@mixin make-md-column-push($columns) {
|
580
|
+
@media (min-width: $screen-medium) {
|
581
|
+
left: percentage(($columns / $grid-columns));
|
582
|
+
}
|
583
|
+
}
|
584
|
+
@mixin make-md-column-pull($columns) {
|
585
|
+
@media (min-width: $screen-medium) {
|
586
|
+
right: percentage(($columns / $grid-columns));
|
587
|
+
}
|
588
|
+
}
|
589
|
+
|
590
|
+
// Generate the large columns
|
591
|
+
@mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
|
592
|
+
position: relative;
|
593
|
+
// Prevent columns from collapsing when empty
|
594
|
+
min-height: 1px;
|
595
|
+
// Inner gutter via padding
|
596
|
+
padding-left: ($gutter / 2);
|
597
|
+
padding-right: ($gutter / 2);
|
598
|
+
|
599
|
+
// Calculate width based on number of columns available
|
600
|
+
@media (min-width: $screen-large) {
|
601
|
+
float: left;
|
602
|
+
width: percentage(($columns / $grid-columns));
|
603
|
+
}
|
604
|
+
}
|
605
|
+
|
606
|
+
// Generate the large column offsets
|
607
|
+
@mixin make-lg-column-offset($columns) {
|
608
|
+
@media (min-width: $screen-large) {
|
609
|
+
margin-left: percentage(($columns / $grid-columns));
|
610
|
+
}
|
611
|
+
}
|
612
|
+
@mixin make-lg-column-push($columns) {
|
613
|
+
@media (min-width: $screen-large) {
|
614
|
+
left: percentage(($columns / $grid-columns));
|
615
|
+
}
|
616
|
+
}
|
617
|
+
@mixin make-lg-column-pull($columns) {
|
618
|
+
@media (min-width: $screen-large) {
|
498
619
|
right: percentage(($columns / $grid-columns));
|
499
620
|
}
|
500
621
|
}
|
@@ -513,7 +634,6 @@
|
|
513
634
|
}
|
514
635
|
// Set the border and box shadow on specific inputs to match
|
515
636
|
.form-control {
|
516
|
-
padding-right: 32px; // to account for the feedback icon
|
517
637
|
border-color: $border-color;
|
518
638
|
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
|
519
639
|
&:focus {
|
@@ -529,3 +649,58 @@
|
|
529
649
|
background-color: $background-color;
|
530
650
|
}
|
531
651
|
}
|
652
|
+
|
653
|
+
// Form control focus state
|
654
|
+
//
|
655
|
+
// Generate a customized focus state and for any input with the specified color,
|
656
|
+
// which defaults to the `@input-focus-border` variable.
|
657
|
+
//
|
658
|
+
// We highly encourage you to not customize the default value, but instead use
|
659
|
+
// this to tweak colors on an as-needed basis. This aesthetic change is based on
|
660
|
+
// WebKit's default styles, but applicable to a wider range of browsers. Its
|
661
|
+
// usability and accessibility should be taken into account with any change.
|
662
|
+
//
|
663
|
+
// Example usage: change the default blue border and shadow to white for better
|
664
|
+
// contrast against a dark gray background.
|
665
|
+
|
666
|
+
@mixin form-control-focus($color: $input-border-focus) {
|
667
|
+
$color-rgba: rgba(red($color), green($color), blue($color), .6);
|
668
|
+
&:focus {
|
669
|
+
border-color: $color;
|
670
|
+
outline: 0;
|
671
|
+
@include box-shadow((inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba));
|
672
|
+
}
|
673
|
+
}
|
674
|
+
|
675
|
+
// Form control sizing
|
676
|
+
//
|
677
|
+
// Relative text size, padding, and border-radii changes for form controls. For
|
678
|
+
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
679
|
+
// element gets special love because it's special, and that's a fact!
|
680
|
+
|
681
|
+
@mixin input-size($selector, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
|
682
|
+
#{$selector} {
|
683
|
+
height: $input-height;
|
684
|
+
padding: $padding-vertical $padding-horizontal;
|
685
|
+
font-size: $font-size;
|
686
|
+
line-height: $line-height;
|
687
|
+
border-radius: $border-radius;
|
688
|
+
}
|
689
|
+
|
690
|
+
select#{$selector} {
|
691
|
+
height: $input-height;
|
692
|
+
line-height: $input-height;
|
693
|
+
}
|
694
|
+
|
695
|
+
textarea#{$selector} {
|
696
|
+
height: auto;
|
697
|
+
}
|
698
|
+
}
|
699
|
+
|
700
|
+
@mixin pull-right {
|
701
|
+
float: right !important;
|
702
|
+
}
|
703
|
+
|
704
|
+
@mixin pull-left {
|
705
|
+
float: left !important;
|
706
|
+
}
|