bootstrap-sass 3.2.0.4 → 3.3.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap-sass might be problematic. Click here for more details.

Files changed (81) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -1
  3. data/.travis.yml +8 -2
  4. data/CHANGELOG.md +7 -0
  5. data/CONTRIBUTING.md +1 -1
  6. data/README.md +29 -6
  7. data/Rakefile +3 -4
  8. data/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +1 -1
  9. data/assets/javascripts/bootstrap.js +329 -176
  10. data/assets/javascripts/bootstrap/affix.js +43 -23
  11. data/assets/javascripts/bootstrap/alert.js +6 -4
  12. data/assets/javascripts/bootstrap/button.js +16 -10
  13. data/assets/javascripts/bootstrap/carousel.js +26 -10
  14. data/assets/javascripts/bootstrap/collapse.js +69 -28
  15. data/assets/javascripts/bootstrap/dropdown.js +20 -10
  16. data/assets/javascripts/bootstrap/modal.js +22 -21
  17. data/assets/javascripts/bootstrap/popover.js +13 -7
  18. data/assets/javascripts/bootstrap/scrollspy.js +12 -7
  19. data/assets/javascripts/bootstrap/tab.js +41 -16
  20. data/assets/javascripts/bootstrap/tooltip.js +60 -39
  21. data/assets/javascripts/bootstrap/transition.js +1 -1
  22. data/assets/stylesheets/bootstrap/_button-groups.scss +18 -11
  23. data/assets/stylesheets/bootstrap/_buttons.scss +8 -5
  24. data/assets/stylesheets/bootstrap/_carousel.scss +25 -1
  25. data/assets/stylesheets/bootstrap/_code.scss +1 -0
  26. data/assets/stylesheets/bootstrap/_component-animations.scss +5 -2
  27. data/assets/stylesheets/bootstrap/_dropdowns.scss +4 -6
  28. data/assets/stylesheets/bootstrap/_forms.scss +51 -28
  29. data/assets/stylesheets/bootstrap/_glyphicons.scss +2 -5
  30. data/assets/stylesheets/bootstrap/_grid.scss +4 -4
  31. data/assets/stylesheets/bootstrap/_jumbotron.scss +4 -4
  32. data/assets/stylesheets/bootstrap/_list-group.scss +1 -0
  33. data/assets/stylesheets/bootstrap/_media.scss +27 -36
  34. data/assets/stylesheets/bootstrap/_modals.scss +3 -4
  35. data/assets/stylesheets/bootstrap/_navbar.scss +35 -33
  36. data/assets/stylesheets/bootstrap/_navs.scss +5 -3
  37. data/assets/stylesheets/bootstrap/_normalize.scss +5 -3
  38. data/assets/stylesheets/bootstrap/_pager.scss +2 -3
  39. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  40. data/assets/stylesheets/bootstrap/_panels.scss +22 -4
  41. data/assets/stylesheets/bootstrap/_popovers.scss +5 -4
  42. data/assets/stylesheets/bootstrap/_print.scss +102 -96
  43. data/assets/stylesheets/bootstrap/_progress-bars.scss +2 -20
  44. data/assets/stylesheets/bootstrap/_responsive-embed.scss +2 -1
  45. data/assets/stylesheets/bootstrap/_scaffolding.scss +3 -3
  46. data/assets/stylesheets/bootstrap/_tables.scss +11 -10
  47. data/assets/stylesheets/bootstrap/_theme.scss +16 -14
  48. data/assets/stylesheets/bootstrap/_thumbnails.scss +2 -2
  49. data/assets/stylesheets/bootstrap/_type.scss +10 -16
  50. data/assets/stylesheets/bootstrap/_utilities.scss +3 -4
  51. data/assets/stylesheets/bootstrap/_variables.scss +29 -19
  52. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +2 -0
  53. data/assets/stylesheets/bootstrap/mixins/_forms.scss +5 -1
  54. data/assets/stylesheets/bootstrap/mixins/_grid.scss +2 -2
  55. data/assets/stylesheets/bootstrap/mixins/_hide-text.scss +1 -1
  56. data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -1
  57. data/assets/stylesheets/bootstrap/mixins/_labels.scss +1 -1
  58. data/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +1 -1
  59. data/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +6 -3
  60. data/lib/bootstrap-sass.rb +2 -5
  61. data/lib/bootstrap-sass/engine.rb +1 -1
  62. data/lib/bootstrap-sass/version.rb +2 -2
  63. data/package.json +3 -3
  64. data/tasks/converter/less_conversion.rb +60 -28
  65. data/tasks/converter/network.rb +12 -6
  66. data/templates/project/_bootstrap-variables.sass +866 -0
  67. data/templates/project/manifest.rb +5 -11
  68. data/test/node_sass_compile_test.sh +8 -0
  69. metadata +7 -28
  70. data/templates/project/_bootstrap-variables.sass.erb +0 -4
  71. data/test/dummy_rails/bin/bundle +0 -3
  72. data/test/dummy_rails/bin/rails +0 -4
  73. data/test/dummy_rails/bin/rake +0 -4
  74. data/test/dummy_rails/db/test.sqlite3 +0 -0
  75. data/test/dummy_rails/lib/assets/.keep +0 -0
  76. data/test/dummy_rails/public/404.html +0 -58
  77. data/test/dummy_rails/public/422.html +0 -58
  78. data/test/dummy_rails/public/500.html +0 -57
  79. data/test/dummy_rails/public/favicon.ico +0 -0
  80. data/test/node_sass_test.rb +0 -16
  81. data/test/support/integration_test.rb +0 -22
@@ -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.
@@ -38,7 +38,7 @@
38
38
  // Optional: Group multiple button groups together for a toolbar
39
39
  .btn-toolbar {
40
40
  margin-left: -5px; // Offset the first child's margin
41
- @include clearfix();
41
+ @include clearfix;
42
42
 
43
43
  .btn-group,
44
44
  .input-group {
@@ -156,7 +156,7 @@
156
156
 
157
157
  // Clear floats so dropdown menus can be properly placed
158
158
  > .btn-group {
159
- @include clearfix();
159
+ @include clearfix;
160
160
  > .btn {
161
161
  float: none;
162
162
  }
@@ -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
- @include 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
- @include tab-focus();
26
+ &:focus,
27
+ &.focus {
28
+ @include 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
  @include opacity(.65);
49
52
  @include 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;
@@ -21,9 +21,33 @@
21
21
  // Account for jankitude on images
22
22
  > img,
23
23
  > a > img {
24
- @include img-responsive();
24
+ @include 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
  // [converter] extracted tr&.in to tr.collapse.in
23
24
  // [converter] extracted tbody&.in to tbody.collapse.in
24
25
  }
@@ -31,5 +32,7 @@ tbody.collapse.in { display: table-row-group; }
31
32
  position: relative;
32
33
  height: 0;
33
34
  overflow: hidden;
34
- @include transition(height .35s ease);
35
+ @include transition-property(height, visibility);
36
+ @include transition-duration(.35s);
37
+ @include transition-timing-function(ease);
35
38
  }
@@ -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
- @include reset-filter();
115
- cursor: not-allowed;
113
+ @include reset-filter;
114
+ cursor: $cursor-disabled;
116
115
  }
117
116
  }
118
117
 
@@ -212,4 +211,3 @@
212
211
  }
213
212
  }
214
213
  }
215
-
@@ -77,7 +77,7 @@ select[size] {
77
77
  input[type="file"]:focus,
78
78
  input[type="radio"]:focus,
79
79
  input[type="checkbox"]:focus {
80
- @include tab-focus();
80
+ @include tab-focus;
81
81
  }
82
82
 
83
83
  // Adjust output element
@@ -128,10 +128,10 @@ output {
128
128
  @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
129
129
 
130
130
  // Customize the `:focus` state to imitate native WebKit styles.
131
- @include form-control-focus();
131
+ @include form-control-focus;
132
132
 
133
133
  // Placeholder
134
- @include placeholder();
134
+ @include placeholder;
135
135
 
136
136
  // Disabled and read-only inputs
137
137
  //
@@ -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
  }
@@ -185,9 +185,26 @@ input[type="month"] {
185
185
 
186
186
  &.input-sm {
187
187
  line-height: $input-height-small;
188
+ line-height: $line-height-small #{\0};
188
189
  }
189
190
  &.input-lg {
190
191
  line-height: $input-height-large;
192
+ line-height: $line-height-large #{\0};
193
+ }
194
+ }
195
+
196
+ // IE 11 hack to reverse the iOS temporal input hack.
197
+ _:-ms-fullscreen, :root input[type="date"],
198
+ _:-ms-fullscreen, :root input[type="time"],
199
+ _:-ms-fullscreen, :root input[type="datetime-local"],
200
+ _:-ms-fullscreen, :root input[type="month"] {
201
+ line-height: $line-height-base;
202
+
203
+ &.input-sm {
204
+ line-height: $line-height-small;
205
+ }
206
+ &.input-lg {
207
+ line-height: $line-height-large;
191
208
  }
192
209
  }
193
210
 
@@ -210,11 +227,11 @@ input[type="month"] {
210
227
  .checkbox {
211
228
  position: relative;
212
229
  display: block;
213
- min-height: $line-height-computed; // clear the floating input if there is no label text
214
230
  margin-top: 10px;
215
231
  margin-bottom: 10px;
216
232
 
217
233
  label {
234
+ min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
218
235
  padding-left: 20px;
219
236
  margin-bottom: 0;
220
237
  font-weight: normal;
@@ -260,7 +277,7 @@ input[type="checkbox"] {
260
277
  &[disabled],
261
278
  &.disabled,
262
279
  fieldset[disabled] & {
263
- cursor: not-allowed;
280
+ cursor: $cursor-disabled;
264
281
  }
265
282
  }
266
283
  // These classes are used directly on <label>s
@@ -268,7 +285,7 @@ input[type="checkbox"] {
268
285
  .checkbox-inline {
269
286
  &.disabled,
270
287
  fieldset[disabled] & {
271
- cursor: not-allowed;
288
+ cursor: $cursor-disabled;
272
289
  }
273
290
  }
274
291
  // These classes are used on elements with <label> descendants
@@ -277,7 +294,7 @@ input[type="checkbox"] {
277
294
  &.disabled,
278
295
  fieldset[disabled] & {
279
296
  label {
280
- cursor: not-allowed;
297
+ cursor: $cursor-disabled;
281
298
  }
282
299
  }
283
300
  }
@@ -308,9 +325,9 @@ input[type="checkbox"] {
308
325
  // Build on `.form-control` with modifier classes to decrease or increase the
309
326
  // height and font-size of form controls.
310
327
 
311
- @include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small);
328
+ @include input-size('.input-sm, .form-group-sm .form-control', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
312
329
 
313
- @include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large);
330
+ @include input-size('.input-lg, .form-group-lg .form-control', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
314
331
 
315
332
 
316
333
  // Form control feedback states
@@ -329,7 +346,7 @@ input[type="checkbox"] {
329
346
  // Feedback icon (requires .glyphicon classes)
330
347
  .form-control-feedback {
331
348
  position: absolute;
332
- top: ($line-height-computed + 5); // Height of the `label` and its margin
349
+ top: 0;
333
350
  right: 0;
334
351
  z-index: 2; // Ensure icon is above input groups
335
352
  display: block;
@@ -337,6 +354,7 @@ input[type="checkbox"] {
337
354
  height: $input-height-base;
338
355
  line-height: $input-height-base;
339
356
  text-align: center;
357
+ pointer-events: none;
340
358
  }
341
359
  .input-lg + .form-control-feedback {
342
360
  width: $input-height-large;
@@ -360,10 +378,15 @@ input[type="checkbox"] {
360
378
  @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);
361
379
  }
362
380
 
381
+ // Reposition feedback icon if input has visible label above
382
+ .has-feedback label {
363
383
 
364
- // Reposition feedback icon if label is hidden with "screenreader only" state
365
- .has-feedback label.sr-only ~ .form-control-feedback {
366
- top: 0;
384
+ & ~ .form-control-feedback {
385
+ top: ($line-height-computed + 5); // Height of the `label` and its margin
386
+ }
387
+ &.sr-only ~ .form-control-feedback {
388
+ top: 0;
389
+ }
367
390
  }
368
391
 
369
392
 
@@ -380,7 +403,6 @@ input[type="checkbox"] {
380
403
  }
381
404
 
382
405
 
383
-
384
406
  // Inline forms
385
407
  //
386
408
  // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
@@ -392,7 +414,8 @@ input[type="checkbox"] {
392
414
  //
393
415
  // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
394
416
 
395
- .form-inline {
417
+ // [converter] extracted from `.form-inline` for libsass compatibility
418
+ @mixin form-inline {
396
419
 
397
420
  // Kick in the inline
398
421
  @media (min-width: $screen-sm-min) {
@@ -410,6 +433,11 @@ input[type="checkbox"] {
410
433
  vertical-align: middle;
411
434
  }
412
435
 
436
+ // Make static controls behave like regular ones
437
+ .form-control-static {
438
+ display: inline-block;
439
+ }
440
+
413
441
  .input-group {
414
442
  display: inline-table;
415
443
  vertical-align: middle;
@@ -451,15 +479,17 @@ input[type="checkbox"] {
451
479
  margin-left: 0;
452
480
  }
453
481
 
454
- // Validation states
455
- //
456
- // Reposition the icon because it's now within a grid column and columns have
457
- // `position: relative;` on them. Also accounts for the grid gutter padding.
482
+ // Re-override the feedback icon.
458
483
  .has-feedback .form-control-feedback {
459
484
  top: 0;
460
485
  }
461
486
  }
462
487
  }
488
+ // [converter] extracted as `@mixin form-inline` for libsass compatibility
489
+ .form-inline {
490
+ @include form-inline;
491
+ }
492
+
463
493
 
464
494
 
465
495
  // Horizontal forms
@@ -489,7 +519,7 @@ input[type="checkbox"] {
489
519
 
490
520
  // Make form groups behave like rows
491
521
  .form-group {
492
- @include make-row();
522
+ @include make-row;
493
523
  }
494
524
 
495
525
  // Reset spacing and right align labels, but scope to media queries so that
@@ -507,7 +537,6 @@ input[type="checkbox"] {
507
537
  // Reposition the icon because it's now within a grid column and columns have
508
538
  // `position: relative;` on them. Also accounts for the grid gutter padding.
509
539
  .has-feedback .form-control-feedback {
510
- top: 0;
511
540
  right: ($grid-gutter-width / 2);
512
541
  }
513
542
 
@@ -521,9 +550,6 @@ input[type="checkbox"] {
521
550
  padding-top: (($padding-large-vertical * $line-height-large) + 1);
522
551
  }
523
552
  }
524
- .form-control {
525
- @extend .input-lg;
526
- }
527
553
  }
528
554
  .form-group-sm {
529
555
  @media (min-width: $screen-sm-min) {
@@ -531,8 +557,5 @@ input[type="checkbox"] {
531
557
  padding-top: ($padding-small-vertical + 1);
532
558
  }
533
559
  }
534
- .form-control {
535
- @extend .input-sm;
536
- }
537
560
  }
538
561
  }
@@ -1,7 +1,3 @@
1
- //= depend_on "bootstrap/glyphicons-halflings-regular.eot"
2
- //= depend_on "bootstrap/glyphicons-halflings-regular.svg"
3
- //= depend_on "bootstrap/glyphicons-halflings-regular.ttf"
4
- //= depend_on "bootstrap/glyphicons-halflings-regular.woff"
5
1
  //
6
2
  // Glyphicons for Bootstrap
7
3
  //
@@ -37,7 +33,8 @@
37
33
  // Individual icons
38
34
  .glyphicon-asterisk { &:before { content: "\2a"; } }
39
35
  .glyphicon-plus { &:before { content: "\2b"; } }
40
- .glyphicon-euro { &:before { content: "\20ac"; } }
36
+ .glyphicon-euro,
37
+ .glyphicon-eur { &:before { content: "\20ac"; } }
41
38
  .glyphicon-minus { &:before { content: "\2212"; } }
42
39
  .glyphicon-cloud { &:before { content: "\2601"; } }
43
40
  .glyphicon-envelope { &:before { content: "\2709"; } }
@@ -8,7 +8,7 @@
8
8
  // Set the container width, and override it for fixed navbars in media queries.
9
9
 
10
10
  .container {
11
- @include container-fixed();
11
+ @include container-fixed;
12
12
 
13
13
  @media (min-width: $screen-sm-min) {
14
14
  width: $container-sm;
@@ -28,7 +28,7 @@
28
28
  // width for fluid, full width layouts.
29
29
 
30
30
  .container-fluid {
31
- @include container-fixed();
31
+ @include container-fixed;
32
32
  }
33
33
 
34
34
 
@@ -37,7 +37,7 @@
37
37
  // Rows contain and clear the floats of your columns.
38
38
 
39
39
  .row {
40
- @include make-row();
40
+ @include make-row;
41
41
  }
42
42
 
43
43
 
@@ -45,7 +45,7 @@
45
45
  //
46
46
  // Common styles for small and large grid columns
47
47
 
48
- @include make-grid-columns();
48
+ @include make-grid-columns;
49
49
 
50
50
 
51
51
  // Extra small grid