bootstrap-sass 1.3.2 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap-sass might be problematic. Click here for more details.

data/README.md CHANGED
@@ -8,21 +8,14 @@ Enjoy.
8
8
 
9
9
  In your gemfile:
10
10
 
11
- gem 'bootstrap-sass', '1.3.0'
11
+ gem 'bootstrap-sass', '1.4.0'
12
12
 
13
13
  ### CSS
14
14
 
15
- In your CSS file of choice:
15
+ In your SCSS file of choice:
16
16
 
17
17
  @import "bootstrap"; /* Use this to get all of Bootstrap's @mixins and $variables */
18
18
 
19
- or
20
-
21
- /*
22
- *= require bootstrap // This doesn't (at the moment) preserve loaded @mixins,
23
- * //so I wouldn't use this. Stil, its an alternative.
24
- */
25
-
26
19
  ### Javascript
27
20
 
28
21
  In your Javascript manifest:
@@ -30,7 +23,7 @@ In your Javascript manifest:
30
23
  // Loads all Bootstrap javascripts
31
24
  //= require bootstrap
32
25
 
33
- // Alternatively, load individual modules
26
+ // Alternatively, you can load individual modules
34
27
  //= require bootstrap-scrollspy
35
28
  //= require bootstrap-modal
36
29
  //= require bootstrap-dropdown
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-alerts.js v1.3.0
2
+ * bootstrap-alerts.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
4
4
  * ==========================================================
5
5
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
20
20
 
21
21
  !function( $ ){
22
22
 
23
+ "use strict"
24
+
23
25
  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
24
26
  * ======================================================= */
25
27
 
@@ -38,11 +40,11 @@
38
40
  if ( $.support.transition ) {
39
41
  transitionEnd = "TransitionEnd"
40
42
  if ( $.browser.webkit ) {
41
- transitionEnd = "webkitTransitionEnd"
43
+ transitionEnd = "webkitTransitionEnd"
42
44
  } else if ( $.browser.mozilla ) {
43
- transitionEnd = "transitionend"
45
+ transitionEnd = "transitionend"
44
46
  } else if ( $.browser.opera ) {
45
- transitionEnd = "oTransitionEnd"
47
+ transitionEnd = "oTransitionEnd"
46
48
  }
47
49
  }
48
50
 
@@ -108,4 +110,4 @@
108
110
  })
109
111
  })
110
112
 
111
- }( window.jQuery || window.ender );
113
+ }( window.jQuery || window.ender );
@@ -0,0 +1,62 @@
1
+ /* ============================================================
2
+ * bootstrap-buttons.js v1.4.0
3
+ * http://twitter.github.com/bootstrap/javascript.html#dropdown
4
+ * ============================================================
5
+ * Copyright 2011 Twitter, Inc.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ * ============================================================ */
19
+
20
+ !function( $ ){
21
+
22
+ "use strict"
23
+
24
+ function setState(el, state) {
25
+ var d = 'disabled'
26
+ , $el = $(el)
27
+ , data = $el.data()
28
+
29
+ state = state + 'Text'
30
+ data.resetText || $el.data('resetText', $el.html())
31
+
32
+ $el.html( data[state] || $.fn.button.defaults[state] )
33
+
34
+ state == 'loadingText' ?
35
+ $el.addClass(d).attr(d, d) :
36
+ $el.removeClass(d).removeAttr(d)
37
+ }
38
+
39
+ function toggle(el) {
40
+ $(el).toggleClass('active')
41
+ }
42
+
43
+ $.fn.button = function(options) {
44
+ return this.each(function () {
45
+ if (options == 'toggle') {
46
+ return toggle(this)
47
+ }
48
+ options && setState(this, options)
49
+ })
50
+ }
51
+
52
+ $.fn.button.defaults = {
53
+ loadingText: 'loading...'
54
+ }
55
+
56
+ $(function () {
57
+ $('body').delegate('.btn[data-toggle]', 'click', function () {
58
+ $(this).button('toggle')
59
+ })
60
+ })
61
+
62
+ }( window.jQuery || window.ender );
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-dropdown.js v1.3.0
2
+ * bootstrap-dropdown.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#dropdown
4
4
  * ============================================================
5
5
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
20
20
 
21
21
  !function( $ ){
22
22
 
23
+ "use strict"
24
+
23
25
  /* DROPDOWN PLUGIN DEFINITION
24
26
  * ========================== */
25
27
 
@@ -1,5 +1,5 @@
1
1
  /* =========================================================
2
- * bootstrap-modal.js v1.3.0
2
+ * bootstrap-modal.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#modal
4
4
  * =========================================================
5
5
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
20
20
 
21
21
  !function( $ ){
22
22
 
23
+ "use strict"
24
+
23
25
  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
24
26
  * ======================================================= */
25
27
 
@@ -87,8 +89,7 @@
87
89
  that.$element[0].offsetWidth // force reflow
88
90
  }
89
91
 
90
- that.$element
91
- .addClass('in')
92
+ that.$element.addClass('in')
92
93
 
93
94
  transition ?
94
95
  that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
@@ -115,17 +116,9 @@
115
116
  .trigger('hide')
116
117
  .removeClass('in')
117
118
 
118
- function removeElement () {
119
- that.$element
120
- .hide()
121
- .trigger('hidden')
122
-
123
- backdrop.call(that)
124
- }
125
-
126
119
  $.support.transition && this.$element.hasClass('fade') ?
127
- this.$element.one(transitionEnd, removeElement) :
128
- removeElement()
120
+ hideWithTransition.call(this) :
121
+ hideModal.call(this)
129
122
 
130
123
  return this
131
124
  }
@@ -136,6 +129,28 @@
136
129
  /* MODAL PRIVATE METHODS
137
130
  * ===================== */
138
131
 
132
+ function hideWithTransition() {
133
+ // firefox drops transitionEnd events :{o
134
+ var that = this
135
+ , timeout = setTimeout(function () {
136
+ that.$element.unbind(transitionEnd)
137
+ hideModal.call(that)
138
+ }, 500)
139
+
140
+ this.$element.one(transitionEnd, function () {
141
+ clearTimeout(timeout)
142
+ hideModal.call(that)
143
+ })
144
+ }
145
+
146
+ function hideModal (that) {
147
+ this.$element
148
+ .hide()
149
+ .trigger('hidden')
150
+
151
+ backdrop.call(this)
152
+ }
153
+
139
154
  function backdrop ( callback ) {
140
155
  var that = this
141
156
  , animate = this.$element.hasClass('fade') ? 'fade' : ''
@@ -162,19 +177,20 @@
162
177
  } else if ( !this.isShown && this.$backdrop ) {
163
178
  this.$backdrop.removeClass('in')
164
179
 
165
- function removeElement() {
166
- that.$backdrop.remove()
167
- that.$backdrop = null
168
- }
169
-
170
180
  $.support.transition && this.$element.hasClass('fade')?
171
- this.$backdrop.one(transitionEnd, removeElement) :
172
- removeElement()
181
+ this.$backdrop.one(transitionEnd, $.proxy(removeBackdrop, this)) :
182
+ removeBackdrop.call(this)
183
+
173
184
  } else if ( callback ) {
174
185
  callback()
175
186
  }
176
187
  }
177
188
 
189
+ function removeBackdrop() {
190
+ this.$backdrop.remove()
191
+ this.$backdrop = null
192
+ }
193
+
178
194
  function escape() {
179
195
  var that = this
180
196
  if ( this.isShown && this.settings.keyboard ) {
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-popover.js v1.3.0
2
+ * bootstrap-popover.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#popover
4
4
  * ===========================================================
5
5
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
20
20
 
21
21
  !function( $ ) {
22
22
 
23
+ "use strict"
24
+
23
25
  var Popover = function ( element, options ) {
24
26
  this.$element = $(element)
25
27
  this.options = options
@@ -39,13 +41,17 @@
39
41
  $tip[0].className = 'popover'
40
42
  }
41
43
 
44
+ , hasContent: function () {
45
+ return this.getTitle() || this.getContent()
46
+ }
47
+
42
48
  , getContent: function () {
43
49
  var content
44
50
  , $e = this.$element
45
51
  , o = this.options
46
52
 
47
53
  if (typeof this.options.content == 'string') {
48
- content = $e.attr(o.content)
54
+ content = this.options.content
49
55
  } else if (typeof this.options.content == 'function') {
50
56
  content = this.options.content.call(this.$element[0])
51
57
  }
@@ -55,7 +61,7 @@
55
61
  , tip: function() {
56
62
  if (!this.$tip) {
57
63
  this.$tip = $('<div class="popover" />')
58
- .html('<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>')
64
+ .html(this.options.template)
59
65
  }
60
66
  return this.$tip
61
67
  }
@@ -72,6 +78,9 @@
72
78
  return this
73
79
  }
74
80
 
75
- $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, { content: 'data-content', placement: 'right'})
81
+ $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
82
+ placement: 'right'
83
+ , template: '<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>'
84
+ })
76
85
 
77
- }( window.jQuery || window.ender );
86
+ }( window.jQuery || window.ender );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-scrollspy.js v1.3.0
2
+ * bootstrap-scrollspy.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
4
4
  * =============================================================
5
5
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
20
20
 
21
21
  !function ( $ ) {
22
22
 
23
+ "use strict"
24
+
23
25
  var $window = $(window)
24
26
 
25
27
  function ScrollSpy( topbar, selector ) {
@@ -102,4 +104,4 @@
102
104
  $('body').scrollSpy('[data-scrollspy] li > a')
103
105
  })
104
106
 
105
- }( window.jQuery || window.ender );
107
+ }( window.jQuery || window.ender );
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tabs.js v1.3.0
2
+ * bootstrap-tabs.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2011 Twitter, Inc.
@@ -20,6 +20,8 @@
20
20
 
21
21
  !function( $ ){
22
22
 
23
+ "use strict"
24
+
23
25
  function activate ( element, container ) {
24
26
  container
25
27
  .find('> .active')
@@ -39,6 +41,7 @@
39
41
  , $ul = $this.closest('ul:not(.dropdown-menu)')
40
42
  , href = $this.attr('href')
41
43
  , previous
44
+ , $href
42
45
 
43
46
  if ( /^#\w+/.test(href) ) {
44
47
  e.preventDefault()
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-twipsy.js v1.3.0
2
+ * bootstrap-twipsy.js v1.4.0
3
3
  * http://twitter.github.com/bootstrap/javascript.html#twipsy
4
4
  * Adapted from the original jQuery.tipsy by Jason Frame
5
5
  * ==========================================================
@@ -21,6 +21,8 @@
21
21
 
22
22
  !function( $ ) {
23
23
 
24
+ "use strict"
25
+
24
26
  /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
25
27
  * ======================================================= */
26
28
 
@@ -70,7 +72,7 @@
70
72
  , $tip
71
73
  , tp
72
74
 
73
- if (this.getTitle() && this.enabled) {
75
+ if (this.hasContent() && this.enabled) {
74
76
  $tip = this.tip()
75
77
  this.setContent()
76
78
 
@@ -143,6 +145,10 @@
143
145
  }
144
146
  }
145
147
 
148
+ , hasContent: function () {
149
+ return this.getTitle()
150
+ }
151
+
146
152
  , getTitle: function() {
147
153
  var title
148
154
  , $e = this.$element
@@ -163,7 +169,7 @@
163
169
 
164
170
  , tip: function() {
165
171
  if (!this.$tip) {
166
- this.$tip = $('<div class="twipsy" />').html('<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>')
172
+ this.$tip = $('<div class="twipsy" />').html(this.options.template)
167
173
  }
168
174
  return this.$tip
169
175
  }
@@ -294,10 +300,11 @@
294
300
  , offset: 0
295
301
  , title: 'title'
296
302
  , trigger: 'hover'
303
+ , template: '<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>'
297
304
  }
298
305
 
299
306
  $.fn.twipsy.elementOptions = function(ele, options) {
300
- return $.metadata ? $.extend({}, options, $(ele).metadata()) : options
307
+ return $.extend({}, options, $(ele).data())
301
308
  }
302
309
 
303
- }( window.jQuery || window.ender );
310
+ }( window.jQuery || window.ender );
@@ -1,4 +1,5 @@
1
1
  //= require bootstrap-modal
2
+ //= require bootstrap-buttons
2
3
  //= require bootstrap-dropdown
3
4
  //= require bootstrap-scrollspy
4
5
  //= require bootstrap-tabs
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v1.3.0
2
+ * Bootstrap v1.4.0
3
3
  *
4
4
  * Copyright 2011 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -8,7 +8,7 @@
8
8
  * Designed and built with all the love in the world @twitter by @mdo and @fat.
9
9
  * Converted to SASS by Thomas McDonald
10
10
  *
11
- * Date: Fri Sep 16 11:24:41 PDT 2011
11
+ * Date: Friday 4 November, 2011
12
12
  */
13
13
 
14
14
  @import "bootstrap/reset";
@@ -69,7 +69,12 @@ input, textarea, select, .uneditable-input {
69
69
  @include border-radius(3px);
70
70
  }
71
71
 
72
- /* mini reset for non-html5 file types */
72
+ // remove padding from select
73
+ select {
74
+ padding: initial;
75
+ }
76
+
77
+ // mini reset for non-html5 file types
73
78
  input[type=checkbox], input[type=radio] {
74
79
  width: auto;
75
80
  height: auto;
@@ -95,6 +100,7 @@ input[type=button], input[type=reset], input[type=submit] {
95
100
 
96
101
  select, input[type=file] {
97
102
  height: $baseline * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
103
+ height: auto; // reset for IE7. bah.
98
104
  line-height: $baseline * 1.5;
99
105
  *margin-top: 4px; /* For IE7, add top margin to align select with labels */
100
106
  }
@@ -102,6 +108,7 @@ select, input[type=file] {
102
108
  // Make multiple select elements height not fixed
103
109
  select[multiple] {
104
110
  height: inherit;
111
+ background-color: $white; // Fixes Chromium bug of unreadable items
105
112
  }
106
113
 
107
114
  textarea {
@@ -142,32 +149,40 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus {
142
149
  outline: 1px dotted #666; // Selet elements don't get box-shadow styles, so instead we do outline
143
150
  }
144
151
 
145
- // Error styles
146
- form div.clearfix.error {
147
- background: lighten($red, 57%);
148
- padding: 10px 0;
149
- margin: -10px 0 10px;
150
- @include border-radius(4px);
151
- $error-text: desaturate(lighten($red, 25%), 25%);
152
- > label, span.help-inline, span.help-block {
153
- color: $red;
152
+ // FORM FIELD FEEDBACK STATES
153
+ // --------------------------
154
+ @mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
155
+ // Set the text color
156
+ > label, .help-block, .help-inline {
157
+ color: $textColor;
154
158
  }
155
159
  input, textarea {
156
- border-color: $error-text;
157
- @include box-shadow(0 0 3px rgba(171,41,32,.25));
160
+ color: $textColor;
161
+ border-color: $borderColor;
158
162
  &:focus {
159
- border-color: darken($error-text, 10%);
160
- @include box-shadow(0 0 6px rgba(171,41,32,.5));
163
+ border-color: darken($borderColor, 10%);
164
+ @include box-shadow(0 0 6px lighten($borderColor, 10%));
161
165
  }
162
166
  }
163
- .input-prepend, .input-append {
164
- span.add-on {
165
- background: lighten($red, 50%);
166
- border-color: $error-text;
167
- color: darken($error-text, 10%);
168
- }
167
+ // Give a small background color for input-prepend/-append
168
+ .input-prepend .add-on, .input-append .add-on {
169
+ color: $textColor;
170
+ background-color: $backgroundColor;
171
+ border-color: $borderColor;
169
172
  }
170
173
  }
174
+ // Error
175
+ form .clearfix.error {
176
+ @include formFieldState(#b94a48, #ee5f5b, lighten(#ee5f5b, 30%));
177
+ }
178
+ // Warning
179
+ form .clearfix.warning {
180
+ @include formFieldState(#c09853, #ccae64, lighten(#ccae64, 5%));
181
+ }
182
+ // Success
183
+ form .clearfix.success {
184
+ @include formFieldState(#468847, #57a957, lighten(#57a957, 30%));
185
+ }
171
186
 
172
187
  // Form element sizes
173
188
  // TODO v2: remove duplication here and just stick to .input-[size] in light of adding .spanN sizes
@@ -198,10 +213,10 @@ textarea.xxlarge {
198
213
  @mixin formColumns($columnSpan: 1) {
199
214
  display: inline-block;
200
215
  float: none;
201
- width: (($gridColumnWidth - 10) * $columnSpan) + (($gridColumnWidth - 10) * ($columnSpan - 1));
216
+ width: ($gridColumnWidth * $columnSpan) + ($gridGutterWidth * ($columnSpan - 1)) - 10;
202
217
  margin-left: 0;
203
218
  }
204
- input, textarea, select {
219
+ input, textarea {
205
220
  // Default columns
206
221
  &.span1 { @include formColumns(1); }
207
222
  &.span2 { @include formColumns(2); }
@@ -249,7 +264,7 @@ input[disabled], select[disabled], textarea[disabled], input[readonly], select[r
249
264
 
250
265
  // Help Text
251
266
  .help-inline, .help-block {
252
- font-size: $basefont - 2;
267
+ font-size: $basefont;
253
268
  line-height: $baseline;
254
269
  color: $grayLight;
255
270
  }
@@ -268,15 +283,6 @@ input[disabled], select[disabled], textarea[disabled], input[readonly], select[r
268
283
  // Inline Fields (input fields that appear as inline objects
269
284
  .inline-inputs {
270
285
  color: $gray;
271
- span, input {
272
- display: inline-block;
273
- }
274
- input.mini {
275
- width: 60px;
276
- }
277
- input.small {
278
- width: 90px;
279
- }
280
286
  span {
281
287
  padding: 0 2px 0 1px;
282
288
  }
@@ -342,6 +348,7 @@ input[disabled], select[disabled], textarea[disabled], input[readonly], select[r
342
348
  float: none;
343
349
  width: auto;
344
350
  padding: 0;
351
+ margin-left: 20px;
345
352
  line-height: $baseline;
346
353
  text-align: left;
347
354
  white-space: normal;
@@ -366,6 +373,8 @@ input[disabled], select[disabled], textarea[disabled], input[readonly], select[r
366
373
  }
367
374
  input[type=radio], input[type=checkbox] {
368
375
  margin-bottom: 0;
376
+ margin-left: -20px;
377
+ float: left;
369
378
  }
370
379
  }
371
380
 
@@ -11,7 +11,6 @@
11
11
  display: table;
12
12
  content: "";
13
13
  zoom: 1;
14
- *display: inline;
15
14
  }
16
15
  &:after {
17
16
  clear: both;
@@ -110,7 +109,7 @@
110
109
 
111
110
  // Transitions
112
111
  @mixin transition($transition) {
113
- -webkit-transition: $transition;
112
+ -webkit-transition: $transition;
114
113
  -moz-transition: $transition;
115
114
  -ms-transition: $transition;
116
115
  -o-transition: $transition;
@@ -134,6 +133,11 @@
134
133
  column-gap: $columnGap;
135
134
  }
136
135
 
136
+ @mixin resizable($direction: both) {
137
+ resize: $direction; // Options are horizontal, vertical, both
138
+ overflow: auto; // Safari fix
139
+ }
140
+
137
141
  // Add an alphatransparency value to any background or border color (via Elyse Holladay)
138
142
  @mixin background-translucent($color: $white, $alpha: 1) {
139
143
  background-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
@@ -24,7 +24,7 @@
24
24
 
25
25
  // Hover and active states
26
26
  // h3 for backwards compatibility
27
- h3 a:hover, .brand a:hover, ul .active > a {
27
+ h3 a:hover, .brand:hover, ul .active > a {
28
28
  background-color: #333;
29
29
  background-color: rgba(255,255,255,.05);
30
30
  color: $white;
@@ -272,7 +272,7 @@ a.menu:after, .dropdown-toggle:after {
272
272
  color: $gray;
273
273
  text-shadow: 0 1px 0 $white;
274
274
  // Hover state
275
- &:hover {
275
+ &:hover, &.hover {
276
276
  @include vertical-gradient(#eeeeee, #dddddd);
277
277
  color: $grayDark;
278
278
  text-decoration: none;
@@ -297,9 +297,12 @@ a.menu:after, .dropdown-toggle:after {
297
297
  }
298
298
  }
299
299
 
300
- // Tabs and Pills
300
+ // TABS AND PILLS
301
+ // --------------
302
+
303
+ // Common styles
301
304
  .tabs, .pills {
302
- margin: 0 0 20px;
305
+ margin: 0 0 $baseline;
303
306
  padding: 0;
304
307
  list-style: none;
305
308
  @include clearfix();
@@ -311,18 +314,18 @@ a.menu:after, .dropdown-toggle:after {
311
314
  }
312
315
  }
313
316
 
314
- // Basic Tabs
317
+ // Tabs
315
318
  .tabs {
316
- float: left;
317
- width: 100%;
318
- border-bottom: 1px solid #ddd;
319
+ border-color: #ddd;
320
+ border-style: solid;
321
+ border-width: 0 0 1px;
319
322
  > li {
320
323
  position: relative; // For the dropdowns mostly
321
- top: 1px;
324
+ margin-bottom: -1px;
322
325
  > a {
323
326
  padding: 0 15px;
324
327
  margin-right: 2px;
325
- line-height: $baseline * 2;
328
+ line-height: ($baseline * 2) - 2;
326
329
  border: 1px solid transparent;
327
330
  @include border-radius(4px 4px 0 0);
328
331
  &:hover {
@@ -331,13 +334,18 @@ a.menu:after, .dropdown-toggle:after {
331
334
  border-color: #eee #eee #ddd;
332
335
  }
333
336
  }
334
- &.active > a {
335
- color: $gray;
336
- background-color: $white;
337
- border: 1px solid #ddd;
338
- border-bottom-color: transparent;
339
- }
340
337
  }
338
+ .active > a, .active > a:hover {
339
+ color: $gray;
340
+ background-color: $white;
341
+ border: 1px solid #ddd;
342
+ border-bottom-color: transparent;
343
+ cursor: default;
344
+ }
345
+ }
346
+
347
+ // Dropdowns in tabs
348
+ .tabs {
341
349
  // first one for backwards compatibility
342
350
  .menu-dropdown, .dropdown-menu {
343
351
  top: 35px;
@@ -359,46 +367,50 @@ a.menu:after, .dropdown-toggle:after {
359
367
  border-top-color: #555;
360
368
  }
361
369
  }
362
- .tab-content {
363
- clear: both;
364
- }
365
370
 
366
- // Basic pill nav
371
+ // Pills
367
372
  .pills {
368
373
  a {
369
- margin: 5px 3px 5px 0;
374
+ margin: 5px 3px 5px 0;
370
375
  padding: 0 15px;
371
- text-shadow: 0 1px 1px $white;
372
376
  line-height: 30px;
377
+ text-shadow: 0 1px 1px $white;
373
378
  @include border-radius(15px);
374
379
  &:hover {
375
- background: $linkColorHover;
376
380
  color: $white;
377
381
  text-decoration: none;
378
382
  text-shadow: 0 1px 1px rgba(0,0,0,.25);
383
+ background-color: $linkColorHover;
379
384
  }
380
385
  }
381
386
  .active a {
382
- background: $linkColor;
383
387
  color: $white;
384
388
  text-shadow: 0 1px 1px rgba(0,0,0,.25);
389
+ background-color: $linkColor;
385
390
  }
386
391
  }
387
392
 
388
- .tab-content > *, .pill-content > * {
389
- display: none;
393
+ // Stacked pills
394
+ .pills-vertical > li {
395
+ float: none;
390
396
  }
391
397
 
398
+ // Tabbable areas
399
+ .tab-content, .pill-content {
400
+ }
401
+ .tab-content > .tab-pane, .pill-content > .pill-pane {
402
+ display: none;
403
+ }
392
404
  .tab-content > .active, .pill-content > .active {
393
- display:block;
405
+ display: block;
394
406
  }
395
407
 
396
408
  // BREADCRUMBS
397
409
  // -----------
398
410
 
399
411
  .breadcrumb {
400
- margin: 0 0 $baseline;
401
412
  padding: 7px 14px;
413
+ margin: 0 0 $baseline;
402
414
  @include vertical-gradient(#ffffff, #f5f5f5);
403
415
  border: 1px solid #ddd;
404
416
  @include border-radius(3px);
@@ -411,8 +423,6 @@ a.menu:after, .dropdown-toggle:after {
411
423
  padding: 0 5px;
412
424
  color: $grayLight;
413
425
  }
414
- a {
415
- }
416
426
  .active a {
417
427
  color: $grayDark;
418
428
  }
@@ -468,6 +478,11 @@ footer {
468
478
  &.danger, &.danger:hover, &.error, &.error:hover, &.success, &.success:hover, &.info, &.info:hover {
469
479
  color: $white
470
480
  }
481
+ // Sets the close button to the middle of message
482
+ .close {
483
+ font-family: Arial, sans-serif;
484
+ line-height: 18px;
485
+ }
471
486
  // Danger and error appear as red
472
487
  &.danger, &.error {
473
488
  @include gradientBar(#ee5f5b, #c43c35);
@@ -520,7 +535,7 @@ footer {
520
535
  @include transition(.1s linear all);
521
536
 
522
537
  // Active and Disabled states
523
- &:active {
538
+ &:active, &.active {
524
539
  $shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
525
540
  @include box-shadow($shadow);
526
541
  }
@@ -576,7 +591,7 @@ button.btn, input[type=submit].btn {
576
591
  font-weight: bold;
577
592
  line-height: $baseline * .75;
578
593
  text-shadow: 0 1px 0 rgba(255,255,255,1);
579
- @include opacity(20);
594
+ @include opacity(25);
580
595
  &:hover {
581
596
  color: $black;
582
597
  text-decoration: none;
@@ -603,7 +618,17 @@ button.btn, input[type=submit].btn {
603
618
 
604
619
  // Adjust close icon
605
620
  .close {
606
- *margin-top: 3px; /* IE7 spacing */
621
+ margin-top: 1px;
622
+ *margin-top: 0; // IE7.
623
+ }
624
+
625
+ // Make links same color as text and stand out more
626
+ a {
627
+ font-weight: bold;
628
+ color: $grayDark;
629
+ }
630
+ &.danger p a, &.error p a, &.success p a, &.info p a {
631
+ color: $grayDark;
607
632
  }
608
633
 
609
634
  // Remove extra margin from content
@@ -746,7 +771,7 @@ button.btn, input[type=submit].btn {
746
771
  left: 50%;
747
772
  z-index: 11000;
748
773
  width: 560px;
749
- margin: -250px 0 0 -250px;
774
+ margin: -250px 0 0 -280px;
750
775
  background-color: $white;
751
776
  border: 1px solid #999;
752
777
  border: 1px solid rgba(0,0,0,.3);
@@ -769,6 +794,9 @@ button.btn, input[type=submit].btn {
769
794
  .modal-body {
770
795
  padding: 15px;
771
796
  }
797
+ .modal-body form {
798
+ margin-bottom: 0;
799
+ }
772
800
  .modal-footer {
773
801
  background-color: #f5f5f5;
774
802
  padding: 14px 15px 15px;
@@ -783,6 +811,10 @@ button.btn, input[type=submit].btn {
783
811
  }
784
812
  }
785
813
 
814
+ // Fix the stacking of these components when in modals
815
+ .modal .popover, .modal .twipsy {
816
+ z-index: 12000;
817
+ }
786
818
 
787
819
  // POPOVER ARROWS
788
820
  // --------------
@@ -875,8 +907,8 @@ button.btn, input[type=submit].btn {
875
907
  height: 0;
876
908
  }
877
909
  .inner {
878
- background-color: $black;
879
- background-color: rgba(0,0,0,.8);
910
+ background: $black;
911
+ background: rgba(0,0,0,.8);
880
912
  padding: 3px;
881
913
  overflow: hidden;
882
914
  width: 280px;
@@ -918,11 +950,12 @@ button.btn, input[type=submit].btn {
918
950
 
919
951
  .label {
920
952
  padding: 1px 3px 2px;
921
- background-color: $grayLight;
922
953
  font-size: $basefont * .75;
923
954
  font-weight: bold;
924
955
  color: $white;
925
956
  text-transform: uppercase;
957
+ white-space: nowrap;
958
+ background-color: $grayLight;
926
959
  @include border-radius(3px);
927
960
  &.important { background-color: #c43c35; }
928
961
  &.warning { background-color: $orange; }
@@ -935,7 +968,7 @@ button.btn, input[type=submit].btn {
935
968
  // -----------
936
969
 
937
970
  .media-grid {
938
- margin-left: -20px;
971
+ margin-left: -$gridGutterWidth;
939
972
  margin-bottom: 0;
940
973
  @include clearfix();
941
974
  li {
@@ -944,7 +977,7 @@ button.btn, input[type=submit].btn {
944
977
  a {
945
978
  float: left;
946
979
  padding: 4px;
947
- margin: 0 0 20px 20px;
980
+ margin: 0 0 $baseline $gridGutterWidth;
948
981
  border: 1px solid #ddd;
949
982
  @include border-radius(4px);
950
983
  @include box-shadow(0 1px 1px rgba(0,0,0,.075));
@@ -7,10 +7,8 @@
7
7
  // STRUCTURAL LAYOUT
8
8
  // -----------------
9
9
 
10
- html, body {
11
- background-color: $white;
12
- }
13
10
  body {
11
+ background-color: $white;
14
12
  margin: 0;
15
13
  @include sans-serif-font(normal,$basefont,$baseline);
16
14
  color: $grayDark;
@@ -24,31 +22,22 @@ body {
24
22
  // Fluid layouts (left aligned, with sidebar, min- & max-width content)
25
23
  .container-fluid {
26
24
  position: relative;
25
+ min-width: 940px;
27
26
  padding-left: 20px;
28
27
  padding-right: 20px;
29
28
  @include clearfix();
30
29
  > .sidebar {
31
- float: left;
30
+ position: absolute;
31
+ top: 0;
32
+ left: 20px;
32
33
  width: 220px;
33
34
  }
34
35
  // TODO in v2: rename this and .popover .content to be more specific
35
36
  > .content {
36
- float: left;
37
- min-width: 700px;
38
- max-width: 1180px;
39
- margin-left: 20px;
37
+ margin-left: 240px;
40
38
  }
41
39
  }
42
40
 
43
- // Toggling content
44
- .hide {
45
- display: none;
46
- }
47
- .show {
48
- display: block;
49
- }
50
-
51
-
52
41
  // BASE STYLES
53
42
  // -----------
54
43
 
@@ -65,13 +54,12 @@ a {
65
54
  }
66
55
 
67
56
  // Quick floats
68
- .pull-right {
69
- float: right;
70
- }
71
- .pull-left {
72
- float: left;
73
- }
57
+ .pull-right { float: right; }
58
+ .pull-left { float: left; }
74
59
 
60
+ // Toggling content
61
+ .hide { display: none; }
62
+ .show { display: block; }
75
63
 
76
64
  // GRID SYSTEM
77
65
  // -----------
@@ -79,12 +67,12 @@ a {
79
67
 
80
68
  .row {
81
69
  @include clearfix();
82
- margin-left: -1 * $gridGutterWidth;
70
+ margin-left: -$gridGutterWidth;
83
71
  }
84
72
 
85
73
  // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7)
86
74
  // Credit to @dhg for the idea
87
- [class*="span"] {
75
+ .row > [class*="span"] {
88
76
  @include gridColumn();
89
77
  }
90
78
 
@@ -117,18 +105,20 @@ a {
117
105
  .span24 { @include columns(24); }
118
106
 
119
107
  // Offset column options
120
- .offset1 { @include offset(1); }
121
- .offset2 { @include offset(2); }
122
- .offset3 { @include offset(3); }
123
- .offset4 { @include offset(4); }
124
- .offset5 { @include offset(5); }
125
- .offset6 { @include offset(6); }
126
- .offset7 { @include offset(7); }
127
- .offset8 { @include offset(8); }
128
- .offset9 { @include offset(9); }
129
- .offset10 { @include offset(10); }
130
- .offset11 { @include offset(11); }
131
- .offset12 { @include offset(12); }
108
+ .row {
109
+ & > .offset1 { @include offset(1); }
110
+ & > .offset2 { @include offset(2); }
111
+ & > .offset3 { @include offset(3); }
112
+ & > .offset4 { @include offset(4); }
113
+ & > .offset5 { @include offset(5); }
114
+ & > .offset6 { @include offset(6); }
115
+ & > .offset7 { @include offset(7); }
116
+ & > .offset8 { @include offset(8); }
117
+ & > .offset9 { @include offset(9); }
118
+ & > .offset10 { @include offset(10); }
119
+ & > .offset11 { @include offset(11); }
120
+ & > .offset12 { @include offset(12); }
121
+ }
132
122
 
133
123
  // Unique column sizes for 16-column grid
134
124
  .span-one-third { width: 300px; }
@@ -11,11 +11,8 @@ table {
11
11
  width: 100%;
12
12
  margin-bottom: $baseline;
13
13
  padding: 0;
14
- border-collapse: separate; // Done so we can round those corners!
15
- *border-collapse: collapse; /* IE7, collapse table to remove spacing */
16
14
  font-size: $basefont;
17
- border: 1px solid #ddd;
18
- @include border-radius(4px);
15
+ border-collapse: collapse;
19
16
  th, td {
20
17
  padding: 10px 10px 9px;
21
18
  line-height: $baseline;
@@ -25,22 +22,38 @@ table {
25
22
  padding-top: 9px;
26
23
  font-weight: bold;
27
24
  vertical-align: middle;
28
- border-bottom: 1px solid #ddd;
29
25
  }
30
26
  td {
31
27
  vertical-align: top;
28
+ border-top: 1px solid #ddd;
32
29
  }
33
- th + th,
34
- td + td {
35
- border-left: 1px solid #ddd;
36
- }
37
- tr + tr td {
30
+ // When scoped to row, fix th in body
31
+ tbody th {
38
32
  border-top: 1px solid #ddd;
33
+ vertical-align: top;
39
34
  }
40
- tbody tr:first-child td:first-child {
35
+ }
36
+
37
+ // Condensed table
38
+ .condensed-table {
39
+ .th, .td {
40
+ padding: 5px 5px 4px;
41
+ }
42
+ }
43
+
44
+ // Bordered table
45
+ .bordered-table {
46
+ border: 1px solid #ddd;
47
+ border-collapse: separate; // For rounded corners
48
+ *border-collapse: collapse; // IE7, Y U NO STANDARD
49
+ @include border-radius(4px);
50
+ th + th, td + td, th + td {
51
+ border-left: 1px solid #ddd;
52
+ }
53
+ thead tr:first-child th:first-child, tbody tr:first-child td:first-child {
41
54
  @include border-radius(4px 0 0 0);
42
55
  }
43
- tbody tr:first-child td:last-child {
56
+ thead tr:first-child th:last-child, tbody tr:first-child td:last-child {
44
57
  @include border-radius(0 4px 0 0);
45
58
  }
46
59
  tbody tr:last-child td:first-child {
@@ -51,6 +64,33 @@ table {
51
64
  }
52
65
  }
53
66
 
67
+ // TABLE CELL SIZES
68
+ // ----------------
69
+
70
+ // This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for padding and border
71
+ @mixin tableColumns($columnSpan: 1) {
72
+ width: (($gridColumnWidth - 20) * $columnSpan) + (($gridColumnWidth - 20) * ($columnSpan - 1));
73
+ }
74
+
75
+ table {
76
+ // Default columns
77
+ .span1 { @include tableColumns(1); }
78
+ .span2 { @include tableColumns(2); }
79
+ .span3 { @include tableColumns(3); }
80
+ .span4 { @include tableColumns(4); }
81
+ .span5 { @include tableColumns(5); }
82
+ .span6 { @include tableColumns(6); }
83
+ .span7 { @include tableColumns(7); }
84
+ .span8 { @include tableColumns(8); }
85
+ .span9 { @include tableColumns(9); }
86
+ .span10 { @include tableColumns(10); }
87
+ .span11 { @include tableColumns(11); }
88
+ .span12 { @include tableColumns(12); }
89
+ .span13 { @include tableColumns(13); }
90
+ .span14 { @include tableColumns(14); }
91
+ .span15 { @include tableColumns(15); }
92
+ .span16 { @include tableColumns(16); }
93
+ }
54
94
 
55
95
  // ZEBRA-STRIPING
56
96
  // --------------
@@ -58,14 +98,16 @@ table {
58
98
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
59
99
  .zebra-striped {
60
100
  tbody {
61
- tr:nth-child(odd) td {
101
+ tr:nth-child(odd) td, tr:nth-child(odd) th {
62
102
  background-color: #f9f9f9;
63
103
  }
64
- tr:hover td {
104
+ tr:hover td, tr:hover th {
65
105
  background-color: #f5f5f5;
66
106
  }
67
107
  }
108
+ }
68
109
 
110
+ table {
69
111
  // Tablesorting styles w/ jQuery plugin
70
112
  .header {
71
113
  cursor: pointer;
@@ -111,9 +153,6 @@ table {
111
153
  @include opacity(60);
112
154
  }
113
155
  }
114
- }
115
-
116
- table {
117
156
  // Blue Table Headings
118
157
  .blue {
119
158
  color: $blue;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-22 00:00:00.000000000Z
12
+ date: 2011-11-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sass-rails
16
- requirement: &70332401141760 !ruby/object:Gem::Requirement
16
+ requirement: &70249967724180 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70332401141760
24
+ version_requirements: *70249967724180
25
25
  description:
26
26
  email: tom@conceptcoding.co.uk
27
27
  executables: []
@@ -38,6 +38,7 @@ files:
38
38
  - vendor/assets/stylesheets/bootstrap/variables.css.scss
39
39
  - vendor/assets/stylesheets/bootstrap.css.scss
40
40
  - vendor/assets/javascripts/bootstrap-alerts.js
41
+ - vendor/assets/javascripts/bootstrap-buttons.js
41
42
  - vendor/assets/javascripts/bootstrap-dropdown.js
42
43
  - vendor/assets/javascripts/bootstrap-modal.js
43
44
  - vendor/assets/javascripts/bootstrap-popover.js