less-rails-bootstrap 2.0.13 → 2.1.0

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.
Files changed (61) hide show
  1. data/.gitignore +2 -1
  2. data/CHANGELOG.md +2 -2
  3. data/lib/less/rails/bootstrap/version.rb +1 -1
  4. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  5. data/vendor/assets/javascripts/twitter/bootstrap.js +1 -0
  6. data/vendor/assets/javascripts/twitter/bootstrap/affix.js +104 -0
  7. data/vendor/assets/javascripts/twitter/bootstrap/alert.js +1 -1
  8. data/vendor/assets/javascripts/twitter/bootstrap/button.js +1 -1
  9. data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +12 -5
  10. data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +4 -3
  11. data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +66 -16
  12. data/vendor/assets/javascripts/twitter/bootstrap/modal.js +95 -74
  13. data/vendor/assets/javascripts/twitter/bootstrap/popover.js +9 -4
  14. data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +9 -9
  15. data/vendor/assets/javascripts/twitter/bootstrap/tab.js +2 -2
  16. data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +15 -15
  17. data/vendor/assets/javascripts/twitter/bootstrap/transition.js +2 -3
  18. data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +50 -35
  19. data/vendor/frameworks/twitter/bootstrap/accordion.less +3 -2
  20. data/vendor/frameworks/twitter/bootstrap/alerts.less +16 -9
  21. data/vendor/frameworks/twitter/bootstrap/bootstrap.less +1 -1
  22. data/vendor/frameworks/twitter/bootstrap/breadcrumbs.less +10 -10
  23. data/vendor/frameworks/twitter/bootstrap/button-groups.less +76 -23
  24. data/vendor/frameworks/twitter/bootstrap/buttons.less +85 -65
  25. data/vendor/frameworks/twitter/bootstrap/carousel.less +13 -3
  26. data/vendor/frameworks/twitter/bootstrap/close.less +4 -2
  27. data/vendor/frameworks/twitter/bootstrap/code.less +6 -5
  28. data/vendor/frameworks/twitter/bootstrap/component-animations.less +5 -2
  29. data/vendor/frameworks/twitter/bootstrap/dropdowns.less +81 -14
  30. data/vendor/frameworks/twitter/bootstrap/forms.less +100 -48
  31. data/vendor/frameworks/twitter/bootstrap/grid.less +17 -1
  32. data/vendor/frameworks/twitter/bootstrap/hero-unit.less +4 -2
  33. data/vendor/frameworks/twitter/bootstrap/labels-badges.less +19 -2
  34. data/vendor/frameworks/twitter/bootstrap/layouts.less +1 -2
  35. data/vendor/frameworks/twitter/bootstrap/mixins.less +98 -73
  36. data/vendor/frameworks/twitter/bootstrap/modals.less +9 -2
  37. data/vendor/frameworks/twitter/bootstrap/navbar.less +238 -127
  38. data/vendor/frameworks/twitter/bootstrap/navs.less +38 -17
  39. data/vendor/frameworks/twitter/bootstrap/pager.less +5 -4
  40. data/vendor/frameworks/twitter/bootstrap/pagination.less +16 -8
  41. data/vendor/frameworks/twitter/bootstrap/popovers.less +101 -33
  42. data/vendor/frameworks/twitter/bootstrap/progress-bars.less +18 -13
  43. data/vendor/frameworks/twitter/bootstrap/reset.less +6 -3
  44. data/vendor/frameworks/twitter/bootstrap/responsive-1200px-min.less +9 -7
  45. data/vendor/frameworks/twitter/bootstrap/responsive-767px-max.less +86 -68
  46. data/vendor/frameworks/twitter/bootstrap/responsive-768px-979px.less +7 -5
  47. data/vendor/frameworks/twitter/bootstrap/responsive-navbar.less +18 -5
  48. data/vendor/frameworks/twitter/bootstrap/responsive-utilities.less +17 -15
  49. data/vendor/frameworks/twitter/bootstrap/responsive.less +5 -5
  50. data/vendor/frameworks/twitter/bootstrap/scaffolding.less +26 -4
  51. data/vendor/frameworks/twitter/bootstrap/sprites.less +15 -19
  52. data/vendor/frameworks/twitter/bootstrap/tables.less +60 -11
  53. data/vendor/frameworks/twitter/bootstrap/thumbnails.less +9 -4
  54. data/vendor/frameworks/twitter/bootstrap/tooltip.less +47 -12
  55. data/vendor/frameworks/twitter/bootstrap/type.less +57 -83
  56. data/vendor/frameworks/twitter/bootstrap/utilities.less +9 -2
  57. data/vendor/frameworks/twitter/bootstrap/variables.less +100 -29
  58. data/vendor/frameworks/twitter/bootstrap/wells.less +7 -5
  59. metadata +11 -12
  60. data/vendor/frameworks/twitter/bootstrap/badges.less +0 -36
  61. data/vendor/frameworks/twitter/bootstrap/labels.less +0 -38
@@ -1,5 +1,7 @@
1
- // COMPONENT ANIMATIONS
2
- // --------------------
1
+ //
2
+ // Component animations
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .fade {
5
7
  opacity: 0;
@@ -13,6 +15,7 @@
13
15
  position: relative;
14
16
  height: 0;
15
17
  overflow: hidden;
18
+ overflow: visible \9;
16
19
  .transition(height .35s ease);
17
20
  &.in {
18
21
  height: auto;
@@ -1,5 +1,7 @@
1
- // DROPDOWN MENUS
2
- // --------------
1
+ //
2
+ // Dropdown menus
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
5
7
  .dropup,
@@ -26,7 +28,6 @@
26
28
  border-right: 4px solid transparent;
27
29
  border-left: 4px solid transparent;
28
30
  content: "";
29
- .opacity(30);
30
31
  }
31
32
 
32
33
  // Place the caret
@@ -34,10 +35,6 @@
34
35
  margin-top: 8px;
35
36
  margin-left: 2px;
36
37
  }
37
- .dropdown:hover .caret,
38
- .open .caret {
39
- .opacity(100);
40
- }
41
38
 
42
39
  // The dropdown menu (ul)
43
40
  // ----------------------
@@ -49,15 +46,15 @@
49
46
  display: none; // none by default, but block on "open" of the menu
50
47
  float: left;
51
48
  min-width: 160px;
52
- padding: 4px 0;
53
- margin: 1px 0 0; // override default ul
49
+ padding: 5px 0;
50
+ margin: 2px 0 0; // override default ul
54
51
  list-style: none;
55
52
  background-color: @dropdownBackground;
56
- border: 1px solid #ccc;
57
- border: 1px solid rgba(0,0,0,.2);
53
+ border: 1px solid #ccc; // Fallback for IE7-8
54
+ border: 1px solid @dropdownBorder;
58
55
  *border-right-width: 2px;
59
56
  *border-bottom-width: 2px;
60
- .border-radius(5px);
57
+ .border-radius(6px);
61
58
  .box-shadow(0 5px 10px rgba(0,0,0,.2));
62
59
  -webkit-background-clip: padding-box;
63
60
  -moz-background-clip: padding;
@@ -77,7 +74,7 @@
77
74
  // Links within the dropdown menu
78
75
  a {
79
76
  display: block;
80
- padding: 3px 15px;
77
+ padding: 3px 20px;
81
78
  clear: both;
82
79
  font-weight: normal;
83
80
  line-height: @baseLineHeight;
@@ -89,11 +86,37 @@
89
86
  // Hover state
90
87
  // -----------
91
88
  .dropdown-menu li > a:hover,
89
+ .dropdown-menu li > a:focus,
90
+ .dropdown-submenu:hover > a {
91
+ text-decoration: none;
92
+ color: @dropdownLinkColorHover;
93
+ background-color: @dropdownLinkBackgroundHover;
94
+ #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
95
+ }
96
+
97
+ // Active state
98
+ // ------------
92
99
  .dropdown-menu .active > a,
93
100
  .dropdown-menu .active > a:hover {
94
101
  color: @dropdownLinkColorHover;
95
102
  text-decoration: none;
96
- background-color: @dropdownLinkBackgroundHover;
103
+ outline: 0;
104
+ background-color: @dropdownLinkBackgroundActive;
105
+ #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
106
+ }
107
+
108
+ // Disabled state
109
+ // --------------
110
+ // Gray out text and ensure the hover state remains gray
111
+ .dropdown-menu .disabled > a,
112
+ .dropdown-menu .disabled > a:hover {
113
+ color: @grayLight;
114
+ }
115
+ // Nuke hover effects
116
+ .dropdown-menu .disabled > a:hover {
117
+ text-decoration: none;
118
+ background-color: transparent;
119
+ cursor: default;
97
120
  }
98
121
 
99
122
  // Open state for the dropdown
@@ -135,6 +158,50 @@
135
158
  }
136
159
  }
137
160
 
161
+ // Sub menus
162
+ // ---------------------------
163
+ .dropdown-submenu {
164
+ position: relative;
165
+ }
166
+ .dropdown-submenu > .dropdown-menu {
167
+ top: 0;
168
+ left: 100%;
169
+ margin-top: -6px;
170
+ margin-left: -1px;
171
+ -webkit-border-radius: 0 6px 6px 6px;
172
+ -moz-border-radius: 0 6px 6px 6px;
173
+ border-radius: 0 6px 6px 6px;
174
+ }
175
+ .dropdown-submenu:hover .dropdown-menu {
176
+ display: block;
177
+ }
178
+
179
+ .dropdown-submenu > a:after {
180
+ display: block;
181
+ content: " ";
182
+ float: right;
183
+ width: 0;
184
+ height: 0;
185
+ border-color: transparent;
186
+ border-style: solid;
187
+ border-width: 5px 0 5px 5px;
188
+ border-left-color: darken(@dropdownBackground, 20%);
189
+ margin-top: 5px;
190
+ margin-right: -10px;
191
+ }
192
+ .dropdown-submenu:hover > a:after {
193
+ border-left-color: @dropdownLinkColorHover;
194
+ }
195
+
196
+
197
+ // Tweak nav headers
198
+ // -----------------
199
+ // Increase padding from 15px to 20px on sides
200
+ .dropdown .dropdown-menu .nav-header {
201
+ padding-left: 20px;
202
+ padding-right: 20px;
203
+ }
204
+
138
205
  // Typeahead
139
206
  // ---------
140
207
  .typeahead {
@@ -1,6 +1,6 @@
1
- // Forms.less
2
- // Base styles for various input types, form layouts, and states
3
- // -------------------------------------------------------------
1
+ //
2
+ // Forms
3
+ // --------------------------------------------------
4
4
 
5
5
 
6
6
  // GENERAL STYLES
@@ -22,7 +22,7 @@ legend {
22
22
  display: block;
23
23
  width: 100%;
24
24
  padding: 0;
25
- margin-bottom: @baseLineHeight * 1.5;
25
+ margin-bottom: @baseLineHeight;
26
26
  font-size: @baseFontSize * 1.5;
27
27
  line-height: @baseLineHeight * 2;
28
28
  color: @grayDark;
@@ -80,11 +80,12 @@ input[type="color"],
80
80
  .uneditable-input {
81
81
  display: inline-block;
82
82
  height: @baseLineHeight;
83
- padding: 4px;
83
+ padding: 4px 6px;
84
84
  margin-bottom: 9px;
85
85
  font-size: @baseFontSize;
86
86
  line-height: @baseLineHeight;
87
87
  color: @gray;
88
+ .border-radius(@inputBorderRadius);
88
89
  }
89
90
 
90
91
  // Reset appearance properties for textual inputs and textarea
@@ -116,10 +117,8 @@ input[type="color"],
116
117
  .uneditable-input {
117
118
  background-color: @inputBackground;
118
119
  border: 1px solid @inputBorder;
119
- .border-radius(@inputBorderRadius);
120
120
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
121
- @transition: border linear .2s, box-shadow linear .2s;
122
- .transition(@transition);
121
+ .transition(~"border linear .2s, box-shadow linear .2s");
123
122
 
124
123
  // Focus state
125
124
  &:focus {
@@ -133,13 +132,16 @@ input[type="color"],
133
132
  // Position radios and checkboxes better
134
133
  input[type="radio"],
135
134
  input[type="checkbox"] {
136
- margin: 3px 0;
135
+ margin: 4px 0 0;
137
136
  *margin-top: 0; /* IE7 */
137
+ margin-top: 1px \9; /* IE8-9 */
138
138
  line-height: normal;
139
139
  cursor: pointer;
140
140
  }
141
141
 
142
- // Reset width of input buttons, radios, checkboxes
142
+ // Reset width of input images, buttons, radios, checkboxes
143
+ input[type="file"],
144
+ input[type="image"],
143
145
  input[type="submit"],
144
146
  input[type="reset"],
145
147
  input[type="button"],
@@ -148,24 +150,19 @@ input[type="checkbox"] {
148
150
  width: auto; // Override of generic input selector
149
151
  }
150
152
 
151
- // Make uneditable textareas behave like a textarea
152
- .uneditable-textarea {
153
- width: auto;
154
- height: auto;
155
- }
156
-
157
153
  // Set the height of select and file controls to match text inputs
158
154
  select,
159
155
  input[type="file"] {
160
- height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
156
+ height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
161
157
  *margin-top: 4px; /* For IE7, add top margin to align select with labels */
162
- line-height: 28px;
158
+ line-height: 30px;
163
159
  }
164
160
 
165
161
  // Make select elements obey height by applying a border
166
162
  select {
167
163
  width: 220px; // default input width + 10px of padding that doesn't get applied
168
164
  border: 1px solid #bbb;
165
+ background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
169
166
  }
170
167
 
171
168
  // Make multiple select elements height not fixed
@@ -183,6 +180,41 @@ input[type="checkbox"]:focus {
183
180
  }
184
181
 
185
182
 
183
+ // Uneditable inputs
184
+ // -------------------------
185
+
186
+ // Make uneditable inputs look inactive
187
+ .uneditable-input,
188
+ .uneditable-textarea {
189
+ color: @grayLight;
190
+ background-color: darken(@inputBackground, 1%);
191
+ border-color: @inputBorder;
192
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
193
+ cursor: not-allowed;
194
+ }
195
+
196
+ // For text that needs to appear as an input but should not be an input
197
+ .uneditable-input {
198
+ overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
199
+ white-space: nowrap;
200
+ }
201
+
202
+ // Make uneditable textareas behave like a textarea
203
+ .uneditable-textarea {
204
+ width: auto;
205
+ height: auto;
206
+ }
207
+
208
+
209
+ // Placeholder
210
+ // -------------------------
211
+
212
+ // Placeholder text gets special styles; can't be bundled together though for some reason
213
+ input,
214
+ textarea {
215
+ .placeholder();
216
+ }
217
+
186
218
 
187
219
  // CHECKBOXES & RADIOS
188
220
  // -------------------
@@ -250,6 +282,10 @@ textarea[class*="span"],
250
282
  .input-append .uneditable-input[class*="span"],
251
283
  .input-prepend input[class*="span"],
252
284
  .input-prepend .uneditable-input[class*="span"],
285
+ .row-fluid input[class*="span"],
286
+ .row-fluid select[class*="span"],
287
+ .row-fluid textarea[class*="span"],
288
+ .row-fluid .uneditable-input[class*="span"],
253
289
  .row-fluid .input-prepend [class*="span"],
254
290
  .row-fluid .input-append [class*="span"] {
255
291
  display: inline-block;
@@ -260,8 +296,18 @@ textarea[class*="span"],
260
296
  // GRID SIZING FOR INPUTS
261
297
  // ----------------------
262
298
 
299
+ // Grid sizes
263
300
  #grid > .input(@gridColumnWidth, @gridGutterWidth);
264
301
 
302
+ // Control row for multiple inputs per line
303
+ .controls-row {
304
+ .clearfix(); // Clear the float from controls
305
+ }
306
+ .controls-row [class*="span"] {
307
+ float: left; // Float to collapse white-space for proper grid alignment
308
+ }
309
+
310
+
265
311
 
266
312
 
267
313
  // DISABLED STATE
@@ -276,7 +322,6 @@ select[readonly],
276
322
  textarea[readonly] {
277
323
  cursor: not-allowed;
278
324
  background-color: @inputDisabledBackground;
279
- border-color: #ddd;
280
325
  }
281
326
  // Explicitly reset the colors here
282
327
  input[type="radio"][disabled],
@@ -332,19 +377,6 @@ select:focus:required:invalid {
332
377
  .clearfix(); // Adding clearfix to allow for .pull-right button containers
333
378
  }
334
379
 
335
- // For text that needs to appear as an input but should not be an input
336
- .uneditable-input {
337
- overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
338
- white-space: nowrap;
339
- cursor: not-allowed;
340
- background-color: @inputBackground;
341
- border-color: #eee;
342
- .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
343
- }
344
-
345
- // Placeholder text gets special styles; can't be bundled together though for some reason
346
- .placeholder();
347
-
348
380
 
349
381
 
350
382
  // HELP TEXT
@@ -352,7 +384,7 @@ select:focus:required:invalid {
352
384
 
353
385
  .help-block,
354
386
  .help-inline {
355
- color: @gray; // lighten the text some for contrast
387
+ color: lighten(@textColor, 15%); // lighten the text some for contrast
356
388
  }
357
389
 
358
390
  .help-block {
@@ -373,42 +405,44 @@ select:focus:required:invalid {
373
405
  // ------------
374
406
 
375
407
  // Allow us to put symbols and text within the input field for a cleaner look
376
- .input-prepend,
377
- .input-append {
408
+ .input-append,
409
+ .input-prepend {
378
410
  margin-bottom: 5px;
411
+ font-size: 0;
412
+ white-space: nowrap; // Prevent span and input from separating
413
+
379
414
  input,
380
415
  select,
381
416
  .uneditable-input {
382
417
  position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
383
418
  margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
384
419
  *margin-left: 0;
385
- vertical-align: middle;
420
+ font-size: @baseFontSize;
421
+ vertical-align: top;
386
422
  .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
387
423
  // Make input on top when focused so blue border and shadow always show
388
424
  &:focus {
389
425
  z-index: 2;
390
426
  }
391
427
  }
392
- .uneditable-input {
393
- border-left-color: #ccc;
394
- }
395
428
  .add-on {
396
429
  display: inline-block;
397
430
  width: auto;
398
431
  height: @baseLineHeight;
399
432
  min-width: 16px;
400
433
  padding: 4px 5px;
434
+ font-size: @baseFontSize;
401
435
  font-weight: normal;
402
436
  line-height: @baseLineHeight;
403
437
  text-align: center;
404
438
  text-shadow: 0 1px 0 @white;
405
- vertical-align: middle;
406
439
  background-color: @grayLighter;
407
440
  border: 1px solid #ccc;
408
441
  }
409
442
  .add-on,
410
443
  .btn {
411
444
  margin-left: -1px;
445
+ vertical-align: top;
412
446
  .border-radius(0);
413
447
  }
414
448
  .active {
@@ -432,10 +466,6 @@ select:focus:required:invalid {
432
466
  .uneditable-input {
433
467
  .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
434
468
  }
435
- .uneditable-input {
436
- border-right-color: #ccc;
437
- border-left-color: #eee;
438
- }
439
469
  .add-on:last-child,
440
470
  .btn:last-child {
441
471
  .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
@@ -465,17 +495,36 @@ select:focus:required:invalid {
465
495
  // SEARCH FORM
466
496
  // -----------
467
497
 
468
- .search-query {
498
+ input.search-query {
469
499
  padding-right: 14px;
470
500
  padding-right: 4px \9;
471
501
  padding-left: 14px;
472
502
  padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
473
- margin-bottom: 0; // remove the default margin on all inputs
474
- .border-radius(14px);
503
+ margin-bottom: 0; // Remove the default margin on all inputs
504
+ .border-radius(15px);
505
+ }
506
+
507
+ /* Allow for input prepend/append in search forms */
508
+ .form-search .input-append .search-query,
509
+ .form-search .input-prepend .search-query {
510
+ .border-radius(0); // Override due to specificity
511
+ }
512
+ .form-search .input-append .search-query {
513
+ .border-radius(14px 0 0 14px)
514
+ }
515
+ .form-search .input-append .btn {
516
+ .border-radius(0 14px 14px 0)
517
+ }
518
+ .form-search .input-prepend .search-query {
519
+ .border-radius(0 14px 14px 0)
520
+ }
521
+ .form-search .input-prepend .btn {
522
+ .border-radius(14px 0 0 14px)
475
523
  }
476
524
 
477
525
 
478
526
 
527
+
479
528
  // HORIZONTAL & VERTICAL FORMS
480
529
  // ---------------------------
481
530
 
@@ -495,6 +544,7 @@ select:focus:required:invalid {
495
544
  display: inline-block;
496
545
  .ie7-inline-block();
497
546
  margin-bottom: 0;
547
+ vertical-align: middle;
498
548
  }
499
549
  // Re-hide hidden elements due to specifity
500
550
  .hide {
@@ -502,7 +552,9 @@ select:focus:required:invalid {
502
552
  }
503
553
  }
504
554
  .form-search label,
505
- .form-inline label {
555
+ .form-inline label,
556
+ .form-search .btn-group,
557
+ .form-inline .btn-group {
506
558
  display: inline-block;
507
559
  }
508
560
  // Remove margin for input-prepend/-append