bootstrap-sass-rails 3.0.2.1 → 3.0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/README.md +20 -0
  2. data/app/assets/javascripts/twitter/bootstrap/affix.js +1 -1
  3. data/app/assets/javascripts/twitter/bootstrap/alert.js +1 -1
  4. data/app/assets/javascripts/twitter/bootstrap/button.js +11 -5
  5. data/app/assets/javascripts/twitter/bootstrap/carousel.js +5 -5
  6. data/app/assets/javascripts/twitter/bootstrap/collapse.js +1 -1
  7. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +5 -5
  8. data/app/assets/javascripts/twitter/bootstrap/modal.js +1 -1
  9. data/app/assets/javascripts/twitter/bootstrap/popover.js +1 -1
  10. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +2 -2
  11. data/app/assets/javascripts/twitter/bootstrap/tab.js +1 -1
  12. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +1 -1
  13. data/app/assets/javascripts/twitter/bootstrap/transition.js +1 -1
  14. data/app/assets/stylesheets/twitter/bootstrap/_badges.scss +6 -6
  15. data/app/assets/stylesheets/twitter/bootstrap/_button-groups.scss +7 -33
  16. data/app/assets/stylesheets/twitter/bootstrap/_buttons.scss +2 -5
  17. data/app/assets/stylesheets/twitter/bootstrap/_carousel.scss +1 -0
  18. data/app/assets/stylesheets/twitter/bootstrap/_close.scss +1 -0
  19. data/app/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +3 -8
  20. data/app/assets/stylesheets/twitter/bootstrap/_forms.scss +12 -0
  21. data/app/assets/stylesheets/twitter/bootstrap/_glyphicons.scss +1 -1
  22. data/app/assets/stylesheets/twitter/bootstrap/_grid.scss +12 -26
  23. data/app/assets/stylesheets/twitter/bootstrap/_input-groups.scss +1 -1
  24. data/app/assets/stylesheets/twitter/bootstrap/_jumbotron.scss +8 -2
  25. data/app/assets/stylesheets/twitter/bootstrap/_labels.scss +6 -0
  26. data/app/assets/stylesheets/twitter/bootstrap/_mixins.scss +39 -52
  27. data/app/assets/stylesheets/twitter/bootstrap/_modals.scss +3 -5
  28. data/app/assets/stylesheets/twitter/bootstrap/_navbar.scss +41 -53
  29. data/app/assets/stylesheets/twitter/bootstrap/_navs.scss +0 -20
  30. data/app/assets/stylesheets/twitter/bootstrap/_panels.scss +11 -1
  31. data/app/assets/stylesheets/twitter/bootstrap/_progress-bars.scss +0 -12
  32. data/app/assets/stylesheets/twitter/bootstrap/_tables.scss +17 -22
  33. data/app/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +10 -3
  34. data/app/assets/stylesheets/twitter/bootstrap/_type.scss +54 -52
  35. data/app/assets/stylesheets/twitter/bootstrap/_variables.scss +15 -10
  36. data/lib/bootstrap/sass/rails/version.rb +1 -1
  37. data/lib/generators/bootstrap/customize_generator.rb +37 -0
  38. data/lib/generators/bootstrap/templates/USAGE +23 -0
  39. data/lib/generators/bootstrap/templates/bootstrap-custom.css.scss +18 -0
  40. data/lib/generators/bootstrap/templates/bootstrap-custom.js +3 -0
  41. data/test/cases/less_to_sass_spec.rb +1 -1
  42. metadata +27 -5
  43. checksums.yaml +0 -15
data/README.md CHANGED
@@ -67,6 +67,26 @@ within `.css.scss` files.
67
67
  }
68
68
  ```
69
69
 
70
+ You can also use the generator to generate custom bootstrap includes to override your variables and load only
71
+ the components you need.
72
+
73
+ ```
74
+ rails generate bootstrap:customize
75
+ ```
76
+
77
+ Then you just need to include the bootstrap-custom file in your application.css
78
+
79
+ ```css
80
+ @import "bootstrap-custom";
81
+ ```
82
+
83
+ The generator has a `--css-components` option that includes all available bootstrap components in the
84
+ custom include file. You can pick and choose what you need from there. There can be dependencies between
85
+ the different components, please check the Bootstrap homepage for details.
86
+
87
+ For the Javascript components there is a `--js-components` option. The same rules as for the CSS components
88
+ apply, if you are unsure about the order and dependencies please check the upstream homepage.
89
+
70
90
  ### Javascripts
71
91
 
72
92
  Using the JavaScript works the same way. You can include them all with a
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: affix.js v3.0.2
2
+ * Bootstrap: affix.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#affix
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: alert.js v3.0.2
2
+ * Bootstrap: alert.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#alerts
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: button.js v3.0.2
2
+ * Bootstrap: button.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#buttons
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -54,15 +54,21 @@
54
54
 
55
55
  Button.prototype.toggle = function () {
56
56
  var $parent = this.$element.closest('[data-toggle="buttons"]')
57
+ var changed = true
57
58
 
58
59
  if ($parent.length) {
59
60
  var $input = this.$element.find('input')
60
- .prop('checked', !this.$element.hasClass('active'))
61
- .trigger('change')
62
- if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
61
+ if ($input.prop('type') === 'radio') {
62
+ // see if clicking on current one
63
+ if ($input.prop('checked') && this.$element.hasClass('active'))
64
+ changed = false
65
+ else
66
+ $parent.find('.active').removeClass('active')
67
+ }
68
+ if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
63
69
  }
64
70
 
65
- this.$element.toggleClass('active')
71
+ if (changed) this.$element.toggleClass('active')
66
72
  }
67
73
 
68
74
 
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: carousel.js v3.0.2
2
+ * Bootstrap: carousel.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#carousel
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -69,7 +69,7 @@
69
69
 
70
70
  if (pos > (this.$items.length - 1) || pos < 0) return
71
71
 
72
- if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })
72
+ if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
73
73
  if (activeIndex == pos) return this.pause().cycle()
74
74
 
75
75
  return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
@@ -121,7 +121,7 @@
121
121
 
122
122
  if (this.$indicators.length) {
123
123
  this.$indicators.find('.active').removeClass('active')
124
- this.$element.one('slid', function () {
124
+ this.$element.one('slid.bs.carousel', function () {
125
125
  var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
126
126
  $nextIndicator && $nextIndicator.addClass('active')
127
127
  })
@@ -139,7 +139,7 @@
139
139
  $next.removeClass([type, direction].join(' ')).addClass('active')
140
140
  $active.removeClass(['active', direction].join(' '))
141
141
  that.sliding = false
142
- setTimeout(function () { that.$element.trigger('slid') }, 0)
142
+ setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0)
143
143
  })
144
144
  .emulateTransitionEnd(600)
145
145
  } else {
@@ -148,7 +148,7 @@
148
148
  $active.removeClass('active')
149
149
  $next.addClass('active')
150
150
  this.sliding = false
151
- this.$element.trigger('slid')
151
+ this.$element.trigger('slid.bs.carousel')
152
152
  }
153
153
 
154
154
  isCycling && this.cycle()
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: collapse.js v3.0.2
2
+ * Bootstrap: collapse.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#collapse
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: dropdown.js v3.0.2
2
+ * Bootstrap: dropdown.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#dropdowns
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -26,7 +26,7 @@
26
26
  var backdrop = '.dropdown-backdrop'
27
27
  var toggle = '[data-toggle=dropdown]'
28
28
  var Dropdown = function (element) {
29
- var $el = $(element).on('click.bs.dropdown', this.toggle)
29
+ $(element).on('click.bs.dropdown', this.toggle)
30
30
  }
31
31
 
32
32
  Dropdown.prototype.toggle = function (e) {
@@ -41,7 +41,7 @@
41
41
 
42
42
  if (!isActive) {
43
43
  if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
44
- // if mobile we we use a backdrop because click events don't delegate
44
+ // if mobile we use a backdrop because click events don't delegate
45
45
  $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
46
46
  }
47
47
 
@@ -123,9 +123,9 @@
123
123
  $.fn.dropdown = function (option) {
124
124
  return this.each(function () {
125
125
  var $this = $(this)
126
- var data = $this.data('dropdown')
126
+ var data = $this.data('bs.dropdown')
127
127
 
128
- if (!data) $this.data('dropdown', (data = new Dropdown(this)))
128
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
129
129
  if (typeof option == 'string') data[option].call($this)
130
130
  })
131
131
  }
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: modal.js v3.0.2
2
+ * Bootstrap: modal.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#modals
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: popover.js v3.0.2
2
+ * Bootstrap: popover.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#popovers
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: scrollspy.js v3.0.2
2
+ * Bootstrap: scrollspy.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#scrollspy
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -113,7 +113,7 @@
113
113
  .addClass('active')
114
114
  }
115
115
 
116
- active.trigger('activate')
116
+ active.trigger('activate.bs.scrollspy')
117
117
  }
118
118
 
119
119
 
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: tab.js v3.0.2
2
+ * Bootstrap: tab.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#tabs
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: tooltip.js v3.0.2
2
+ * Bootstrap: tooltip.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#tooltip
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ========================================================================
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: transition.js v3.0.2
2
+ * Bootstrap: transition.js v3.0.3
3
3
  * http://getbootstrap.com/javascript/#transitions
4
4
  * ========================================================================
5
5
  * Copyright 2013 Twitter, Inc.
@@ -22,6 +22,12 @@
22
22
  &:empty {
23
23
  display: none;
24
24
  }
25
+
26
+ // Quick fix for badges in buttons
27
+ .btn & {
28
+ position: relative;
29
+ top: -1px;
30
+ }
25
31
  }
26
32
 
27
33
  // Hover state, but only for links
@@ -34,12 +40,6 @@ a.badge {
34
40
  }
35
41
  }
36
42
 
37
- // Quick fix for labels/badges in buttons
38
- .btn .badge {
39
- position: relative;
40
- top: -1px;
41
- }
42
-
43
43
  // Account for counters in navs
44
44
  a.list-group-item.active > .badge,
45
45
  .nav-pills > .active > a > .badge {
@@ -2,37 +2,6 @@
2
2
  // Button groups
3
3
  // --------------------------------------------------
4
4
 
5
- // Button carets
6
- //
7
- // Match the button text color to the arrow/caret for indicating dropdown-ness.
8
-
9
- .caret {
10
- .btn-default & {
11
- border-top-color: $btn-default-color;
12
- }
13
- .btn-primary &,
14
- .btn-success &,
15
- .btn-warning &,
16
- .btn-danger &,
17
- .btn-info & {
18
- border-top-color: #fff;
19
- }
20
- }
21
- .dropup {
22
- .btn-default .caret {
23
- border-bottom-color: $btn-default-color;
24
- }
25
- .btn-primary,
26
- .btn-success,
27
- .btn-warning,
28
- .btn-danger,
29
- .btn-info {
30
- .caret {
31
- border-bottom-color: #fff;
32
- }
33
- }
34
- }
35
-
36
5
  // Make the div behave like a button
37
6
  .btn-group,
38
7
  .btn-group-vertical {
@@ -178,7 +147,8 @@
178
147
 
179
148
  .btn-group-vertical {
180
149
  > .btn,
181
- > .btn-group {
150
+ > .btn-group,
151
+ > .btn-group > .btn {
182
152
  display: block;
183
153
  float: none;
184
154
  width: 100%;
@@ -238,11 +208,15 @@
238
208
  width: 100%;
239
209
  table-layout: fixed;
240
210
  border-collapse: separate;
241
- .btn {
211
+ > .btn,
212
+ > .btn-group {
242
213
  float: none;
243
214
  display: table-cell;
244
215
  width: 1%;
245
216
  }
217
+ > .btn-group .btn {
218
+ width: 100%;
219
+ }
246
220
  }
247
221
 
248
222
 
@@ -6,7 +6,6 @@
6
6
  // Base styles
7
7
  // --------------------------------------------------
8
8
 
9
- // Core styles
10
9
  .btn {
11
10
  display: inline-block;
12
11
  margin-bottom: 0; // For input.btn
@@ -45,7 +44,6 @@
45
44
  @include opacity(.65);
46
45
  @include box-shadow(none);
47
46
  }
48
-
49
47
  }
50
48
 
51
49
 
@@ -123,13 +121,12 @@
123
121
  // line-height: ensure even-numbered height of button next to large input
124
122
  @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large);
125
123
  }
126
- .btn-sm,
127
- .btn-xs {
124
+ .btn-sm {
128
125
  // line-height: ensure proper height of button next to small input
129
126
  @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small);
130
127
  }
131
128
  .btn-xs {
132
- padding: 1px 5px;
129
+ @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $border-radius-small);
133
130
  }
134
131
 
135
132
 
@@ -91,6 +91,7 @@
91
91
  // Hover/focus state
92
92
  &:hover,
93
93
  &:focus {
94
+ outline: none;
94
95
  color: $carousel-control-color;
95
96
  text-decoration: none;
96
97
  @include opacity(.9);
@@ -21,6 +21,7 @@
21
21
  }
22
22
  }
23
23
 
24
+
24
25
  // Additional properties for button version
25
26
  // iOS requires the button element instead of an anchor tag.
26
27
  // If you want the anchor version, it requires `href="#"`.
@@ -10,12 +10,9 @@
10
10
  height: 0;
11
11
  margin-left: 2px;
12
12
  vertical-align: middle;
13
- border-top: $caret-width-base solid $dropdown-caret-color;
13
+ border-top: $caret-width-base solid;
14
14
  border-right: $caret-width-base solid transparent;
15
15
  border-left: $caret-width-base solid transparent;
16
- // Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once fixed,
17
- // we can just straight up remove this.
18
- border-bottom: 0 dotted;
19
16
  }
20
17
 
21
18
  // The dropdown wrapper (div)
@@ -163,10 +160,8 @@
163
160
  .navbar-fixed-bottom .dropdown {
164
161
  // Reverse the caret
165
162
  .caret {
166
- // Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once this
167
- // gets fixed, restore `border-top: 0;`.
168
- border-top: 0 dotted;
169
- border-bottom: $caret-width-base solid $dropdown-caret-color;
163
+ border-top: 0;
164
+ border-bottom: $caret-width-base solid;
170
165
  content: "";
171
166
  }
172
167
  // Different positioning for bottom up menu
@@ -152,6 +152,7 @@ output {
152
152
  }
153
153
  }
154
154
 
155
+
155
156
  // Reset height for `textarea`s
156
157
  textarea.form-control {
157
158
  height: auto;
@@ -306,6 +307,11 @@ input[type="checkbox"],
306
307
  display: inline-block;
307
308
  }
308
309
 
310
+ // Override `width: 100%;` when not within a `.form-group`
311
+ select.form-control {
312
+ width: auto;
313
+ }
314
+
309
315
  // Remove default margin on radios/checkboxes that were used for stacking, and
310
316
  // then undo the floating of radios and checkboxes to match (which also avoids
311
317
  // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
@@ -342,6 +348,12 @@ input[type="checkbox"],
342
348
  margin-bottom: 0;
343
349
  padding-top: ($padding-base-vertical + 1); // Default padding plus a border
344
350
  }
351
+ // Account for padding we're adding to ensure the alignment and of help text
352
+ // and other content below items
353
+ .radio,
354
+ .checkbox {
355
+ min-height: $line-height-computed + ($padding-base-vertical + 1);
356
+ }
345
357
 
346
358
  // Make form groups behave like rows
347
359
  .form-group {
@@ -14,7 +14,7 @@
14
14
  src: font-url("#{$icon-font-path}#{$icon-font-name}.eot?#iefix") format('embedded-opentype'),
15
15
  font-url("#{$icon-font-path}#{$icon-font-name}.woff") format('woff'),
16
16
  font-url("#{$icon-font-path}#{$icon-font-name}.ttf") format('truetype'),
17
- font-url("#{$icon-font-path}#{$icon-font-name}.svg#glyphicons_halflingsregular") format('svg');
17
+ font-url("#{$icon-font-path}#{$icon-font-name}.svg#glyphicons-halflingsregular") format('svg');
18
18
  }
19
19
 
20
20
  // Catchall baseclass
@@ -5,6 +5,16 @@
5
5
  // Set the container width, and override it for fixed navbars in media queries
6
6
  .container {
7
7
  @include container-fixed();
8
+
9
+ @media (min-width: $screen-sm) {
10
+ width: $container-sm;
11
+ }
12
+ @media (min-width: $screen-md) {
13
+ width: $container-md;
14
+ }
15
+ @media (min-width: $screen-lg-min) {
16
+ width: $container-lg;
17
+ }
8
18
  }
9
19
 
10
20
  // mobile first defaults
@@ -18,11 +28,8 @@
18
28
 
19
29
  // Extra small grid
20
30
  //
21
- // Grid classes for extra small devices like smartphones. No offset, push, or
22
- // pull classes are present here due to the size of the target.
23
- //
24
- // Note that `.col-xs-12` doesn't get floated on purpose--there's no need since
25
- // it's full-width.
31
+ // Columns, offsets, pushes, and pulls for extra small devices like
32
+ // smartphones.
26
33
 
27
34
  @include make-grid-columns-float(xs);
28
35
  @include make-grid($grid-columns, xs, width);
@@ -35,15 +42,8 @@
35
42
  //
36
43
  // Columns, offsets, pushes, and pulls for the small device range, from phones
37
44
  // to tablets.
38
- //
39
- // Note that `.col-sm-12` doesn't get floated on purpose--there's no need since
40
- // it's full-width.
41
45
 
42
46
  @media (min-width: $screen-sm-min) {
43
- .container {
44
- width: $container-sm;
45
- }
46
-
47
47
  @include make-grid-columns-float(sm);
48
48
  @include make-grid($grid-columns, sm, width);
49
49
  @include make-grid($grid-columns, sm, pull);
@@ -55,15 +55,8 @@
55
55
  // Medium grid
56
56
  //
57
57
  // Columns, offsets, pushes, and pulls for the desktop device range.
58
- //
59
- // Note that `.col-md-12` doesn't get floated on purpose--there's no need since
60
- // it's full-width.
61
58
 
62
59
  @media (min-width: $screen-md-min) {
63
- .container {
64
- width: $container-md;
65
- }
66
-
67
60
  @include make-grid-columns-float(md);
68
61
  @include make-grid($grid-columns, md, width);
69
62
  @include make-grid($grid-columns, md, pull);
@@ -75,15 +68,8 @@
75
68
  // Large grid
76
69
  //
77
70
  // Columns, offsets, pushes, and pulls for the large desktop device range.
78
- //
79
- // Note that `.col-lg-12` doesn't get floated on purpose--there's no need since
80
- // it's full-width.
81
71
 
82
72
  @media (min-width: $screen-lg-min) {
83
- .container {
84
- width: $container-lg;
85
- }
86
-
87
73
  @include make-grid-columns-float(lg);
88
74
  @include make-grid($grid-columns, lg, width);
89
75
  @include make-grid($grid-columns, lg, pull);