twitter-bootstrap-rails 2.0 → 2.0.1

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 (69) hide show
  1. data/README.md +27 -27
  2. data/Rakefile +1 -1
  3. data/lib/generators/bootstrap/install/install_generator.rb +1 -1
  4. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +5 -15
  5. data/lib/generators/bootstrap/install/templates/bootstrap.less +4 -3
  6. data/lib/generators/bootstrap/layout/layout_generator.rb +14 -4
  7. data/lib/generators/bootstrap/layout/templates/layout.html.erb +112 -49
  8. data/lib/generators/bootstrap/layout/templates/layout.html.haml +90 -0
  9. data/lib/generators/bootstrap/layout/templates/layout.html.slim +77 -0
  10. data/lib/generators/bootstrap/themed/templates/_form.html.erb +1 -1
  11. data/lib/generators/bootstrap/themed/templates/_form.html.haml +11 -0
  12. data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -0
  13. data/lib/generators/bootstrap/themed/templates/edit.html.haml +3 -0
  14. data/lib/generators/bootstrap/themed/templates/edit.html.slim +3 -0
  15. data/lib/generators/bootstrap/themed/templates/index.html.erb +2 -2
  16. data/lib/generators/bootstrap/themed/templates/index.html.haml +25 -0
  17. data/lib/generators/bootstrap/themed/templates/index.html.slim +25 -0
  18. data/lib/generators/bootstrap/themed/templates/new.html.haml +2 -0
  19. data/lib/generators/bootstrap/themed/templates/new.html.slim +2 -0
  20. data/lib/generators/bootstrap/themed/templates/show.html.erb +5 -4
  21. data/lib/generators/bootstrap/themed/templates/show.html.haml +9 -0
  22. data/lib/generators/bootstrap/themed/templates/show.html.slim +9 -0
  23. data/lib/generators/bootstrap/themed/themed_generator.rb +13 -13
  24. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  25. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  26. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  27. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +9 -3
  28. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +1 -1
  29. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +3 -3
  30. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +6 -4
  31. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +15 -6
  32. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +7 -3
  33. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +3 -3
  34. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +3 -2
  35. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +10 -5
  36. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +1 -1
  37. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +39 -20
  38. data/vendor/toolkit/twitter/bootstrap/accordion.less +5 -4
  39. data/vendor/toolkit/twitter/bootstrap/alerts.less +1 -0
  40. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +10 -8
  41. data/vendor/toolkit/twitter/bootstrap/button-groups.less +48 -18
  42. data/vendor/toolkit/twitter/bootstrap/buttons.less +137 -88
  43. data/vendor/toolkit/twitter/bootstrap/carousel.less +12 -5
  44. data/vendor/toolkit/twitter/bootstrap/code.less +44 -0
  45. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +23 -2
  46. data/vendor/toolkit/twitter/bootstrap/forms.less +83 -64
  47. data/vendor/toolkit/twitter/bootstrap/grid.less +8 -0
  48. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +20 -0
  49. data/vendor/toolkit/twitter/bootstrap/labels.less +4 -4
  50. data/vendor/toolkit/twitter/bootstrap/layouts.less +17 -0
  51. data/vendor/toolkit/twitter/bootstrap/mixins.less +202 -38
  52. data/vendor/toolkit/twitter/bootstrap/modals.less +9 -2
  53. data/vendor/toolkit/twitter/bootstrap/navbar.less +70 -29
  54. data/vendor/toolkit/twitter/bootstrap/navs.less +70 -64
  55. data/vendor/toolkit/twitter/bootstrap/pager.less +7 -2
  56. data/vendor/toolkit/twitter/bootstrap/pagination.less +1 -0
  57. data/vendor/toolkit/twitter/bootstrap/popovers.less +25 -25
  58. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +14 -18
  59. data/vendor/toolkit/twitter/bootstrap/reset.less +2 -3
  60. data/vendor/toolkit/twitter/bootstrap/responsive.less +219 -164
  61. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +6 -89
  62. data/vendor/toolkit/twitter/bootstrap/sprites.less +137 -99
  63. data/vendor/toolkit/twitter/bootstrap/tables.less +1 -54
  64. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +2 -0
  65. data/vendor/toolkit/twitter/bootstrap/type.less +12 -42
  66. data/vendor/toolkit/twitter/bootstrap/variables.less +23 -14
  67. metadata +34 -18
  68. data/vendor/toolkit/twitter/bootstrap/patterns.less +0 -30
  69. data/vendor/toolkit/twitter/bootstrap/print.less +0 -18
@@ -3,6 +3,7 @@
3
3
 
4
4
  .carousel {
5
5
  position: relative;
6
+ margin-bottom: @baseLineHeight;
6
7
  line-height: 1;
7
8
  }
8
9
 
@@ -26,15 +27,15 @@
26
27
  line-height: 1;
27
28
  }
28
29
 
29
- .active,
30
- .next,
30
+ .active,
31
+ .next,
31
32
  .prev { display: block; }
32
33
 
33
34
  .active {
34
35
  left: 0;
35
36
  }
36
37
 
37
- .next,
38
+ .next,
38
39
  .prev {
39
40
  position: absolute;
40
41
  top: 0;
@@ -47,7 +48,7 @@
47
48
  .prev {
48
49
  left: -100%;
49
50
  }
50
- .next.left,
51
+ .next.left,
51
52
  .prev.right {
52
53
  left: 0;
53
54
  }
@@ -80,7 +81,13 @@
80
81
  border: 3px solid @white;
81
82
  .border-radius(23px);
82
83
  .opacity(50);
83
- .transition(all .2s linear);
84
+
85
+ // we can't have this transition here
86
+ // because webkit cancels the carousel
87
+ // animation if you trip this while
88
+ // in the middle of another animation
89
+ // ;_;
90
+ // .transition(opacity .2s linear);
84
91
 
85
92
  // Reposition the right one
86
93
  &.right {
@@ -0,0 +1,44 @@
1
+ // Code.less
2
+ // Code typography styles for the <code> and <pre> elements
3
+ // --------------------------------------------------------
4
+
5
+ // Inline and block code styles
6
+ code,
7
+ pre {
8
+ padding: 0 3px 2px;
9
+ #font > #family > .monospace;
10
+ font-size: @baseFontSize - 1;
11
+ color: @grayDark;
12
+ .border-radius(3px);
13
+ }
14
+ code {
15
+ padding: 3px 4px;
16
+ color: #d14;
17
+ background-color: #f7f7f9;
18
+ border: 1px solid #e1e1e8;
19
+ }
20
+ pre {
21
+ display: block;
22
+ padding: (@baseLineHeight - 1) / 2;
23
+ margin: 0 0 @baseLineHeight / 2;
24
+ font-size: 12px;
25
+ line-height: @baseLineHeight;
26
+ background-color: #f5f5f5;
27
+ border: 1px solid #ccc; // fallback for IE7-8
28
+ border: 1px solid rgba(0,0,0,.15);
29
+ .border-radius(4px);
30
+ white-space: pre;
31
+ white-space: pre-wrap;
32
+ word-break: break-all;
33
+
34
+ // Make prettyprint styles more spaced out for readability
35
+ &.prettyprint {
36
+ margin-bottom: @baseLineHeight;
37
+ }
38
+
39
+ // Account for some code outputs that place code tags in pre tags
40
+ code {
41
+ padding: 0;
42
+ background-color: transparent;
43
+ }
44
+ }
@@ -5,12 +5,23 @@
5
5
  .dropdown {
6
6
  position: relative;
7
7
  }
8
+ .dropdown-toggle {
9
+ // The caret makes the toggle a bit too tall in IE7
10
+ *margin-bottom: -3px;
11
+ }
12
+ .dropdown-toggle:active,
13
+ .open .dropdown-toggle {
14
+ outline: 0;
15
+ }
8
16
  // Dropdown arrow/caret
9
17
  .caret {
10
18
  display: inline-block;
11
19
  width: 0;
12
20
  height: 0;
13
21
  text-indent: -99999px;
22
+ // IE7 won't do the border trick if there's a text indent, but it doesn't
23
+ // do the content that text-indent is hiding, either, so we're ok.
24
+ *text-indent: 0;
14
25
  vertical-align: top;
15
26
  border-left: 4px solid transparent;
16
27
  border-right: 4px solid transparent;
@@ -21,7 +32,6 @@
21
32
  .dropdown .caret {
22
33
  margin-top: 8px;
23
34
  margin-left: 2px;
24
- *margin-top: 7px;
25
35
  }
26
36
  .dropdown:hover .caret,
27
37
  .open.dropdown .caret {
@@ -31,6 +41,7 @@
31
41
  .dropdown-menu {
32
42
  position: absolute;
33
43
  top: 100%;
44
+ left: 0;
34
45
  z-index: @zindexDropdown;
35
46
  float: left;
36
47
  display: none; // none by default, but block on "open" of the menu
@@ -50,7 +61,6 @@
50
61
  -webkit-background-clip: padding-box;
51
62
  -moz-background-clip: padding;
52
63
  background-clip: padding-box;
53
- zoom: 1; // do we need this?
54
64
  *border-right-width: 2px;
55
65
  *border-bottom-width: 2px;
56
66
 
@@ -68,6 +78,13 @@
68
78
  overflow: hidden;
69
79
  background-color: #e5e5e5;
70
80
  border-bottom: 1px solid @white;
81
+
82
+ // IE7 needs a set width since we gave a height. Restricting just
83
+ // to IE7 to keep the 1px left/right space in other browsers.
84
+ // It is unclear where IE is getting the extra space that we need
85
+ // to negative-margin away, but so it goes.
86
+ *width: 100%;
87
+ *margin: -5px 0 5px;
71
88
  }
72
89
 
73
90
  // Links within the dropdown menu
@@ -93,6 +110,10 @@
93
110
 
94
111
  // Open state for the dropdown
95
112
  .dropdown.open {
113
+ // IE7's z-index only goes to the nearest positioned ancestor, which would
114
+ // make the menu appear below buttons that appeared later on the page
115
+ *z-index: @zindexDropdown;
116
+
96
117
  .dropdown-toggle {
97
118
  color: @white;
98
119
  background: #ccc;
@@ -28,7 +28,6 @@ legend {
28
28
  color: @grayDark;
29
29
  border: 0;
30
30
  border-bottom: 1px solid #eee;
31
- -webkit-margin-collapse: separate;
32
31
  }
33
32
 
34
33
  // Set font for forms
@@ -68,22 +67,30 @@ select,
68
67
  height: auto;
69
68
  }
70
69
 
70
+ // Inputs within a label
71
+ label input,
72
+ label textarea,
73
+ label select {
74
+ display: block;
75
+ }
76
+
71
77
  // Mini reset for unique input types
72
- input[type=image],
73
- input[type=checkbox],
74
- input[type=radio] {
78
+ input[type="image"],
79
+ input[type="checkbox"],
80
+ input[type="radio"] {
75
81
  width: auto;
76
82
  height: auto;
77
83
  padding: 0;
78
84
  margin: 3px 0;
79
85
  *margin-top: 0; /* IE7 */
80
86
  line-height: normal;
81
- border: none;
87
+ border: 0;
82
88
  cursor: pointer;
89
+ .border-radius(0px); /* mirror bootstrap commit 9b9e1d3 reversing IE9 hack and use mixin instead */
83
90
  }
84
91
 
85
92
  // Reset the file input to browser defaults
86
- input[type=file] {
93
+ input[type="file"] {
87
94
  padding: initial;
88
95
  line-height: initial;
89
96
  border: initial;
@@ -93,16 +100,16 @@ input[type=file] {
93
100
  }
94
101
 
95
102
  // Help out input buttons
96
- input[type=button],
97
- input[type=reset],
98
- input[type=submit] {
103
+ input[type="button"],
104
+ input[type="reset"],
105
+ input[type="submit"] {
99
106
  width: auto;
100
107
  height: auto;
101
108
  }
102
109
 
103
110
  // Set the height of select and file controls to match text inputs
104
111
  select,
105
- input[type=file] {
112
+ input[type="file"] {
106
113
  height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
107
114
  *margin-top: 4px; /* For IE7, add top margin to align select with labels */
108
115
  line-height: 28px;
@@ -111,7 +118,6 @@ input[type=file] {
111
118
  // Chrome on Linux and Mobile Safari need background-color
112
119
  select {
113
120
  width: 220px; // default input width + 10px of padding that doesn't get applied
114
- vertical-align: baseline;
115
121
  background-color: @white;
116
122
  }
117
123
 
@@ -122,14 +128,20 @@ select[size] {
122
128
  }
123
129
 
124
130
  // Remove shadow from image inputs
125
- input[type=image] {
131
+ input[type="image"] {
126
132
  .box-shadow(none);
127
133
  }
128
134
 
135
+ // Make textarea height behave
129
136
  textarea {
130
137
  height: auto;
131
138
  }
132
139
 
140
+ // Hidden inputs
141
+ input[type="hidden"] {
142
+ display: none;
143
+ }
144
+
133
145
 
134
146
 
135
147
  // CHECKBOXES & RADIOS
@@ -140,8 +152,8 @@ textarea {
140
152
  .checkbox {
141
153
  padding-left: 18px;
142
154
  }
143
- .radio input[type=radio],
144
- .checkbox input[type=checkbox] {
155
+ .radio input[type="radio"],
156
+ .checkbox input[type="checkbox"] {
145
157
  float: left;
146
158
  margin-left: -18px;
147
159
  }
@@ -149,7 +161,7 @@ textarea {
149
161
  // Move the options list down to align with labels
150
162
  .controls > .radio:first-child,
151
163
  .controls > .checkbox:first-child {
152
- padding-top: 6px; // has to be padding because margin collaspes
164
+ padding-top: 5px; // has to be padding because margin collaspes
153
165
  }
154
166
 
155
167
  // Radios and checkboxes on same line
@@ -157,11 +169,17 @@ textarea {
157
169
  .checkbox.inline {
158
170
  display: inline-block;
159
171
  margin-bottom: 0;
172
+ vertical-align: middle;
160
173
  }
161
174
  .radio.inline + .radio.inline,
162
175
  .checkbox.inline + .checkbox.inline {
163
176
  margin-left: 10px; // space out consecutive inline controls
164
177
  }
178
+ // But don't forget to remove their padding on first-child
179
+ .controls > .radio.inline:first-child,
180
+ .controls > .checkbox.inline:first-child {
181
+ padding-top: 0;
182
+ }
165
183
 
166
184
 
167
185
 
@@ -180,12 +198,13 @@ textarea:focus {
180
198
  @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
181
199
  .box-shadow(@shadow);
182
200
  outline: 0;
201
+ outline: thin dotted \9; /* IE6-8 */
183
202
  }
184
- input[type=file]:focus,
185
- input[type=checkbox]:focus,
203
+ input[type="file"]:focus,
204
+ input[type="checkbox"]:focus,
186
205
  select:focus {
187
206
  .box-shadow(none); // override for file inputs
188
- outline: 1px dotted #666; // Selet elements don't get box-shadow styles, so instead we do outline
207
+ .tab-focus();
189
208
  }
190
209
 
191
210
 
@@ -210,45 +229,13 @@ textarea[class*="span"],
210
229
  margin-left: 0;
211
230
  }
212
231
 
213
- // This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border
214
- .inputColumns(@columnSpan: 1) {
215
- width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 10;
216
- }
217
- input,
218
- textarea,
219
- .uneditable-input {
220
- // Default columns
221
- &.span1 { .inputColumns(1); }
222
- &.span2 { .inputColumns(2); }
223
- &.span3 { .inputColumns(3); }
224
- &.span4 { .inputColumns(4); }
225
- &.span5 { .inputColumns(5); }
226
- &.span6 { .inputColumns(6); }
227
- &.span7 { .inputColumns(7); }
228
- &.span8 { .inputColumns(8); }
229
- &.span9 { .inputColumns(9); }
230
- &.span10 { .inputColumns(10); }
231
- &.span11 { .inputColumns(11); }
232
- &.span12 { .inputColumns(12); }
233
- }
234
-
235
- .selectColumns(@columnSpan: 1) {
236
- width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) + 10;
237
- }
238
- select {
239
- &.span1 { .selectColumns(1); }
240
- &.span2 { .selectColumns(2); }
241
- &.span3 { .selectColumns(3); }
242
- &.span4 { .selectColumns(4); }
243
- &.span5 { .selectColumns(5); }
244
- &.span6 { .selectColumns(6); }
245
- &.span7 { .selectColumns(7); }
246
- &.span8 { .selectColumns(8); }
247
- &.span9 { .selectColumns(9); }
248
- &.span10 { .selectColumns(10); }
249
- &.span11 { .selectColumns(11); }
250
- &.span12 { .selectColumns(12); }
251
- }
232
+
233
+
234
+ // GRID SIZING FOR INPUTS
235
+ // ----------------------
236
+
237
+ #inputGridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth);
238
+
252
239
 
253
240
 
254
241
 
@@ -322,7 +309,7 @@ select:focus:required:invalid {
322
309
  border-color: #ee5f5b;
323
310
  &:focus {
324
311
  border-color: darken(#ee5f5b, 10%);
325
- .box-shadow(0 0 6px lighten(#ee5f5b, 20%));
312
+ .box-shadow(0 0 6px lighten(#ee5f5b, 20%));
326
313
  }
327
314
  }
328
315
 
@@ -363,9 +350,10 @@ select:focus:required:invalid {
363
350
  }
364
351
 
365
352
  .help-inline {
366
- *position: relative; /* IE6-7 */
367
- *top: -5px; /* IE6-7 */
368
- display: inline;
353
+ display: inline-block;
354
+ .ie7-inline-block();
355
+ margin-bottom: 9px;
356
+ vertical-align: middle;
369
357
  padding-left: 5px;
370
358
  }
371
359
 
@@ -382,6 +370,10 @@ select:focus:required:invalid {
382
370
  input,
383
371
  .uneditable-input {
384
372
  .border-radius(0 3px 3px 0);
373
+ &:focus {
374
+ position: relative;
375
+ z-index: 2;
376
+ }
385
377
  }
386
378
  .uneditable-input {
387
379
  border-left-color: #ccc;
@@ -393,7 +385,7 @@ select:focus:required:invalid {
393
385
  min-width: 16px;
394
386
  height: @baseLineHeight;
395
387
  margin-right: -1px;
396
- padding: 4px 4px 4px 5px;
388
+ padding: 4px 5px;
397
389
  font-weight: normal;
398
390
  line-height: @baseLineHeight;
399
391
  color: @grayLight;
@@ -420,13 +412,22 @@ select:focus:required:invalid {
420
412
  .border-radius(3px 0 0 3px);
421
413
  }
422
414
  .uneditable-input {
423
- border-right-color: #ccc;
415
+ border-right-color: #ccc;
424
416
  }
425
417
  .add-on {
426
418
  margin-right: 0;
427
419
  margin-left: -1px;
428
420
  .border-radius(0 3px 3px 0);
429
421
  }
422
+ input:first-child {
423
+ // In IE7, having a hasLayout container (from clearfix's zoom:1) can make the first input
424
+ // inherit the sum of its ancestors' margins.
425
+ *margin-left: -160px;
426
+
427
+ &+.add-on {
428
+ *margin-left: -21px;
429
+ }
430
+ }
430
431
  }
431
432
 
432
433
 
@@ -455,15 +456,27 @@ select:focus:required:invalid {
455
456
  input,
456
457
  textarea,
457
458
  select,
459
+ .help-inline,
458
460
  .uneditable-input {
459
461
  display: inline-block;
460
462
  margin-bottom: 0;
461
463
  }
462
464
  }
463
465
  .form-search label,
464
- .form-inline label {
466
+ .form-inline label,
467
+ .form-search .input-append,
468
+ .form-inline .input-append,
469
+ .form-search .input-prepend,
470
+ .form-inline .input-prepend {
465
471
  display: inline-block;
466
472
  }
473
+ // Make the prepend and append add-on vertical-align: middle;
474
+ .form-search .input-append .add-on,
475
+ .form-inline .input-prepend .add-on,
476
+ .form-search .input-append .add-on,
477
+ .form-inline .input-prepend .add-on {
478
+ vertical-align: middle;
479
+ }
467
480
 
468
481
  // Margin to space out fieldsets
469
482
  .control-group {
@@ -474,9 +487,15 @@ select:focus:required:invalid {
474
487
  // --------------------------
475
488
 
476
489
  .form-horizontal {
490
+ // Legend collapses margin, so we're relegated to padding
491
+ legend + .control-group {
492
+ margin-top: @baseLineHeight;
493
+ -webkit-margin-top-collapse: separate;
494
+ }
477
495
  // Increase spacing between groups
478
496
  .control-group {
479
497
  margin-bottom: @baseLineHeight;
498
+ .clearfix();
480
499
  }
481
500
  // Float the labels left
482
501
  .control-group > label {