twitter-bootstrap-rails 2.0.2 → 2.0.3

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

Potentially problematic release.


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

Files changed (50) hide show
  1. data/README.md +16 -25
  2. data/lib/generators/bootstrap/install/install_generator.rb +36 -12
  3. data/lib/generators/bootstrap/install/templates/application.css +0 -1
  4. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +1 -10
  5. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +17 -0
  6. data/lib/generators/bootstrap/layout/templates/layout.html.erb +17 -16
  7. data/lib/generators/bootstrap/layout/templates/layout.html.haml +4 -4
  8. data/lib/generators/bootstrap/layout/templates/layout.html.slim +4 -4
  9. data/lib/generators/bootstrap/themed/templates/_form.html.erb +19 -12
  10. data/lib/generators/bootstrap/themed/templates/edit.html.erb +1 -4
  11. data/lib/generators/bootstrap/themed/templates/index.html.erb +24 -28
  12. data/lib/generators/bootstrap/themed/templates/new.html.erb +1 -3
  13. data/lib/generators/bootstrap/themed/templates/show.html.erb +11 -7
  14. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  15. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +8 -5
  16. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +3 -3
  17. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +5 -2
  18. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +2 -2
  19. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +2 -2
  20. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +6 -5
  21. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +2 -2
  22. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +2 -2
  23. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +2 -2
  24. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +2 -2
  25. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +3 -3
  26. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +2 -2
  27. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +1 -1
  28. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +1 -1
  29. data/vendor/toolkit/twitter/bootstrap/button-groups.less +4 -2
  30. data/vendor/toolkit/twitter/bootstrap/buttons.less +25 -7
  31. data/vendor/toolkit/twitter/bootstrap/code.less +13 -0
  32. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +1 -2
  33. data/vendor/toolkit/twitter/bootstrap/forms.less +51 -44
  34. data/vendor/toolkit/twitter/bootstrap/labels.less +23 -7
  35. data/vendor/toolkit/twitter/bootstrap/mixins.less +79 -26
  36. data/vendor/toolkit/twitter/bootstrap/modals.less +11 -0
  37. data/vendor/toolkit/twitter/bootstrap/navbar.less +13 -6
  38. data/vendor/toolkit/twitter/bootstrap/navs.less +21 -12
  39. data/vendor/toolkit/twitter/bootstrap/reset.less +1 -1
  40. data/vendor/toolkit/twitter/bootstrap/responsive.less +10 -6
  41. data/vendor/toolkit/twitter/bootstrap/sprites.less +9 -7
  42. data/vendor/toolkit/twitter/bootstrap/tables.less +14 -3
  43. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +2 -2
  44. data/vendor/toolkit/twitter/bootstrap/type.less +3 -2
  45. data/vendor/toolkit/twitter/bootstrap/variables.less +15 -7
  46. data/vendor/toolkit/twitter/bootstrap_base.less +2 -0
  47. metadata +13 -14
  48. data/lib/generators/bootstrap/install/templates/bootstrap.less +0 -6
  49. data/vendor/assets/stylesheets/twitter/bootstrap.css.less +0 -1
  50. data/vendor/toolkit/twitter/bootstrap.less +0 -1
@@ -1,16 +1,32 @@
1
1
  // LABELS
2
2
  // ------
3
3
 
4
+ // Base
4
5
  .label {
5
- padding: 1px 3px 2px;
6
- font-size: @baseFontSize * .75;
6
+ padding: 2px 4px 3px;
7
+ font-size: @baseFontSize * .85;
7
8
  font-weight: bold;
8
9
  color: @white;
9
- text-transform: uppercase;
10
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
10
11
  background-color: @grayLight;
11
12
  .border-radius(3px);
12
13
  }
13
- .label-important { background-color: @errorText; }
14
- .label-warning { background-color: @orange; }
15
- .label-success { background-color: @successText; }
16
- .label-info { background-color: @infoText; }
14
+
15
+ // Hover state
16
+ .label:hover {
17
+ color: @white;
18
+ text-decoration: none;
19
+ }
20
+
21
+ // Colors
22
+ .label-important { background-color: @errorText; }
23
+ .label-important:hover { background-color: darken(@errorText, 10%); }
24
+
25
+ .label-warning { background-color: @orange; }
26
+ .label-warning:hover { background-color: darken(@orange, 10%); }
27
+
28
+ .label-success { background-color: @successText; }
29
+ .label-success:hover { background-color: darken(@successText, 10%); }
30
+
31
+ .label-info { background-color: @infoText; }
32
+ .label-info:hover { background-color: darken(@infoText, 10%); }
@@ -9,7 +9,7 @@
9
9
  // Clearfix
10
10
  // --------
11
11
  // For clearing floats like a boss h5bp.com/q
12
- .clearfix() {
12
+ .clearfix {
13
13
  *zoom: 1;
14
14
  &:before,
15
15
  &:after {
@@ -25,7 +25,7 @@
25
25
  // ------------------
26
26
  .tab-focus() {
27
27
  // Default
28
- outline: thin dotted;
28
+ outline: thin dotted #333;
29
29
  // Webkit
30
30
  outline: 5px auto -webkit-focus-ring-color;
31
31
  outline-offset: -2px;
@@ -89,6 +89,15 @@
89
89
  }
90
90
  }
91
91
 
92
+ // Text overflow
93
+ // -------------------------
94
+ // Requires inline-block or block for proper styling
95
+ .text-overflow() {
96
+ overflow: hidden;
97
+ text-overflow: ellipsis;
98
+ white-space: nowrap;
99
+ }
100
+
92
101
 
93
102
 
94
103
  // FONTS
@@ -199,13 +208,13 @@
199
208
  // Setup the mixins to be used
200
209
  .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, @columns) {
201
210
  width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
202
- }
211
+ }
203
212
  .gridColumn(@fluidGridGutterWidth) {
204
213
  float: left;
205
214
  margin-left: @fluidGridGutterWidth;
206
215
  }
207
216
  // Take these values and mixins, and make 'em do their thang
208
- .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) {
217
+ .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) {
209
218
  // Row surrounds the columns
210
219
  .row-fluid {
211
220
  width: 100%;
@@ -219,24 +228,22 @@
219
228
  margin-left: 0;
220
229
  }
221
230
  // Default columns
222
- .span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); }
223
- .span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); }
224
- .span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); }
225
- .span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); }
226
- .span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); }
227
- .span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); }
228
- .span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); }
229
- .span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); }
230
- .span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); }
231
- .span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); }
232
- .span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); }
233
- .span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); }
231
+ > .span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); }
232
+ > .span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); }
233
+ > .span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); }
234
+ > .span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); }
235
+ > .span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); }
236
+ > .span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); }
237
+ > .span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); }
238
+ > .span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); }
239
+ > .span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); }
240
+ > .span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); }
241
+ > .span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); }
242
+ > .span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); }
234
243
  }
235
244
  }
236
245
  }
237
246
 
238
-
239
-
240
247
  // Input grid system
241
248
  // -------------------------
242
249
  #inputGridSystem {
@@ -263,6 +270,52 @@
263
270
  }
264
271
  }
265
272
 
273
+ // Make a Grid
274
+ // -------------------------
275
+ // Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
276
+ .makeRow() {
277
+ margin-left: @gridGutterWidth * -1;
278
+ .clearfix();
279
+ }
280
+ .makeColumn(@columns: 1) {
281
+ float: left;
282
+ margin-left: @gridGutterWidth;
283
+ width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
284
+ }
285
+
286
+
287
+
288
+ // Form field states (used in forms.less)
289
+ // --------------------------------------------------
290
+
291
+ // Mixin for form field states
292
+ .formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
293
+ // Set the text color
294
+ > label,
295
+ .help-block,
296
+ .help-inline {
297
+ color: @textColor;
298
+ }
299
+ // Style inputs accordingly
300
+ input,
301
+ select,
302
+ textarea {
303
+ color: @textColor;
304
+ border-color: @borderColor;
305
+ &:focus {
306
+ border-color: darken(@borderColor, 10%);
307
+ .box-shadow(0 0 6px lighten(@borderColor, 20%));
308
+ }
309
+ }
310
+ // Give a small background color for input-prepend/-append
311
+ .input-prepend .add-on,
312
+ .input-append .add-on {
313
+ color: @textColor;
314
+ background-color: @backgroundColor;
315
+ border-color: @textColor;
316
+ }
317
+ }
318
+
266
319
 
267
320
 
268
321
  // CSS3 PROPERTIES
@@ -313,13 +366,6 @@
313
366
  -o-transform: translate(@x, @y);
314
367
  transform: translate(@x, @y);
315
368
  }
316
- .skew(@x: 0, @y: 0) {
317
- -webkit-transform: translate(@x, @y);
318
- -moz-transform: translate(@x, @y);
319
- -ms-transform: translate(@x, @y);
320
- -o-transform: translate(@x, @y);
321
- transform: translate(@x, @y);
322
- }
323
369
  .skew(@x: 0, @y: 0) {
324
370
  -webkit-transform: skew(@x, @y);
325
371
  -moz-transform: skew(@x, @y);
@@ -327,6 +373,13 @@
327
373
  -o-transform: skew(@x, @y);
328
374
  transform: skew(@x, @y);
329
375
  }
376
+ .translate3d(@x: 0, @y: 0, @z: 0) {
377
+ -webkit-transform: translate(@x, @y, @z);
378
+ -moz-transform: translate(@x, @y, @z);
379
+ -ms-transform: translate(@x, @y, @z);
380
+ -o-transform: translate(@x, @y, @z);
381
+ transform: translate(@x, @y, @z);
382
+ }
330
383
 
331
384
  // Background clipping
332
385
  // Heads up: FF 3.6 and under need "padding" instead of "padding-box"
@@ -466,7 +519,7 @@
466
519
  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);
467
520
  background-image: -ms-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);
468
521
  background-image: -o-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);
469
- background-image: 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);
522
+ background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0));
470
523
  }
471
524
  }
472
525
  // Reset filters for IE
@@ -1,6 +1,7 @@
1
1
  // MODALS
2
2
  // ------
3
3
 
4
+ // Recalculate z-index where appropriate
4
5
  .modal-open {
5
6
  .dropdown-menu { z-index: @zindexDropdown + @zindexModal; }
6
7
  .dropdown.open { *z-index: @zindexDropdown + @zindexModal; }
@@ -8,6 +9,7 @@
8
9
  .tooltip { z-index: @zindexTooltip + @zindexModal; }
9
10
  }
10
11
 
12
+ // Background
11
13
  .modal-backdrop {
12
14
  position: fixed;
13
15
  top: 0;
@@ -25,6 +27,7 @@
25
27
  .opacity(80);
26
28
  }
27
29
 
30
+ // Base modal
28
31
  .modal {
29
32
  position: fixed;
30
33
  top: 50%;
@@ -53,9 +56,17 @@
53
56
  // Close icon
54
57
  .close { margin-top: 2px; }
55
58
  }
59
+
60
+ // Body (where all modal content resises)
56
61
  .modal-body {
57
62
  padding: 15px;
58
63
  }
64
+ // Remove bottom margin if need be
65
+ .modal-body .modal-form {
66
+ margin-bottom: 0;
67
+ }
68
+
69
+ // Footer (for actions)
59
70
  .modal-footer {
60
71
  padding: 14px 15px 15px;
61
72
  margin-bottom: 0;
@@ -81,7 +81,7 @@
81
81
  margin-top: 5px; // make buttons vertically centered in navbar
82
82
  }
83
83
  .btn-group .btn {
84
- margin-top: 0;
84
+ margin-top: 0; // then undo the margin here so we don't accidentally double it
85
85
  }
86
86
  }
87
87
 
@@ -104,6 +104,14 @@
104
104
  input[type="radio"] {
105
105
  margin-top: 3px;
106
106
  }
107
+ .input-append,
108
+ .input-prepend {
109
+ margin-top: 6px;
110
+ white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
111
+ input {
112
+ margin-top: 0; // remove the margin on top since it's on the parent
113
+ }
114
+ }
107
115
  }
108
116
 
109
117
  // Navbar search
@@ -133,7 +141,7 @@
133
141
  background-color: @grayLight;
134
142
  background-color: rgba(255,255,255,.5);
135
143
  }
136
- // Focus states (we use .focused since IE8 and down doesn't support :focus)
144
+ // Focus states (we use .focused since IE7-8 and down doesn't support :focus)
137
145
  &:focus,
138
146
  &.focused {
139
147
  padding: 5px 10px;
@@ -161,7 +169,7 @@
161
169
  .navbar-fixed-top .navbar-inner {
162
170
  padding-left: 0;
163
171
  padding-right: 0;
164
- .border-radius(0px);
172
+ .border-radius(0);
165
173
  }
166
174
 
167
175
 
@@ -194,7 +202,7 @@
194
202
  }
195
203
  // Hover
196
204
  .navbar .nav > li > a:hover {
197
- background-color: transparent;
205
+ background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
198
206
  color: @navbarLinkColorHover;
199
207
  text-decoration: none;
200
208
  }
@@ -205,7 +213,6 @@
205
213
  color: @navbarLinkColorHover;
206
214
  text-decoration: none;
207
215
  background-color: @navbarBackground;
208
- background-color: rgba(0,0,0,.5);
209
216
  }
210
217
 
211
218
  // Dividers (basically a vertical hr)
@@ -289,4 +296,4 @@
289
296
  left: auto;
290
297
  right: 13px;
291
298
  }
292
- }
299
+ }
@@ -21,6 +21,21 @@
21
21
  background-color: @grayLighter;
22
22
  }
23
23
 
24
+ // Nav headers (for dropdowns and lists)
25
+ .nav .nav-header {
26
+ display: block;
27
+ padding: 3px 15px;
28
+ font-size: 11px;
29
+ font-weight: bold;
30
+ line-height: @baseLineHeight;
31
+ color: @grayLight;
32
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
33
+ text-transform: uppercase;
34
+ }
35
+ // Space them out when they follow another list item (link)
36
+ .nav li + .nav-header {
37
+ margin-top: 9px;
38
+ }
24
39
 
25
40
 
26
41
  // NAV LIST
@@ -33,21 +48,12 @@
33
48
  }
34
49
  .nav-list > li > a,
35
50
  .nav-list .nav-header {
36
- display: block;
37
- padding: 3px 15px;
38
51
  margin-left: -15px;
39
52
  margin-right: -15px;
40
53
  text-shadow: 0 1px 0 rgba(255,255,255,.5);
41
54
  }
42
- .nav-list .nav-header {
43
- font-size: 11px;
44
- font-weight: bold;
45
- line-height: @baseLineHeight;
46
- color: @grayLight;
47
- text-transform: uppercase;
48
- }
49
- .nav-list > li + .nav-header {
50
- margin-top: 9px;
55
+ .nav-list > li > a {
56
+ padding: 3px 15px;
51
57
  }
52
58
  .nav-list .active > a,
53
59
  .nav-list .active > a:hover {
@@ -152,7 +158,7 @@
152
158
  }
153
159
  .nav-tabs.nav-stacked > li > a {
154
160
  border: 1px solid #ddd;
155
- .border-radius(0px);
161
+ .border-radius(0);
156
162
  }
157
163
  .nav-tabs.nav-stacked > li:first-child > a {
158
164
  .border-radius(4px 4px 0 0);
@@ -249,6 +255,9 @@
249
255
  .tabbable {
250
256
  .clearfix();
251
257
  }
258
+ .tab-content {
259
+ overflow: hidden; // prevent content from running below tabs
260
+ }
252
261
 
253
262
  // Remove border on bottom, left, right
254
263
  .tabs-below .nav-tabs,
@@ -108,7 +108,7 @@ input[type="button"],
108
108
  input[type="reset"],
109
109
  input[type="submit"] {
110
110
  cursor: pointer; // Cursors on all buttons applied consistently
111
- -webkit-appearance: button; // Style clicable inputs in iOS
111
+ -webkit-appearance: button; // Style clickable inputs in iOS
112
112
  }
113
113
  input[type="search"] { // Appearance in Safari/Chrome
114
114
  -webkit-appearance: textfield;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Responsive v2.0.0
2
+ * Bootstrap Responsive v2.0.1
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -56,7 +56,7 @@
56
56
  .uneditable-input {
57
57
  display: block;
58
58
  width: 100%;
59
- height: 28px; /* Make inputs at least the height of their button counterpart */
59
+ min-height: 28px; /* Make inputs at least the height of their button counterpart */
60
60
  /* Makes inputs behave like true block-level elements */
61
61
  -webkit-box-sizing: border-box; /* Older Webkit */
62
62
  -moz-box-sizing: border-box; /* Older FF */
@@ -123,7 +123,7 @@
123
123
  // LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
124
124
  // --------------------------------------------------
125
125
 
126
- @media (max-width: 768px) {
126
+ @media (max-width: 767px) {
127
127
  // GRID & CONTAINERS
128
128
  // -----------------
129
129
  // Remove width from containers
@@ -154,7 +154,7 @@
154
154
  // PORTRAIT TABLET TO DEFAULT DESKTOP
155
155
  // ----------------------------------
156
156
 
157
- @media (min-width: 768px) and (max-width: 980px) {
157
+ @media (min-width: 768px) and (max-width: 979px) {
158
158
 
159
159
  // Fixed grid
160
160
  #gridSystem > .generate(12, 42px, 20px);
@@ -171,7 +171,7 @@
171
171
 
172
172
  // TABLETS AND BELOW
173
173
  // -----------------
174
- @media (max-width: 980px) {
174
+ @media (max-width: 979px) {
175
175
 
176
176
  // UNFIX THE TOPBAR
177
177
  // ----------------
@@ -215,6 +215,10 @@
215
215
  .navbar .nav > .divider-vertical {
216
216
  display: none;
217
217
  }
218
+ .navbar .nav .nav-header {
219
+ color: @navbarText;
220
+ text-shadow: none;
221
+ }
218
222
  // Nav and dropdown links in navbar
219
223
  .navbar .nav > li > a,
220
224
  .navbar .dropdown-menu a {
@@ -242,7 +246,7 @@
242
246
  padding: 0;
243
247
  background-color: transparent;
244
248
  border: none;
245
- .border-radius(0px);
249
+ .border-radius(0);
246
250
  .box-shadow(none);
247
251
  }
248
252
  .navbar .dropdown-menu:before,