less-rails-bootstrap 3.2.0 → 3.3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/app/assets/fonts/twitter/bootstrap/glyphicons-halflings-regular.svg +1 -1
  4. data/app/assets/javascripts/twitter/bootstrap/affix.js +43 -23
  5. data/app/assets/javascripts/twitter/bootstrap/alert.js +6 -4
  6. data/app/assets/javascripts/twitter/bootstrap/button.js +16 -10
  7. data/app/assets/javascripts/twitter/bootstrap/carousel.js +26 -10
  8. data/app/assets/javascripts/twitter/bootstrap/collapse.js +69 -28
  9. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +20 -10
  10. data/app/assets/javascripts/twitter/bootstrap/modal.js +22 -21
  11. data/app/assets/javascripts/twitter/bootstrap/popover.js +13 -7
  12. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +12 -7
  13. data/app/assets/javascripts/twitter/bootstrap/tab.js +41 -16
  14. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +60 -39
  15. data/app/assets/javascripts/twitter/bootstrap/transition.js +1 -1
  16. data/app/frameworks/twitter/bootstrap/button-groups.less +16 -9
  17. data/app/frameworks/twitter/bootstrap/buttons.less +7 -4
  18. data/app/frameworks/twitter/bootstrap/carousel.less +24 -0
  19. data/app/frameworks/twitter/bootstrap/code.less +1 -0
  20. data/app/frameworks/twitter/bootstrap/component-animations.less +5 -2
  21. data/app/frameworks/twitter/bootstrap/dropdowns.less +3 -5
  22. data/app/frameworks/twitter/bootstrap/forms.less +44 -25
  23. data/app/frameworks/twitter/bootstrap/glyphicons.less +2 -1
  24. data/app/frameworks/twitter/bootstrap/jumbotron.less +4 -4
  25. data/app/frameworks/twitter/bootstrap/list-group.less +1 -0
  26. data/app/frameworks/twitter/bootstrap/media.less +27 -36
  27. data/app/frameworks/twitter/bootstrap/mixins/buttons.less +2 -0
  28. data/app/frameworks/twitter/bootstrap/mixins/forms.less +5 -1
  29. data/app/frameworks/twitter/bootstrap/mixins/image.less +0 -1
  30. data/app/frameworks/twitter/bootstrap/mixins/labels.less +1 -1
  31. data/app/frameworks/twitter/bootstrap/mixins/vendor-prefixes.less +6 -3
  32. data/app/frameworks/twitter/bootstrap/modals.less +2 -3
  33. data/app/frameworks/twitter/bootstrap/navbar.less +29 -25
  34. data/app/frameworks/twitter/bootstrap/navs.less +3 -1
  35. data/app/frameworks/twitter/bootstrap/normalize.less +5 -3
  36. data/app/frameworks/twitter/bootstrap/pager.less +1 -2
  37. data/app/frameworks/twitter/bootstrap/pagination.less +1 -1
  38. data/app/frameworks/twitter/bootstrap/panels.less +21 -3
  39. data/app/frameworks/twitter/bootstrap/popovers.less +5 -4
  40. data/app/frameworks/twitter/bootstrap/print.less +102 -96
  41. data/app/frameworks/twitter/bootstrap/progress-bars.less +1 -19
  42. data/app/frameworks/twitter/bootstrap/responsive-embed.less +2 -1
  43. data/app/frameworks/twitter/bootstrap/scaffolding.less +1 -1
  44. data/app/frameworks/twitter/bootstrap/tables.less +11 -10
  45. data/app/frameworks/twitter/bootstrap/theme.less +12 -10
  46. data/app/frameworks/twitter/bootstrap/thumbnails.less +1 -1
  47. data/app/frameworks/twitter/bootstrap/type.less +0 -11
  48. data/app/frameworks/twitter/bootstrap/utilities.less +0 -1
  49. data/app/frameworks/twitter/bootstrap/variables.less +29 -19
  50. data/lib/less/rails/bootstrap/version.rb +1 -1
  51. metadata +19 -19
@@ -1,5 +1,5 @@
1
1
  /* ========================================================================
2
- * Bootstrap: transition.js v3.2.0
2
+ * Bootstrap: transition.js v3.3.0
3
3
  * http://getbootstrap.com/javascript/#transitions
4
4
  * ========================================================================
5
5
  * Copyright 2011-2014 Twitter, Inc.
@@ -198,7 +198,6 @@
198
198
  }
199
199
 
200
200
 
201
-
202
201
  // Justified button groups
203
202
  // ----------------------
204
203
 
@@ -226,15 +225,23 @@
226
225
  // Checkbox and radio options
227
226
  //
228
227
  // In order to support the browser's form validation feedback, powered by the
229
- // `required` attribute, we have to "hide" the inputs via `opacity`. We cannot
230
- // use `display: none;` or `visibility: hidden;` as that also hides the popover.
228
+ // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
229
+ // `display: none;` or `visibility: hidden;` as that also hides the popover.
230
+ // Simply visually hiding the inputs via `opacity` would leave them clickable in
231
+ // certain cases which is prevented by using `clip` and `pointer-events`.
231
232
  // This way, we ensure a DOM element is visible to position the popover from.
232
233
  //
233
- // See https://github.com/twbs/bootstrap/pull/12794 for more.
234
+ // See https://github.com/twbs/bootstrap/pull/12794 and
235
+ // https://github.com/twbs/bootstrap/pull/14559 for more information.
234
236
 
235
- [data-toggle="buttons"] > .btn > input[type="radio"],
236
- [data-toggle="buttons"] > .btn > input[type="checkbox"] {
237
- position: absolute;
238
- z-index: -1;
239
- .opacity(0);
237
+ [data-toggle="buttons"] {
238
+ > .btn,
239
+ > .btn-group > .btn {
240
+ input[type="radio"],
241
+ input[type="checkbox"] {
242
+ position: absolute;
243
+ clip: rect(0,0,0,0);
244
+ pointer-events: none;
245
+ }
246
+ }
240
247
  }
@@ -12,6 +12,7 @@
12
12
  font-weight: @btn-font-weight;
13
13
  text-align: center;
14
14
  vertical-align: middle;
15
+ touch-action: manipulation;
15
16
  cursor: pointer;
16
17
  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
17
18
  border: 1px solid transparent;
@@ -22,13 +23,15 @@
22
23
  &,
23
24
  &:active,
24
25
  &.active {
25
- &:focus {
26
+ &:focus,
27
+ &.focus {
26
28
  .tab-focus();
27
29
  }
28
30
  }
29
31
 
30
32
  &:hover,
31
- &:focus {
33
+ &:focus,
34
+ &.focus {
32
35
  color: @btn-default-color;
33
36
  text-decoration: none;
34
37
  }
@@ -43,7 +46,7 @@
43
46
  &.disabled,
44
47
  &[disabled],
45
48
  fieldset[disabled] & {
46
- cursor: not-allowed;
49
+ cursor: @cursor-disabled;
47
50
  pointer-events: none; // Future-proof disabling of clicks
48
51
  .opacity(.65);
49
52
  .box-shadow(none);
@@ -85,11 +88,11 @@
85
88
  .btn-link {
86
89
  color: @link-color;
87
90
  font-weight: normal;
88
- cursor: pointer;
89
91
  border-radius: 0;
90
92
 
91
93
  &,
92
94
  &:active,
95
+ &.active,
93
96
  &[disabled],
94
97
  fieldset[disabled] & {
95
98
  background-color: transparent;
@@ -24,6 +24,30 @@
24
24
  &:extend(.img-responsive);
25
25
  line-height: 1;
26
26
  }
27
+
28
+ // WebKit CSS3 transforms for supported devices
29
+ @media all and (transform-3d), (-webkit-transform-3d) {
30
+ transition: transform .6s ease-in-out;
31
+ backface-visibility: hidden;
32
+ perspective: 1000;
33
+
34
+ &.next,
35
+ &.active.right {
36
+ transform: translate3d(100%, 0, 0);
37
+ left: 0;
38
+ }
39
+ &.prev,
40
+ &.active.left {
41
+ transform: translate3d(-100%, 0, 0);
42
+ left: 0;
43
+ }
44
+ &.next.left,
45
+ &.prev.right,
46
+ &.active {
47
+ transform: translate3d(0, 0, 0);
48
+ left: 0;
49
+ }
50
+ }
27
51
  }
28
52
 
29
53
  > .active,
@@ -32,6 +32,7 @@ kbd {
32
32
  kbd {
33
33
  padding: 0;
34
34
  font-size: 100%;
35
+ font-weight: bold;
35
36
  box-shadow: none;
36
37
  }
37
38
  }
@@ -17,8 +17,9 @@
17
17
 
18
18
  .collapse {
19
19
  display: none;
20
+ visibility: hidden;
20
21
 
21
- &.in { display: block; }
22
+ &.in { display: block; visibility: visible; }
22
23
  tr&.in { display: table-row; }
23
24
  tbody&.in { display: table-row-group; }
24
25
  }
@@ -27,5 +28,7 @@
27
28
  position: relative;
28
29
  height: 0;
29
30
  overflow: hidden;
30
- .transition(height .35s ease);
31
+ .transition-property(~"height, visibility");
32
+ .transition-duration(.35s);
33
+ .transition-timing-function(ease);
31
34
  }
@@ -103,16 +103,15 @@
103
103
  &:focus {
104
104
  color: @dropdown-link-disabled-color;
105
105
  }
106
- }
107
- // Nuke hover/focus effects
108
- .dropdown-menu > .disabled > a {
106
+
107
+ // Nuke hover/focus effects
109
108
  &:hover,
110
109
  &:focus {
111
110
  text-decoration: none;
112
111
  background-color: transparent;
113
112
  background-image: none; // Remove CSS gradient
114
113
  .reset-filter();
115
- cursor: not-allowed;
114
+ cursor: @cursor-disabled;
116
115
  }
117
116
  }
118
117
 
@@ -212,4 +211,3 @@
212
211
  }
213
212
  }
214
213
  }
215
-
@@ -141,7 +141,7 @@ output {
141
141
  &[disabled],
142
142
  &[readonly],
143
143
  fieldset[disabled] & {
144
- cursor: not-allowed;
144
+ cursor: @cursor-disabled;
145
145
  background-color: @input-bg-disabled;
146
146
  opacity: 1; // iOS fix for unreadable disabled content
147
147
  }
@@ -183,9 +183,26 @@ input[type="month"] {
183
183
 
184
184
  &.input-sm {
185
185
  line-height: @input-height-small;
186
+ line-height: @line-height-small ~"\0";
186
187
  }
187
188
  &.input-lg {
188
189
  line-height: @input-height-large;
190
+ line-height: @line-height-large ~"\0";
191
+ }
192
+ }
193
+
194
+ // IE 11 hack to reverse the iOS temporal input hack.
195
+ _:-ms-fullscreen, :root input[type="date"],
196
+ _:-ms-fullscreen, :root input[type="time"],
197
+ _:-ms-fullscreen, :root input[type="datetime-local"],
198
+ _:-ms-fullscreen, :root input[type="month"] {
199
+ line-height: @line-height-base;
200
+
201
+ &.input-sm {
202
+ line-height: @line-height-small;
203
+ }
204
+ &.input-lg {
205
+ line-height: @line-height-large;
189
206
  }
190
207
  }
191
208
 
@@ -208,11 +225,11 @@ input[type="month"] {
208
225
  .checkbox {
209
226
  position: relative;
210
227
  display: block;
211
- min-height: @line-height-computed; // clear the floating input if there is no label text
212
228
  margin-top: 10px;
213
229
  margin-bottom: 10px;
214
230
 
215
231
  label {
232
+ min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
216
233
  padding-left: 20px;
217
234
  margin-bottom: 0;
218
235
  font-weight: normal;
@@ -258,7 +275,7 @@ input[type="checkbox"] {
258
275
  &[disabled],
259
276
  &.disabled,
260
277
  fieldset[disabled] & {
261
- cursor: not-allowed;
278
+ cursor: @cursor-disabled;
262
279
  }
263
280
  }
264
281
  // These classes are used directly on <label>s
@@ -266,7 +283,7 @@ input[type="checkbox"] {
266
283
  .checkbox-inline {
267
284
  &.disabled,
268
285
  fieldset[disabled] & {
269
- cursor: not-allowed;
286
+ cursor: @cursor-disabled;
270
287
  }
271
288
  }
272
289
  // These classes are used on elements with <label> descendants
@@ -275,7 +292,7 @@ input[type="checkbox"] {
275
292
  &.disabled,
276
293
  fieldset[disabled] & {
277
294
  label {
278
- cursor: not-allowed;
295
+ cursor: @cursor-disabled;
279
296
  }
280
297
  }
281
298
  }
@@ -306,12 +323,14 @@ input[type="checkbox"] {
306
323
  // Build on `.form-control` with modifier classes to decrease or increase the
307
324
  // height and font-size of form controls.
308
325
 
309
- .input-sm {
310
- .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
326
+ .input-sm,
327
+ .form-group-sm .form-control {
328
+ .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
311
329
  }
312
330
 
313
- .input-lg {
314
- .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
331
+ .input-lg,
332
+ .form-group-lg .form-control {
333
+ .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
315
334
  }
316
335
 
317
336
 
@@ -331,7 +350,7 @@ input[type="checkbox"] {
331
350
  // Feedback icon (requires .glyphicon classes)
332
351
  .form-control-feedback {
333
352
  position: absolute;
334
- top: (@line-height-computed + 5); // Height of the `label` and its margin
353
+ top: 0;
335
354
  right: 0;
336
355
  z-index: 2; // Ensure icon is above input groups
337
356
  display: block;
@@ -339,6 +358,7 @@ input[type="checkbox"] {
339
358
  height: @input-height-base;
340
359
  line-height: @input-height-base;
341
360
  text-align: center;
361
+ pointer-events: none;
342
362
  }
343
363
  .input-lg + .form-control-feedback {
344
364
  width: @input-height-large;
@@ -362,10 +382,15 @@ input[type="checkbox"] {
362
382
  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
363
383
  }
364
384
 
385
+ // Reposition feedback icon if input has visible label above
386
+ .has-feedback label {
365
387
 
366
- // Reposition feedback icon if label is hidden with "screenreader only" state
367
- .has-feedback label.sr-only ~ .form-control-feedback {
368
- top: 0;
388
+ & ~ .form-control-feedback {
389
+ top: (@line-height-computed + 5); // Height of the `label` and its margin
390
+ }
391
+ &.sr-only ~ .form-control-feedback {
392
+ top: 0;
393
+ }
369
394
  }
370
395
 
371
396
 
@@ -382,7 +407,6 @@ input[type="checkbox"] {
382
407
  }
383
408
 
384
409
 
385
-
386
410
  // Inline forms
387
411
  //
388
412
  // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
@@ -412,6 +436,11 @@ input[type="checkbox"] {
412
436
  vertical-align: middle;
413
437
  }
414
438
 
439
+ // Make static controls behave like regular ones
440
+ .form-control-static {
441
+ display: inline-block;
442
+ }
443
+
415
444
  .input-group {
416
445
  display: inline-table;
417
446
  vertical-align: middle;
@@ -453,10 +482,7 @@ input[type="checkbox"] {
453
482
  margin-left: 0;
454
483
  }
455
484
 
456
- // Validation states
457
- //
458
- // Reposition the icon because it's now within a grid column and columns have
459
- // `position: relative;` on them. Also accounts for the grid gutter padding.
485
+ // Re-override the feedback icon.
460
486
  .has-feedback .form-control-feedback {
461
487
  top: 0;
462
488
  }
@@ -509,7 +535,6 @@ input[type="checkbox"] {
509
535
  // Reposition the icon because it's now within a grid column and columns have
510
536
  // `position: relative;` on them. Also accounts for the grid gutter padding.
511
537
  .has-feedback .form-control-feedback {
512
- top: 0;
513
538
  right: (@grid-gutter-width / 2);
514
539
  }
515
540
 
@@ -523,9 +548,6 @@ input[type="checkbox"] {
523
548
  padding-top: ((@padding-large-vertical * @line-height-large) + 1);
524
549
  }
525
550
  }
526
- .form-control {
527
- &:extend(.input-lg);
528
- }
529
551
  }
530
552
  .form-group-sm {
531
553
  @media (min-width: @screen-sm-min) {
@@ -533,8 +555,5 @@ input[type="checkbox"] {
533
555
  padding-top: (@padding-small-vertical + 1);
534
556
  }
535
557
  }
536
- .form-control {
537
- &:extend(.input-sm);
538
- }
539
558
  }
540
559
  }
@@ -33,7 +33,8 @@
33
33
  // Individual icons
34
34
  .glyphicon-asterisk { &:before { content: "\2a"; } }
35
35
  .glyphicon-plus { &:before { content: "\2b"; } }
36
- .glyphicon-euro { &:before { content: "\20ac"; } }
36
+ .glyphicon-euro,
37
+ .glyphicon-eur { &:before { content: "\20ac"; } }
37
38
  .glyphicon-minus { &:before { content: "\2212"; } }
38
39
  .glyphicon-cloud { &:before { content: "\2601"; } }
39
40
  .glyphicon-envelope { &:before { content: "\2709"; } }
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
  .jumbotron {
7
- padding: @jumbotron-padding;
7
+ padding: @jumbotron-padding (@jumbotron-padding / 2);
8
8
  margin-bottom: @jumbotron-padding;
9
9
  color: @jumbotron-color;
10
10
  background-color: @jumbotron-bg;
@@ -23,7 +23,8 @@
23
23
  border-top-color: darken(@jumbotron-bg, 10%);
24
24
  }
25
25
 
26
- .container & {
26
+ .container &,
27
+ .container-fluid & {
27
28
  border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
28
29
  }
29
30
 
@@ -32,8 +33,7 @@
32
33
  }
33
34
 
34
35
  @media screen and (min-width: @screen-sm-min) {
35
- padding-top: (@jumbotron-padding * 1.6);
36
- padding-bottom: (@jumbotron-padding * 1.6);
36
+ padding: (@jumbotron-padding * 1.6) 0;
37
37
 
38
38
  .container & {
39
39
  padding-left: (@jumbotron-padding * 2);
@@ -74,6 +74,7 @@ a.list-group-item {
74
74
  &.disabled:focus {
75
75
  background-color: @list-group-disabled-bg;
76
76
  color: @list-group-disabled-color;
77
+ cursor: @cursor-disabled;
77
78
 
78
79
  // Force color to inherit for custom content
79
80
  .list-group-item-heading {
@@ -1,54 +1,45 @@
1
- // Media objects
2
- // Source: http://stubbornella.org/content/?p=497
3
- // --------------------------------------------------
1
+ .media {
2
+ // Proper spacing between instances of .media
3
+ margin-top: 15px;
4
+
5
+ &:first-child {
6
+ margin-top: 0;
7
+ }
8
+ }
4
9
 
10
+ .media-right,
11
+ .media > .pull-right {
12
+ padding-left: 10px;
13
+ }
5
14
 
6
- // Common styles
7
- // -------------------------
15
+ .media-left,
16
+ .media > .pull-left {
17
+ padding-right: 10px;
18
+ }
8
19
 
9
- // Clear the floats
10
- .media,
20
+ .media-left,
21
+ .media-right,
11
22
  .media-body {
12
- overflow: hidden;
13
- zoom: 1;
23
+ display: table-cell;
24
+ vertical-align: top;
14
25
  }
15
26
 
16
- // Proper spacing between instances of .media
17
- .media,
18
- .media .media {
19
- margin-top: 15px;
20
- }
21
- .media:first-child {
22
- margin-top: 0;
27
+ .media-middle {
28
+ vertical-align: middle;
23
29
  }
24
30
 
25
- // For images and videos, set to block
26
- .media-object {
27
- display: block;
31
+ .media-bottom {
32
+ vertical-align: bottom;
28
33
  }
29
34
 
30
35
  // Reset margins on headings for tighter default spacing
31
36
  .media-heading {
32
- margin: 0 0 5px;
33
- }
34
-
35
-
36
- // Media image alignment
37
- // -------------------------
38
-
39
- .media {
40
- > .pull-left {
41
- margin-right: 10px;
42
- }
43
- > .pull-right {
44
- margin-left: 10px;
45
- }
37
+ margin-top: 0;
38
+ margin-bottom: 5px;
46
39
  }
47
40
 
48
-
49
41
  // Media list variation
50
- // -------------------------
51
-
42
+ //
52
43
  // Undo default ul/ol styles
53
44
  .media-list {
54
45
  padding-left: 0;