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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -12
  3. data/Rakefile +3 -2
  4. data/app/assets/javascripts/twitter/bootstrap.js +2 -1
  5. data/app/assets/javascripts/twitter/bootstrap/button.js +4 -2
  6. data/app/assets/javascripts/twitter/bootstrap/carousel.js +6 -2
  7. data/app/assets/javascripts/twitter/bootstrap/collapse.js +2 -2
  8. data/app/assets/javascripts/twitter/bootstrap/modal.js +19 -16
  9. data/app/assets/javascripts/twitter/bootstrap/popover.js +7 -5
  10. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +39 -21
  11. data/app/assets/javascripts/twitter/bootstrap/transition.js +2 -2
  12. data/app/assets/stylesheets/twitter/bootstrap/_alerts.scss +21 -19
  13. data/app/assets/stylesheets/twitter/bootstrap/_badges.scss +5 -5
  14. data/app/assets/stylesheets/twitter/bootstrap/_bootstrap.scss +1 -1
  15. data/app/assets/stylesheets/twitter/bootstrap/_button-groups.scss +96 -23
  16. data/app/assets/stylesheets/twitter/bootstrap/_buttons.scss +24 -18
  17. data/app/assets/stylesheets/twitter/bootstrap/_carousel.scss +10 -11
  18. data/app/assets/stylesheets/twitter/bootstrap/_close.scss +1 -1
  19. data/app/assets/stylesheets/twitter/bootstrap/_code.scss +4 -3
  20. data/app/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +23 -18
  21. data/app/assets/stylesheets/twitter/bootstrap/_forms.scss +65 -160
  22. data/app/assets/stylesheets/twitter/bootstrap/_grid.scss +244 -59
  23. data/app/assets/stylesheets/twitter/bootstrap/_input-groups.scss +127 -0
  24. data/app/assets/stylesheets/twitter/bootstrap/_labels.scss +12 -4
  25. data/app/assets/stylesheets/twitter/bootstrap/_list-group.scss +36 -36
  26. data/app/assets/stylesheets/twitter/bootstrap/_mixins.scss +227 -52
  27. data/app/assets/stylesheets/twitter/bootstrap/_modals.scss +6 -9
  28. data/app/assets/stylesheets/twitter/bootstrap/_navbar.scss +268 -82
  29. data/app/assets/stylesheets/twitter/bootstrap/_navs.scss +10 -18
  30. data/app/assets/stylesheets/twitter/bootstrap/_pagination.scss +5 -41
  31. data/app/assets/stylesheets/twitter/bootstrap/_panels.scss +83 -57
  32. data/app/assets/stylesheets/twitter/bootstrap/_popovers.scss +0 -2
  33. data/app/assets/stylesheets/twitter/bootstrap/_progress-bars.scss +2 -8
  34. data/app/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +76 -21
  35. data/app/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +18 -2
  36. data/app/assets/stylesheets/twitter/bootstrap/_tables.scss +1 -1
  37. data/app/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +2 -2
  38. data/app/assets/stylesheets/twitter/bootstrap/_tooltip.scss +1 -1
  39. data/app/assets/stylesheets/twitter/bootstrap/_type.scss +19 -13
  40. data/app/assets/stylesheets/twitter/bootstrap/_utilities.scss +3 -2
  41. data/app/assets/stylesheets/twitter/bootstrap/_variables.scss +86 -46
  42. data/app/assets/stylesheets/twitter/bootstrap/_wells.scss +2 -2
  43. data/lib/bootstrap-rails/version.rb +1 -1
  44. data/vendor/assets/javascripts/holder.js +419 -0
  45. metadata +4 -3
  46. 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: 500;
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: middle;
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 30px 10px 15px;
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-base);
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-base);
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
- .list-group-item-heading {
46
- margin-top: 0;
47
- margin-bottom: 5px;
48
- }
49
- .list-group-item-text {
50
- margin-bottom: 0;
51
- line-height: 1.3;
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
- // Colorize content accordingly
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
- // Active class on item itself, not parent
75
- &.active {
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
- // Force color to inherit for custom content
82
- .list-group-item-heading {
83
- color: inherit;
84
- }
85
- .list-group-item-text {
86
- color: lighten($list-group-active-bg, 40%);
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
- -webkit-backface-visibility: $visibility;
161
- -moz-backface-visibility: $visibility;
162
- backface-visibility: $visibility;
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, $start-percent: 0%, $end-color: #333, $end-percent: 100%) {
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, $start-percent: 0%, $end-color: #333, $end-percent: 100%) {
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 pseudo states
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 btn-pseudo-states($color, $background, $border) {
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
- background-color: darken($background, 5%);
373
- border-color: darken($border, 10%);
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 `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
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
- @media (min-width: $screen-small) {
458
- margin-left: ($grid-gutter-width / -2);
459
- margin-right: ($grid-gutter-width / -2);
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: ($grid-gutter-width / -2);
465
- margin-right: ($grid-gutter-width / -2);
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: ($grid-gutter-width / 2);
476
- padding-right: ($grid-gutter-width / 2);
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 (min-width: $grid-float-breakpoint) {
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: $grid-float-breakpoint) {
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: $grid-float-breakpoint) {
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: $grid-float-breakpoint) {
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
+ }