less-rails-bootstrap 3.2.0 → 3.3.0.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 (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;