twitter-bootstrap-rails 2.0 → 2.0.1

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 (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 {