bootstrap-sass 3.2.0.4 → 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.

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