bootstrap-sass-rails 3.0.2.1 → 3.0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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);