twitter-bootstrap-rails 2.0.6 → 2.0.7

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 (53) hide show
  1. data/README.md +40 -22
  2. data/app/helpers/flash_block_helper.rb +17 -0
  3. data/app/helpers/twitter_breadcrumbs_helper.rb +5 -0
  4. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +14 -0
  5. data/lib/generators/bootstrap/layout/templates/layout.html.erb +1 -5
  6. data/lib/generators/bootstrap/layout/templates/layout.html.haml +1 -5
  7. data/lib/generators/bootstrap/layout/templates/layout.html.slim +1 -5
  8. data/lib/generators/bootstrap/themed/templates/show.html.erb +4 -4
  9. data/lib/twitter/bootstrap/rails/engine.rb +1 -1
  10. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  11. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  12. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  13. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +28 -32
  14. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +29 -33
  15. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +27 -19
  16. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +45 -26
  17. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +18 -10
  18. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +25 -17
  19. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +13 -10
  20. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +43 -17
  21. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +12 -7
  22. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +40 -35
  23. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +30 -20
  24. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +25 -11
  25. data/vendor/toolkit/twitter/bootstrap/accordion.less +5 -0
  26. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +2 -3
  27. data/vendor/toolkit/twitter/bootstrap/button-groups.less +55 -36
  28. data/vendor/toolkit/twitter/bootstrap/buttons.less +15 -11
  29. data/vendor/toolkit/twitter/bootstrap/close.less +12 -1
  30. data/vendor/toolkit/twitter/bootstrap/code.less +4 -4
  31. data/vendor/toolkit/twitter/bootstrap/component-animations.less +5 -5
  32. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +15 -20
  33. data/vendor/toolkit/twitter/bootstrap/forms.less +58 -29
  34. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +55 -0
  35. data/vendor/toolkit/twitter/bootstrap/layouts.less +1 -1
  36. data/vendor/toolkit/twitter/bootstrap/mixins.less +53 -36
  37. data/vendor/toolkit/twitter/bootstrap/modals.less +1 -1
  38. data/vendor/toolkit/twitter/bootstrap/navbar.less +64 -41
  39. data/vendor/toolkit/twitter/bootstrap/navs.less +36 -36
  40. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +14 -6
  41. data/vendor/toolkit/twitter/bootstrap/reset.less +3 -3
  42. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +26 -0
  43. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +149 -0
  44. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +17 -0
  45. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +146 -0
  46. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +41 -0
  47. data/vendor/toolkit/twitter/bootstrap/responsive.less +14 -337
  48. data/vendor/toolkit/twitter/bootstrap/sprites.less +39 -6
  49. data/vendor/toolkit/twitter/bootstrap/tables.less +22 -5
  50. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +14 -2
  51. data/vendor/toolkit/twitter/bootstrap/type.less +7 -6
  52. data/vendor/toolkit/twitter/bootstrap/variables.less +10 -6
  53. metadata +31 -11
@@ -21,6 +21,11 @@
21
21
  background-color: @grayLighter;
22
22
  }
23
23
 
24
+ // Redeclare pull classes because of specifity
25
+ .nav > .pull-right {
26
+ float: right;
27
+ }
28
+
24
29
  // Nav headers (for dropdowns and lists)
25
30
  .nav .nav-header {
26
31
  display: block;
@@ -98,12 +103,10 @@
98
103
  .nav-tabs {
99
104
  border-bottom: 1px solid #ddd;
100
105
  }
101
-
102
106
  // Make the list-items overlay the bottom border
103
107
  .nav-tabs > li {
104
108
  margin-bottom: -1px;
105
109
  }
106
-
107
110
  // Actual tabs (as links)
108
111
  .nav-tabs > li > a {
109
112
  padding-top: 8px;
@@ -125,6 +128,7 @@
125
128
  cursor: default;
126
129
  }
127
130
 
131
+
128
132
  // PILLS
129
133
  // -----
130
134
 
@@ -189,14 +193,11 @@
189
193
  // DROPDOWNS
190
194
  // ---------
191
195
 
192
- // Position the menu
193
- .nav-tabs .dropdown-menu,
194
- .nav-pills .dropdown-menu {
195
- margin-top: 1px;
196
- border-width: 1px;
196
+ .nav-tabs .dropdown-menu {
197
+ .border-radius(0 0 5px 5px); // remove the top rounded corners here since there is a hard edge above the menu
197
198
  }
198
199
  .nav-pills .dropdown-menu {
199
- .border-radius(4px);
200
+ .border-radius(4px); // make rounded corners match the pills
200
201
  }
201
202
 
202
203
  // Default dropdown links
@@ -233,14 +234,14 @@
233
234
  // -------------------------
234
235
  .nav-tabs .open .dropdown-toggle,
235
236
  .nav-pills .open .dropdown-toggle,
236
- .nav > .open.active > a:hover {
237
+ .nav > li.dropdown.open.active > a:hover {
237
238
  color: @white;
238
239
  background-color: @grayLight;
239
240
  border-color: @grayLight;
240
241
  }
241
- .nav .open .caret,
242
- .nav .open.active .caret,
243
- .nav .open a:hover .caret {
242
+ .nav li.dropdown.open .caret,
243
+ .nav li.dropdown.open.active .caret,
244
+ .nav li.dropdown.open a:hover .caret {
244
245
  border-top-color: @white;
245
246
  border-bottom-color: @white;
246
247
  .opacity(100);
@@ -265,14 +266,13 @@
265
266
  .clearfix();
266
267
  }
267
268
  .tab-content {
268
- display: table; // prevent content from running below tabs
269
- width: 100%;
269
+ overflow: auto; // prevent content from running below tabs
270
270
  }
271
271
 
272
272
  // Remove border on bottom, left, right
273
- .tabs-below .nav-tabs,
274
- .tabs-right .nav-tabs,
275
- .tabs-left .nav-tabs {
273
+ .tabs-below > .nav-tabs,
274
+ .tabs-right > .nav-tabs,
275
+ .tabs-left > .nav-tabs {
276
276
  border-bottom: 0;
277
277
  }
278
278
 
@@ -290,22 +290,22 @@
290
290
  // BOTTOM
291
291
  // ------
292
292
 
293
- .tabs-below .nav-tabs {
293
+ .tabs-below > .nav-tabs {
294
294
  border-top: 1px solid #ddd;
295
295
  }
296
- .tabs-below .nav-tabs > li {
296
+ .tabs-below > .nav-tabs > li {
297
297
  margin-top: -1px;
298
298
  margin-bottom: 0;
299
299
  }
300
- .tabs-below .nav-tabs > li > a {
300
+ .tabs-below > .nav-tabs > li > a {
301
301
  .border-radius(0 0 4px 4px);
302
302
  &:hover {
303
303
  border-bottom-color: transparent;
304
304
  border-top-color: #ddd;
305
305
  }
306
306
  }
307
- .tabs-below .nav-tabs .active > a,
308
- .tabs-below .nav-tabs .active > a:hover {
307
+ .tabs-below > .nav-tabs > .active > a,
308
+ .tabs-below > .nav-tabs > .active > a:hover {
309
309
  border-color: transparent #ddd #ddd #ddd;
310
310
  }
311
311
 
@@ -313,51 +313,51 @@
313
313
  // ------------
314
314
 
315
315
  // Common styles
316
- .tabs-left .nav-tabs > li,
317
- .tabs-right .nav-tabs > li {
316
+ .tabs-left > .nav-tabs > li,
317
+ .tabs-right > .nav-tabs > li {
318
318
  float: none;
319
319
  }
320
- .tabs-left .nav-tabs > li > a,
321
- .tabs-right .nav-tabs > li > a {
320
+ .tabs-left > .nav-tabs > li > a,
321
+ .tabs-right > .nav-tabs > li > a {
322
322
  min-width: 74px;
323
323
  margin-right: 0;
324
324
  margin-bottom: 3px;
325
325
  }
326
326
 
327
327
  // Tabs on the left
328
- .tabs-left .nav-tabs {
328
+ .tabs-left > .nav-tabs {
329
329
  float: left;
330
330
  margin-right: 19px;
331
331
  border-right: 1px solid #ddd;
332
332
  }
333
- .tabs-left .nav-tabs > li > a {
333
+ .tabs-left > .nav-tabs > li > a {
334
334
  margin-right: -1px;
335
335
  .border-radius(4px 0 0 4px);
336
336
  }
337
- .tabs-left .nav-tabs > li > a:hover {
337
+ .tabs-left > .nav-tabs > li > a:hover {
338
338
  border-color: @grayLighter #ddd @grayLighter @grayLighter;
339
339
  }
340
- .tabs-left .nav-tabs .active > a,
341
- .tabs-left .nav-tabs .active > a:hover {
340
+ .tabs-left > .nav-tabs .active > a,
341
+ .tabs-left > .nav-tabs .active > a:hover {
342
342
  border-color: #ddd transparent #ddd #ddd;
343
343
  *border-right-color: @white;
344
344
  }
345
345
 
346
346
  // Tabs on the right
347
- .tabs-right .nav-tabs {
347
+ .tabs-right > .nav-tabs {
348
348
  float: right;
349
349
  margin-left: 19px;
350
350
  border-left: 1px solid #ddd;
351
351
  }
352
- .tabs-right .nav-tabs > li > a {
352
+ .tabs-right > .nav-tabs > li > a {
353
353
  margin-left: -1px;
354
354
  .border-radius(0 4px 4px 0);
355
355
  }
356
- .tabs-right .nav-tabs > li > a:hover {
356
+ .tabs-right > .nav-tabs > li > a:hover {
357
357
  border-color: @grayLighter @grayLighter @grayLighter #ddd;
358
358
  }
359
- .tabs-right .nav-tabs .active > a,
360
- .tabs-right .nav-tabs .active > a:hover {
359
+ .tabs-right > .nav-tabs .active > a,
360
+ .tabs-right > .nav-tabs .active > a:hover {
361
361
  border-color: #ddd #ddd #ddd transparent;
362
362
  *border-left-color: @white;
363
363
  }
@@ -7,26 +7,32 @@
7
7
 
8
8
  // Webkit
9
9
  @-webkit-keyframes progress-bar-stripes {
10
- from { background-position: 0 0; }
11
- to { background-position: 40px 0; }
10
+ from { background-position: 40px 0; }
11
+ to { background-position: 0 0; }
12
12
  }
13
13
 
14
14
  // Firefox
15
15
  @-moz-keyframes progress-bar-stripes {
16
- from { background-position: 0 0; }
17
- to { background-position: 40px 0; }
16
+ from { background-position: 40px 0; }
17
+ to { background-position: 0 0; }
18
18
  }
19
19
 
20
20
  // IE9
21
21
  @-ms-keyframes progress-bar-stripes {
22
+ from { background-position: 40px 0; }
23
+ to { background-position: 0 0; }
24
+ }
25
+
26
+ // Opera
27
+ @-o-keyframes progress-bar-stripes {
22
28
  from { background-position: 0 0; }
23
29
  to { background-position: 40px 0; }
24
30
  }
25
31
 
26
32
  // Spec
27
33
  @keyframes progress-bar-stripes {
28
- from { background-position: 0 0; }
29
- to { background-position: 40px 0; }
34
+ from { background-position: 40px 0; }
35
+ to { background-position: 0 0; }
30
36
  }
31
37
 
32
38
 
@@ -68,6 +74,8 @@
68
74
  .progress.active .bar {
69
75
  -webkit-animation: progress-bar-stripes 2s linear infinite;
70
76
  -moz-animation: progress-bar-stripes 2s linear infinite;
77
+ -ms-animation: progress-bar-stripes 2s linear infinite;
78
+ -o-animation: progress-bar-stripes 2s linear infinite;
71
79
  animation: progress-bar-stripes 2s linear infinite;
72
80
  }
73
81
 
@@ -75,10 +75,10 @@ sub {
75
75
  // -------------------------
76
76
 
77
77
  img {
78
- height: auto;
78
+ max-width: 100%; // Make images inherently responsive
79
+ vertical-align: middle;
79
80
  border: 0;
80
81
  -ms-interpolation-mode: bicubic;
81
- vertical-align: middle;
82
82
  }
83
83
 
84
84
  // Forms
@@ -111,10 +111,10 @@ input[type="submit"] {
111
111
  -webkit-appearance: button; // Style clickable inputs in iOS
112
112
  }
113
113
  input[type="search"] { // Appearance in Safari/Chrome
114
- -webkit-appearance: textfield;
115
114
  -webkit-box-sizing: content-box;
116
115
  -moz-box-sizing: content-box;
117
116
  box-sizing: content-box;
117
+ -webkit-appearance: textfield;
118
118
  }
119
119
  input[type="search"]::-webkit-search-decoration,
120
120
  input[type="search"]::-webkit-search-cancel-button {
@@ -0,0 +1,26 @@
1
+ // LARGE DESKTOP & UP
2
+ // ------------------
3
+
4
+ @media (min-width: 1200px) {
5
+
6
+ // Fixed grid
7
+ #grid > .core(70px, 30px);
8
+
9
+ // Fluid grid
10
+ #grid > .fluid(5.982905983%, 2.564102564%);
11
+
12
+ // Input grid
13
+ #grid > .input(70px, 30px);
14
+
15
+ // Thumbnails
16
+ .thumbnails {
17
+ margin-left: -30px;
18
+ }
19
+ .thumbnails > li {
20
+ margin-left: 30px;
21
+ }
22
+ .row-fluid .thumbnails {
23
+ margin-left: 0;
24
+ }
25
+
26
+ }
@@ -0,0 +1,149 @@
1
+ // UP TO LANDSCAPE PHONE
2
+ // ---------------------
3
+
4
+ @media (max-width: 480px) {
5
+
6
+ // Smooth out the collapsing/expanding nav
7
+ .nav-collapse {
8
+ -webkit-transform: translate3d(0, 0, 0); // activate the GPU
9
+ }
10
+
11
+ // Block level the page header small tag for readability
12
+ .page-header h1 small {
13
+ display: block;
14
+ line-height: @baseLineHeight;
15
+ }
16
+
17
+ // Update checkboxes for iOS
18
+ input[type="checkbox"],
19
+ input[type="radio"] {
20
+ border: 1px solid #ccc;
21
+ }
22
+
23
+ // Remove the horizontal form styles
24
+ .form-horizontal .control-group > label {
25
+ float: none;
26
+ width: auto;
27
+ padding-top: 0;
28
+ text-align: left;
29
+ }
30
+ // Move over all input controls and content
31
+ .form-horizontal .controls {
32
+ margin-left: 0;
33
+ }
34
+ // Move the options list down to align with labels
35
+ .form-horizontal .control-list {
36
+ padding-top: 0; // has to be padding because margin collaspes
37
+ }
38
+ // Move over buttons in .form-actions to align with .controls
39
+ .form-horizontal .form-actions {
40
+ padding-left: 10px;
41
+ padding-right: 10px;
42
+ }
43
+
44
+ // Modals
45
+ .modal {
46
+ position: absolute;
47
+ top: 10px;
48
+ left: 10px;
49
+ right: 10px;
50
+ width: auto;
51
+ margin: 0;
52
+ &.fade.in { top: auto; }
53
+ }
54
+ .modal-header .close {
55
+ padding: 10px;
56
+ margin: -10px;
57
+ }
58
+
59
+ // Carousel
60
+ .carousel-caption {
61
+ position: static;
62
+ }
63
+
64
+ }
65
+
66
+
67
+
68
+ // LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
69
+ // --------------------------------------------------
70
+
71
+ @media (max-width: 767px) {
72
+
73
+ // Padding to set content in a bit
74
+ body {
75
+ padding-left: 20px;
76
+ padding-right: 20px;
77
+ }
78
+ // Negative indent the now static "fixed" navbar
79
+ .navbar-fixed-top,
80
+ .navbar-fixed-bottom {
81
+ margin-left: -20px;
82
+ margin-right: -20px;
83
+ }
84
+ // Remove padding on container given explicit padding set on body
85
+ .container-fluid {
86
+ padding: 0;
87
+ }
88
+
89
+ // TYPOGRAPHY
90
+ // ----------
91
+ // Reset horizontal dl
92
+ .dl-horizontal {
93
+ dt {
94
+ float: none;
95
+ clear: none;
96
+ width: auto;
97
+ text-align: left;
98
+ }
99
+ dd {
100
+ margin-left: 0;
101
+ }
102
+ }
103
+
104
+ // GRID & CONTAINERS
105
+ // -----------------
106
+ // Remove width from containers
107
+ .container {
108
+ width: auto;
109
+ }
110
+ // Fluid rows
111
+ .row-fluid {
112
+ width: 100%;
113
+ }
114
+ // Undo negative margin on rows and thumbnails
115
+ .row,
116
+ .thumbnails {
117
+ margin-left: 0;
118
+ }
119
+ // Make all grid-sized elements block level again
120
+ [class*="span"],
121
+ .row-fluid [class*="span"] {
122
+ float: none;
123
+ display: block;
124
+ width: auto;
125
+ margin-left: 0;
126
+ }
127
+
128
+ // FORM FIELDS
129
+ // -----------
130
+ // Make span* classes full width
131
+ .input-large,
132
+ .input-xlarge,
133
+ .input-xxlarge,
134
+ input[class*="span"],
135
+ select[class*="span"],
136
+ textarea[class*="span"],
137
+ .uneditable-input {
138
+ .input-block-level();
139
+ }
140
+ // But don't let it screw up prepend/append inputs
141
+ .input-prepend input,
142
+ .input-append input,
143
+ .input-prepend input[class*="span"],
144
+ .input-append input[class*="span"] {
145
+ display: inline-block; // redeclare so they don't wrap to new lines
146
+ width: auto;
147
+ }
148
+
149
+ }
@@ -0,0 +1,17 @@
1
+ // PORTRAIT TABLET TO DEFAULT DESKTOP
2
+ // ----------------------------------
3
+
4
+ @media (min-width: 768px) and (max-width: 979px) {
5
+
6
+ // Fixed grid
7
+ #grid > .core(42px, 20px);
8
+
9
+ // Fluid grid
10
+ #grid > .fluid(5.801104972%, 2.762430939%);
11
+
12
+ // Input grid
13
+ #grid > .input(42px, 20px);
14
+
15
+ // No need to reset .thumbnails here since it's the same @gridGutterWidth
16
+
17
+ }