twitter-bootstrap-rails 2.0.2 → 2.0.3

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.

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,