0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-18 10:52:19 +01:00

Merge branch 'master' of https://github.com/twbs/bootstrap into list_group_buttons

This commit is contained in:
Zac Echola 2015-04-28 09:45:16 -05:00
commit 407e8dc9d8
81 changed files with 4668 additions and 2827 deletions

View File

@ -66,7 +66,7 @@ Guidelines for bug reports:
latest `master` or development branch in the repository. latest `master` or development branch in the repository.
3. **Isolate the problem** — ideally create a [reduced test 3. **Isolate the problem** — ideally create a [reduced test
case](http://css-tricks.com/6263-reduced-test-cases/) and a live example. case](https://css-tricks.com/reduced-test-cases/) and a live example.
[This JS Bin](http://jsbin.com/lefey/1/edit?html,output) is a helpful template. [This JS Bin](http://jsbin.com/lefey/1/edit?html,output) is a helpful template.

View File

@ -63,7 +63,7 @@ module.exports = function (grunt) {
options: { options: {
jshintrc: 'grunt/.jshintrc' jshintrc: 'grunt/.jshintrc'
}, },
src: ['Gruntfile.js', 'grunt/*.js'] src: ['Gruntfile.js', 'package.js', 'grunt/*.js']
}, },
core: { core: {
src: 'js/*.js' src: 'js/*.js'
@ -126,6 +126,10 @@ module.exports = function (grunt) {
uglify: { uglify: {
options: { options: {
compress: {
warnings: false
},
mangle: true,
preserveComments: 'some' preserveComments: 'some'
}, },
core: { core: {
@ -317,6 +321,26 @@ module.exports = function (grunt) {
} }
}, },
htmlmin: {
dist: {
options: {
collapseWhitespace: true,
conservativeCollapse: true,
minifyCSS: true,
minifyJS: true,
removeAttributeQuotes: true,
removeComments: true
},
expand: true,
cwd: '_gh_pages',
dest: '_gh_pages',
src: [
'**/*.html',
'!examples/**/*.html'
]
}
},
jade: { jade: {
options: { options: {
pretty: true, pretty: true,
@ -365,6 +389,14 @@ module.exports = function (grunt) {
return old ? RegExp.quote(old) : old; return old ? RegExp.quote(old) : old;
})(), })(),
replacement: grunt.option('newver'), replacement: grunt.option('newver'),
exclude: [
'dist/fonts',
'docs/assets',
'fonts',
'js/tests/vendor',
'node_modules',
'test-infra'
],
recursive: true recursive: true
} }
}, },
@ -491,7 +523,7 @@ module.exports = function (grunt) {
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']); grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
grunt.registerTask('prep-release', ['jekyll:github', 'compress']); grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github', 'htmlmin', 'compress']);
// Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json). // Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
// This task should be run and the updated file should be committed whenever Bootstrap's dependencies change. // This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.

View File

@ -1,4 +1,5 @@
# [Bootstrap](http://getbootstrap.com) # [Bootstrap](http://getbootstrap.com)
[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com)
![Bower version](https://img.shields.io/bower/v/bootstrap.svg?style=flat) ![Bower version](https://img.shields.io/bower/v/bootstrap.svg?style=flat)
[![npm version](https://img.shields.io/npm/v/bootstrap.svg?style=flat)](https://www.npmjs.com/package/bootstrap) [![npm version](https://img.shields.io/npm/v/bootstrap.svg?style=flat)](https://www.npmjs.com/package/bootstrap)
[![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg?style=flat)](https://travis-ci.org/twbs/bootstrap) [![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg?style=flat)](https://travis-ci.org/twbs/bootstrap)
@ -100,10 +101,11 @@ Editor preferences are available in the [editor config](https://github.com/twbs/
## Community ## Community
Keep track of development and community news. Get updates on Bootstrap's development and chat with the project maintainers and community members.
- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap). - Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com). - Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
- Join [the official Slack room](https://bootstrap-slack.herokuapp.com).
- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel. - Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
- Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3)). - Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3)).
- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability. - Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.

View File

@ -1,7 +1,6 @@
{ {
"name": "bootstrap", "name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
"version": "3.3.4",
"keywords": [ "keywords": [
"css", "css",
"js", "js",
@ -13,15 +12,11 @@
"web" "web"
], ],
"homepage": "http://getbootstrap.com", "homepage": "http://getbootstrap.com",
"license": "MIT",
"moduleType": "globals",
"main": [ "main": [
"less/bootstrap.less", "less/bootstrap.less",
"dist/css/bootstrap.css", "dist/js/bootstrap.js"
"dist/js/bootstrap.js",
"dist/fonts/glyphicons-halflings-regular.eot",
"dist/fonts/glyphicons-halflings-regular.svg",
"dist/fonts/glyphicons-halflings-regular.ttf",
"dist/fonts/glyphicons-halflings-regular.woff",
"dist/fonts/glyphicons-halflings-regular.woff2"
], ],
"ignore": [ "ignore": [
"/.*", "/.*",

View File

@ -29,6 +29,27 @@
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
} }
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge, .btn-default .badge,
.btn-primary .badge, .btn-primary .badge,
.btn-success .badge, .btn-success .badge,
@ -64,8 +85,23 @@
border-color: #dbdbdb; border-color: #dbdbdb;
} }
.btn-default.disabled, .btn-default.disabled,
.btn-default:disabled, .btn-default[disabled],
.btn-default[disabled] { fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0; background-color: #e0e0e0;
background-image: none; background-image: none;
} }
@ -90,8 +126,23 @@
border-color: #245580; border-color: #245580;
} }
.btn-primary.disabled, .btn-primary.disabled,
.btn-primary:disabled, .btn-primary[disabled],
.btn-primary[disabled] { fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88; background-color: #265a88;
background-image: none; background-image: none;
} }
@ -116,8 +167,23 @@
border-color: #3e8f3e; border-color: #3e8f3e;
} }
.btn-success.disabled, .btn-success.disabled,
.btn-success:disabled, .btn-success[disabled],
.btn-success[disabled] { fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641; background-color: #419641;
background-image: none; background-image: none;
} }
@ -142,8 +208,23 @@
border-color: #28a4c9; border-color: #28a4c9;
} }
.btn-info.disabled, .btn-info.disabled,
.btn-info:disabled, .btn-info[disabled],
.btn-info[disabled] { fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2; background-color: #2aabd2;
background-image: none; background-image: none;
} }
@ -168,8 +249,23 @@
border-color: #e38d13; border-color: #e38d13;
} }
.btn-warning.disabled, .btn-warning.disabled,
.btn-warning:disabled, .btn-warning[disabled],
.btn-warning[disabled] { fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316; background-color: #eb9316;
background-image: none; background-image: none;
} }
@ -194,8 +290,23 @@
border-color: #b92c28; border-color: #b92c28;
} }
.btn-danger.disabled, .btn-danger.disabled,
.btn-danger:disabled, .btn-danger[disabled],
.btn-danger[disabled] { fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a; background-color: #c12e2a;
background-image: none; background-image: none;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html { html {
font-family: sans-serif; font-family: sans-serif;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
@ -239,9 +239,6 @@ th {
h3 { h3 {
page-break-after: avoid; page-break-after: avoid;
} }
select {
background: #fff !important;
}
.navbar { .navbar {
display: none; display: none;
} }
@ -2739,7 +2736,7 @@ select[multiple].input-sm {
.form-group-sm .form-control-static { .form-group-sm .form-control-static {
height: 30px; height: 30px;
min-height: 32px; min-height: 32px;
padding: 5px 10px; padding: 6px 10px;
font-size: 12px; font-size: 12px;
line-height: 1.5; line-height: 1.5;
} }
@ -2776,7 +2773,7 @@ select[multiple].input-lg {
.form-group-lg .form-control-static { .form-group-lg .form-control-static {
height: 46px; height: 46px;
min-height: 38px; min-height: 38px;
padding: 10px 16px; padding: 11px 16px;
font-size: 18px; font-size: 18px;
line-height: 1.3333333; line-height: 1.3333333;
} }
@ -2799,13 +2796,15 @@ select[multiple].input-lg {
pointer-events: none; pointer-events: none;
} }
.input-lg + .form-control-feedback, .input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback { .input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 46px; width: 46px;
height: 46px; height: 46px;
line-height: 46px; line-height: 46px;
} }
.input-sm + .form-control-feedback, .input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback { .input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px; width: 30px;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
@ -2991,11 +2990,13 @@ select[multiple].input-lg {
@media (min-width: 768px) { @media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label { .form-horizontal .form-group-lg .control-label {
padding-top: 14.333333px; padding-top: 14.333333px;
font-size: 18px;
} }
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label { .form-horizontal .form-group-sm .control-label {
padding-top: 6px; padding-top: 6px;
font-size: 12px;
} }
} }
.btn { .btn {
@ -3559,6 +3560,7 @@ tbody.collapse.in {
margin-left: 2px; margin-left: 2px;
vertical-align: middle; vertical-align: middle;
border-top: 4px dashed; border-top: 4px dashed;
border-top: 4px solid\9;
border-right: 4px solid transparent; border-right: 4px solid transparent;
border-left: 4px solid transparent; border-left: 4px solid transparent;
} }
@ -3723,6 +3725,7 @@ tbody.collapse.in {
.btn-toolbar { .btn-toolbar {
margin-left: -5px; margin-left: -5px;
} }
.btn-toolbar .btn,
.btn-toolbar .btn-group, .btn-toolbar .btn-group,
.btn-toolbar .input-group { .btn-toolbar .input-group {
float: left; float: left;
@ -4013,6 +4016,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
} }
.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group { .input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px; margin-left: -1px;
} }
.nav { .nav {
@ -4788,6 +4792,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination > li > span:hover, .pagination > li > span:hover,
.pagination > li > a:focus, .pagination > li > a:focus,
.pagination > li > span:focus { .pagination > li > span:focus {
z-index: 3;
color: #23527c; color: #23527c;
background-color: #eee; background-color: #eee;
border-color: #ddd; border-color: #ddd;
@ -4960,7 +4965,7 @@ a.label:focus {
color: #fff; color: #fff;
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
vertical-align: baseline; vertical-align: middle;
background-color: #777; background-color: #777;
border-radius: 10px; border-radius: 10px;
} }
@ -5247,6 +5252,9 @@ a.thumbnail.active {
.media-object { .media-object {
display: block; display: block;
} }
.media-object.img-thumbnail {
max-width: none;
}
.media-right, .media-right,
.media > .pull-right { .media > .pull-right {
padding-left: 10px; padding-left: 10px;
@ -5506,6 +5514,10 @@ a.list-group-item-danger.active:focus {
border-bottom-right-radius: 3px; border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px; border-bottom-left-radius: 3px;
} }
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child { .panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0; border-top-width: 0;
} }
@ -5987,10 +5999,23 @@ button.close {
display: block; display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px; font-size: 12px;
font-style: normal;
font-weight: normal; font-weight: normal;
line-height: 1.4; line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
white-space: normal;
filter: alpha(opacity=0); filter: alpha(opacity=0);
opacity: 0; opacity: 0;
line-break: auto;
} }
.tooltip.in { .tooltip.in {
filter: alpha(opacity=90); filter: alpha(opacity=90);
@ -6017,7 +6042,6 @@ button.close {
padding: 3px 8px; padding: 3px 8px;
color: #fff; color: #fff;
text-align: center; text-align: center;
text-decoration: none;
background-color: #000; background-color: #000;
border-radius: 4px; border-radius: 4px;
} }
@ -6094,9 +6118,18 @@ button.close {
padding: 1px; padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px; font-size: 14px;
font-style: normal;
font-weight: normal; font-weight: normal;
line-height: 1.42857143; line-height: 1.42857143;
text-align: left; text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
white-space: normal; white-space: normal;
background-color: #fff; background-color: #fff;
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
@ -6106,6 +6139,8 @@ button.close {
border-radius: 6px; border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
line-break: auto;
} }
.popover.top { .popover.top {
margin-top: -10px; margin-top: -10px;
@ -6233,8 +6268,8 @@ button.close {
-webkit-backface-visibility: hidden; -webkit-backface-visibility: hidden;
backface-visibility: hidden; backface-visibility: hidden;
-webkit-perspective: 1000; -webkit-perspective: 1000px;
perspective: 1000; perspective: 1000px;
} }
.carousel-inner > .item.next, .carousel-inner > .item.next,
.carousel-inner > .item.active.right { .carousel-inner > .item.active.right {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -204,7 +204,7 @@ if (typeof jQuery === 'undefined') {
var val = $el.is('input') ? 'val' : 'html' var val = $el.is('input') ? 'val' : 'html'
var data = $el.data() var data = $el.data()
state = state + 'Text' state += 'Text'
if (data.resetText == null) $el.data('resetText', $el[val]()) if (data.resetText == null) $el.data('resetText', $el[val]())
@ -229,8 +229,8 @@ if (typeof jQuery === 'undefined') {
if ($parent.length) { if ($parent.length) {
var $input = this.$element.find('input') var $input = this.$element.find('input')
if ($input.prop('type') == 'radio') { if ($input.prop('type') == 'radio') {
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false if ($input.prop('checked')) changed = false
else $parent.find('.active').removeClass('active') if (!$input.prop('checked') || !this.$element.hasClass('active')) $parent.find('.active').removeClass('active')
} }
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
} else { } else {
@ -280,7 +280,7 @@ if (typeof jQuery === 'undefined') {
var $btn = $(e.target) var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
Plugin.call($btn, 'toggle') Plugin.call($btn, 'toggle')
e.preventDefault() if (!$(e.target).is('input[type="radio"]')) e.preventDefault()
}) })
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
@ -761,6 +761,40 @@ if (typeof jQuery === 'undefined') {
Dropdown.VERSION = '3.3.4' Dropdown.VERSION = '3.3.4'
function getParent($this) {
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
function clearMenus(e) {
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
var $this = $(this)
var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
if (!$parent.hasClass('open')) return
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
if (e.isDefaultPrevented()) return
$this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
@ -810,7 +844,7 @@ if (typeof jQuery === 'undefined') {
var $parent = getParent($this) var $parent = getParent($this)
var isActive = $parent.hasClass('open') var isActive = $parent.hasClass('open')
if ((!isActive && e.which != 27) || (isActive && e.which == 27)) { if (!isActive && e.which != 27 || isActive && e.which == 27) {
if (e.which == 27) $parent.find(toggle).trigger('focus') if (e.which == 27) $parent.find(toggle).trigger('focus')
return $this.trigger('click') return $this.trigger('click')
} }
@ -822,47 +856,13 @@ if (typeof jQuery === 'undefined') {
var index = $items.index(e.target) var index = $items.index(e.target)
if (e.which == 38 && index > 0) index-- // up if (e.which == 38 && index > 0) index-- // up
if (e.which == 40 && index < $items.length - 1) index++ // down if (e.which == 40 && index < $items.length - 1) index++ // down
if (!~index) index = 0 if (!~index) index = 0
$items.eq(index).trigger('focus') $items.eq(index).trigger('focus')
} }
function clearMenus(e) {
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
var $this = $(this)
var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
if (!$parent.hasClass('open')) return
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
if (e.isDefaultPrevented()) return
$this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
function getParent($this) {
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
// DROPDOWN PLUGIN DEFINITION // DROPDOWN PLUGIN DEFINITION
// ========================== // ==========================
@ -900,8 +900,7 @@ if (typeof jQuery === 'undefined') {
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
}(jQuery); }(jQuery);
@ -1295,7 +1294,7 @@ if (typeof jQuery === 'undefined') {
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
if (this.$element[0] instanceof document.constructor && !this.options.selector) { if (this.$element[0] instanceof document.constructor && !this.options.selector) {
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@ -1430,6 +1429,7 @@ if (typeof jQuery === 'undefined') {
.data('bs.' + this.type, this) .data('bs.' + this.type, this)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
this.$element.trigger('inserted.bs.' + this.type)
var pos = this.getPosition() var pos = this.getPosition()
var actualWidth = $tip[0].offsetWidth var actualWidth = $tip[0].offsetWidth
@ -1437,13 +1437,12 @@ if (typeof jQuery === 'undefined') {
if (autoPlace) { if (autoPlace) {
var orgPlacement = placement var orgPlacement = placement
var $container = this.options.container ? $(this.options.container) : this.$element.parent() var viewportDim = this.getPosition(this.$viewport)
var containerDim = this.getPosition($container)
placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' : placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
placement placement
$tip $tip
@ -1484,8 +1483,8 @@ if (typeof jQuery === 'undefined') {
if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginTop)) marginTop = 0
if (isNaN(marginLeft)) marginLeft = 0 if (isNaN(marginLeft)) marginLeft = 0
offset.top = offset.top + marginTop offset.top += marginTop
offset.left = offset.left + marginLeft offset.left += marginLeft
// $.fn.offset doesn't round pixel values // $.fn.offset doesn't round pixel values
// so we use setOffset directly with our own function B-0 // so we use setOffset directly with our own function B-0
@ -1567,7 +1566,7 @@ if (typeof jQuery === 'undefined') {
Tooltip.prototype.fixTitle = function () { Tooltip.prototype.fixTitle = function () {
var $e = this.$element var $e = this.$element
if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') { if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '') $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
} }
} }
@ -1622,7 +1621,7 @@ if (typeof jQuery === 'undefined') {
var rightEdgeOffset = pos.left + viewportPadding + actualWidth var rightEdgeOffset = pos.left + viewportPadding + actualWidth
if (leftEdgeOffset < viewportDimensions.left) { // left overflow if (leftEdgeOffset < viewportDimensions.left) { // left overflow
delta.left = viewportDimensions.left - leftEdgeOffset delta.left = viewportDimensions.left - leftEdgeOffset
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
} }
} }
@ -1648,7 +1647,13 @@ if (typeof jQuery === 'undefined') {
} }
Tooltip.prototype.tip = function () { Tooltip.prototype.tip = function () {
return (this.$tip = this.$tip || $(this.options.template)) if (!this.$tip) {
this.$tip = $(this.options.template)
if (this.$tip.length != 1) {
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
}
}
return this.$tip
} }
Tooltip.prototype.arrow = function () { Tooltip.prototype.arrow = function () {
@ -1685,6 +1690,12 @@ if (typeof jQuery === 'undefined') {
clearTimeout(this.timeout) clearTimeout(this.timeout)
this.hide(function () { this.hide(function () {
that.$element.off('.' + that.type).removeData('bs.' + that.type) that.$element.off('.' + that.type).removeData('bs.' + that.type)
if (that.$tip) {
that.$tip.detach()
}
that.$tip = null
that.$arrow = null
that.$viewport = null
}) })
} }
@ -2069,7 +2080,7 @@ if (typeof jQuery === 'undefined') {
var $active = container.find('> .active') var $active = container.find('> .active')
var transition = callback var transition = callback
&& $.support.transition && $.support.transition
&& (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length) && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
function next() { function next() {
$active $active

File diff suppressed because one or more lines are too long

View File

@ -88,6 +88,16 @@
origin: > origin: >
Bootstrap#15832 Bootstrap#15832
-
browser: >
Chrome
summary: >
Focus ring of image map within a modal is displayed in the wrong location.
upstream_bug: >
Chromium#475128
origin: >
Bootstrap#16180
- -
browser: > browser: >
Chrome Chrome
@ -200,6 +210,16 @@
origin: > origin: >
Bootstrap#15832 Bootstrap#15832
-
browser: >
Safari (OS X)
summary: >
Focus ring of image map within a modal is displayed in the wrong location.
upstream_bug: >
WebKit#143527
origin: >
Bootstrap#16180
- -
browser: > browser: >
Safari (iOS) Safari (iOS)

View File

@ -4,7 +4,7 @@
<p class="lead">Toggleable, contextual menu for displaying lists of links. Made interactive with the <a href="../javascript/#dropdowns">dropdown JavaScript plugin</a>.</p> <p class="lead">Toggleable, contextual menu for displaying lists of links. Made interactive with the <a href="../javascript/#dropdowns">dropdown JavaScript plugin</a>.</p>
<h2 id="dropdowns-example">Example</h2> <h2 id="dropdowns-example">Example</h2>
<p>Wrap the dropdown's trigger and the dropdown menu within <code>.dropdown</code>, or another element that declares <code>position: relative;</code>. Then add the menu's HTML. Dropdown menus can be changed to expand upwards (instead of downwards) by adding <code>.dropup</code> to the parent.</p> <p>Wrap the dropdown's trigger and the dropdown menu within <code>.dropdown</code>, or another element that declares <code>position: relative;</code>. Then add the menu's HTML.</p>
<div class="bs-example" data-example-id="static-dropdown"> <div class="bs-example" data-example-id="static-dropdown">
<div class="dropdown clearfix"> <div class="dropdown clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
@ -17,17 +17,6 @@
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
</ul> </ul>
</div> </div>
<div class="dropup clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
</ul>
</div>
</div><!-- /example --> </div><!-- /example -->
{% highlight html %} {% highlight html %}
<div class="dropdown"> <div class="dropdown">
@ -42,9 +31,26 @@
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li> <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul> </ul>
</div> </div>
{% endhighlight %}
<p>Dropdown menus can be changed to expand upwards (instead of downwards) by adding <code>.dropup</code> to the parent.</p>
<div class="bs-example" data-example-id="static-dropup">
<div class="dropup clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-expanded="true">
Dropup
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
</ul>
</div>
</div><!-- /example -->
{% highlight html %}
<div class="dropup"> <div class="dropup">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-expanded="true"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-expanded="true">
Dropdown Dropup
<span class="caret"></span> <span class="caret"></span>
</button> </button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2"> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">

View File

@ -164,7 +164,6 @@
} }
.hidden { .hidden {
display: none !important; display: none !important;
visibility: hidden !important;
} }
.invisible { .invisible {
visibility: hidden; visibility: hidden;

View File

@ -8,6 +8,7 @@
<h2 id="affix-usage">Usage</h2> <h2 id="affix-usage">Usage</h2>
<p>Use the affix plugin via data attributes or manually with your own JavaScript. <strong class="text-danger">In both situations, you must provide CSS for the positioning and width of your affixed content.</strong></p> <p>Use the affix plugin via data attributes or manually with your own JavaScript. <strong class="text-danger">In both situations, you must provide CSS for the positioning and width of your affixed content.</strong></p>
<p>Note: Do not use the affix plugin on an element contained in a relatively positioned element, such as a pulled or pushed column, due to a <a href="https://github.com/twbs/bootstrap/issues/12126">Safari rendering bug</a>.</p>
<h3>Positioning via CSS</h3> <h3>Positioning via CSS</h3>
<p>The affix plugin toggles between three classes, each representing a particular state: <code>.affix</code>, <code>.affix-top</code>, and <code>.affix-bottom</code>. You must provide the styles, with the exception of <code>position: fixed;</code> on <code>.affix</code>, for these classes yourself (independent of this plugin) to handle the actual positions.</p> <p>The affix plugin toggles between three classes, each representing a particular state: <code>.affix</code>, <code>.affix-top</code>, and <code>.affix-bottom</code>. You must provide the styles, with the exception of <code>position: fixed;</code> on <code>.affix</code>, for these classes yourself (independent of this plugin) to handle the actual positions.</p>

View File

@ -110,7 +110,7 @@
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<img data-src="holder.js/900x500/auto/#555:#5555" alt="Third slide image"> <img data-src="holder.js/900x500/auto/#555:#555" alt="Third slide image">
<div class="carousel-caption"> <div class="carousel-caption">
<h3>Third slide label</h3> <h3>Third slide label</h3>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p> <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>

View File

@ -233,10 +233,11 @@ sagittis lacus vel augue laoreet rutrum faucibus.">
</tr> </tr>
<tr> <tr>
<td>viewport</td> <td>viewport</td>
<td>string | object</td> <td>string | object | function</td>
<td>{ selector: 'body', padding: 0 }</td> <td>{ selector: 'body', padding: 0 }</td>
<td> <td>
<p>Keeps the popover within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ "selector": "#viewport", "padding": 0 }</code></p> <p>Keeps the popover within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ "selector": "#viewport", "padding": 0 }</code></p>
<p>If a function is given, it is called with the triggering element DOM node as its only argument. The <code>this</code> context is set to the popover instance.</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -293,6 +294,10 @@ sagittis lacus vel augue laoreet rutrum faucibus.">
<td>hidden.bs.popover</td> <td>hidden.bs.popover</td>
<td>This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).</td> <td>This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).</td>
</tr> </tr>
<tr>
<td>inserted.bs.popover</td>
<td>This event is fired after the <code>show.bs.popover</code> event when the popover template has been added to the DOM.</td>
</tr>
</tbody> </tbody>
</table> </table>
</div><!-- /.table-responsive --> </div><!-- /.table-responsive -->

View File

@ -199,10 +199,11 @@ $('#example').tooltip(options)
</tr> </tr>
<tr> <tr>
<td>viewport</td> <td>viewport</td>
<td>string | object</td> <td>string | object | function</td>
<td>{ selector: 'body', padding: 0 }</td> <td>{ selector: 'body', padding: 0 }</td>
<td> <td>
<p>Keeps the tooltip within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ "selector": "#viewport", "padding": 0 }</code></p> <p>Keeps the tooltip within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ "selector": "#viewport", "padding": 0 }</code></p>
<p>If a function is given, it is called with the triggering element DOM node as its only argument. The <code>this</code> context is set to the tooltip instance.</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -260,6 +261,10 @@ $('#example').tooltip(options)
<td>hidden.bs.tooltip</td> <td>hidden.bs.tooltip</td>
<td>This event is fired when the tooltip has finished being hidden from the user (will wait for CSS transitions to complete).</td> <td>This event is fired when the tooltip has finished being hidden from the user (will wait for CSS transitions to complete).</td>
</tr> </tr>
<tr>
<td>inserted.bs.tooltip</td>
<td>This event is fired after the <code>show.bs.tooltip</code> event when the tooltip template has been added to the DOM.</td>
</tr>
</tbody> </tbody>
</table> </table>
</div><!-- /.table-responsive --> </div><!-- /.table-responsive -->

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap Docs (http://getbootstrap.com) * Bootstrap Docs (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For * Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/. * details, see http://creativecommons.org/licenses/by/3.0/.
*/ */
@ -236,7 +236,7 @@ h4 code {
.bs-docs-masthead, .bs-docs-masthead,
.bs-docs-header { .bs-docs-header {
position: relative; position: relative;
padding: 30px 15px; padding: 30px 0;
color: #cdbfe3; color: #cdbfe3;
text-align: center; text-align: center;
text-shadow: 0 1px 0 rgba(0,0,0,.1); text-shadow: 0 1px 0 rgba(0,0,0,.1);

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
/*! /*!
* JavaScript for Bootstrap's docs (http://getbootstrap.com) * JavaScript for Bootstrap's docs (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For * Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/. * details, see http://creativecommons.org/licenses/by/3.0/.
*/ */
@ -127,7 +127,7 @@
// Config ZeroClipboard // Config ZeroClipboard
ZeroClipboard.config({ ZeroClipboard.config({
moviePath: '/assets/flash/ZeroClipboard.swf', swfPath: '/assets/flash/ZeroClipboard.swf',
hoverClass: 'btn-clipboard-hover' hoverClass: 'btn-clipboard-hover'
}) })
@ -136,39 +136,38 @@
var btnHtml = '<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>' var btnHtml = '<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>'
$(this).before(btnHtml) $(this).before(btnHtml)
}) })
var zeroClipboard = new ZeroClipboard($('.btn-clipboard')) var zeroClipboard = new ZeroClipboard($('.btn-clipboard'))
var htmlBridge = $('#global-zeroclipboard-html-bridge') var htmlBridge = $('#global-zeroclipboard-html-bridge')
// Handlers for ZeroClipboard // Handlers for ZeroClipboard
zeroClipboard.on('load', function () { zeroClipboard.on('ready', function () {
htmlBridge htmlBridge
.data('placement', 'top') .data('placement', 'top')
.attr('title', 'Copy to clipboard') .attr('title', 'Copy to clipboard')
.tooltip() .tooltip()
// Copy to clipboard
zeroClipboard.on('copy', function (event) {
var highlight = $(event.target).parent().nextAll('.highlight').first()
event.clipboardData.setData('text/plain', highlight.text())
})
// Notify copy success and reset tooltip title
zeroClipboard.on('aftercopy', function () {
htmlBridge
.attr('title', 'Copied!')
.tooltip('fixTitle')
.tooltip('show')
.attr('title', 'Copy to clipboard')
.tooltip('fixTitle')
})
}) })
// Copy to clipboard // Hide copy button on error
zeroClipboard.on('dataRequested', function (client) { zeroClipboard.on('error', function () {
var highlight = $(this).parent().nextAll('.highlight').first() $('.zero-clipboard').remove()
client.setText(highlight.text()) ZeroClipboard.destroy()
})
// Notify copy success and reset tooltip title
zeroClipboard.on('complete', function () {
htmlBridge
.attr('title', 'Copied!')
.tooltip('fixTitle')
.tooltip('show')
.attr('title', 'Copy to clipboard')
.tooltip('fixTitle')
})
// Notify copy failure
zeroClipboard.on('noflash wrongflash', function () {
htmlBridge
.attr('title', 'Flash required')
.tooltip('fixTitle')
.tooltip('show')
}) })
}) })
@ -177,5 +176,5 @@
;(function () { ;(function () {
'use strict'; 'use strict';
addAnchors('.bs-docs-container h1, .bs-docs-container h2, .bs-docs-container h3, .bs-docs-container h4, .bs-docs-container h5'); addAnchors('.bs-docs-container > h1, .bs-docs-container > h2, .bs-docs-container > h3, .bs-docs-container > h4, .bs-docs-container > h5');
})(); })();

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap Customizer (http://getbootstrap.com/customize/) * Bootstrap Customizer (http://getbootstrap.com/customize/)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* *
* Licensed under the Creative Commons Attribution 3.0 Unported License. For * Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/. * details, see http://creativecommons.org/licenses/by/3.0/.
@ -17,7 +17,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' + ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
' */\n\n' ' */\n\n'
var supportsFile = (window.File && window.FileReader && window.FileList && window.Blob) var supportsFile = window.File && window.FileReader && window.FileList && window.Blob
var importDropTarget = $('#import-drop-target') var importDropTarget = $('#import-drop-target')
function showError(msg, err) { function showError(msg, err) {
@ -112,7 +112,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
js: $('#plugin-section input:checked').map(function () { return this.value }).toArray() js: $('#plugin-section input:checked').map(function () { return this.value }).toArray()
} }
if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return null
return data return data
} }
@ -241,11 +241,11 @@ window.onload = function () { // wait for load in a dumb way because B-0
// Core stylesheets like 'normalize.less' are not included in the form // Core stylesheets like 'normalize.less' are not included in the form
// since disabling them would wreck everything, and so their 'fileInclude' // since disabling them would wreck everything, and so their 'fileInclude'
// will be 'undefined'. // will be 'undefined'.
if (fileInclude || (fileInclude == null)) lessSource += __less[filename] if (fileInclude || fileInclude == null) lessSource += __less[filename]
// Custom variables are added after Bootstrap variables so the custom // Custom variables are added after Bootstrap variables so the custom
// ones take precedence. // ones take precedence.
if (('variables.less' === filename) && vars) lessSource += generateCustomLess(vars) if (filename === 'variables.less' && vars) lessSource += generateCustomLess(vars)
}) })
lessSource = lessSource.replace(/@import[^\n]*/gi, '') // strip any imports lessSource = lessSource.replace(/@import[^\n]*/gi, '') // strip any imports
@ -267,8 +267,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
try { try {
intoResult[baseFilename + '.css'] = cw + tree.toCSS() intoResult[baseFilename + '.css'] = cw + tree.toCSS()
intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true }) intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true })
} } catch (compileErr) {
catch (compileErr) {
return promise.reject(compileErr) return promise.reject(compileErr)
} }
promise.resolve() promise.resolve()
@ -366,7 +365,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
e.stopPropagation() e.stopPropagation()
e.preventDefault() e.preventDefault()
var file = (e.originalEvent.hasOwnProperty('dataTransfer')) ? e.originalEvent.dataTransfer.files[0] : e.originalEvent.target.files[0] var file = e.originalEvent.hasOwnProperty('dataTransfer') ? e.originalEvent.dataTransfer.files[0] : e.originalEvent.target.files[0]
var reader = new FileReader() var reader = new FileReader()
@ -474,7 +473,9 @@ window.onload = function () { // wait for load in a dumb way because B-0
).done(function (css, js, fonts) { ).done(function (css, js, fonts) {
generateZip(css, js, fonts, configJson, function (blob) { generateZip(css, js, fonts, configJson, function (blob) {
$compileBtn.removeAttr('disabled') $compileBtn.removeAttr('disabled')
setTimeout(function () { saveAs(blob, 'bootstrap.zip') }, 0) setTimeout(function () {
saveAs(blob, 'bootstrap.zip')
}, 0)
}) })
}) })
}) })

View File

@ -189,9 +189,23 @@
var builder = new BlobBuilder(); var builder = new BlobBuilder();
if (blobParts) { if (blobParts) {
for (var i = 0, len = blobParts.length; i < len; i++) { for (var i = 0, len = blobParts.length; i < len; i++) {
builder.append(blobParts[i]); if (Uint8Array && blobParts[i] instanceof Uint8Array) {
builder.append(blobParts[i].buffer);
}
else {
builder.append(blobParts[i]);
}
} }
} }
return builder.getBlob(type); var blob = builder.getBlob(type);
if (!blob.slice && blob.webkitSlice) {
blob.slice = blob.webkitSlice;
}
return blob;
}; };
var getPrototypeOf = Object.getPrototypeOf || function(object) {
return object.__proto__;
};
view.Blob.prototype = getPrototypeOf(new view.Blob());
}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); }(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this));

View File

@ -1,6 +1,6 @@
/* FileSaver.js /* FileSaver.js
* A saveAs() FileSaver implementation. * A saveAs() FileSaver implementation.
* 2015-01-04 * 2015-03-04
* *
* By Eli Grey, http://eligrey.com * By Eli Grey, http://eligrey.com
* License: X11/MIT * License: X11/MIT
@ -135,6 +135,10 @@ var saveAs = saveAs
revoke(object_url); revoke(object_url);
return; return;
} }
// prepend BOM for UTF-8 XML and text/plain types
if (/^\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
blob = new Blob(["\ufeff", blob], {type: blob.type});
}
// Object and web filesystem URLs have a problem saving in Google Chrome when // Object and web filesystem URLs have a problem saving in Google Chrome when
// viewed in a tab, so I force save with application/octet-stream // viewed in a tab, so I force save with application/octet-stream
// http://code.google.com/p/chromium/issues/detail?id=91158 // http://code.google.com/p/chromium/issues/detail?id=91158

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

12
docs/assets/js/vendor/holder.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -29,6 +29,27 @@
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
} }
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge, .btn-default .badge,
.btn-primary .badge, .btn-primary .badge,
.btn-success .badge, .btn-success .badge,
@ -64,8 +85,23 @@
border-color: #dbdbdb; border-color: #dbdbdb;
} }
.btn-default.disabled, .btn-default.disabled,
.btn-default:disabled, .btn-default[disabled],
.btn-default[disabled] { fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0; background-color: #e0e0e0;
background-image: none; background-image: none;
} }
@ -90,8 +126,23 @@
border-color: #245580; border-color: #245580;
} }
.btn-primary.disabled, .btn-primary.disabled,
.btn-primary:disabled, .btn-primary[disabled],
.btn-primary[disabled] { fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88; background-color: #265a88;
background-image: none; background-image: none;
} }
@ -116,8 +167,23 @@
border-color: #3e8f3e; border-color: #3e8f3e;
} }
.btn-success.disabled, .btn-success.disabled,
.btn-success:disabled, .btn-success[disabled],
.btn-success[disabled] { fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641; background-color: #419641;
background-image: none; background-image: none;
} }
@ -142,8 +208,23 @@
border-color: #28a4c9; border-color: #28a4c9;
} }
.btn-info.disabled, .btn-info.disabled,
.btn-info:disabled, .btn-info[disabled],
.btn-info[disabled] { fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2; background-color: #2aabd2;
background-image: none; background-image: none;
} }
@ -168,8 +249,23 @@
border-color: #e38d13; border-color: #e38d13;
} }
.btn-warning.disabled, .btn-warning.disabled,
.btn-warning:disabled, .btn-warning[disabled],
.btn-warning[disabled] { fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316; background-color: #eb9316;
background-image: none; background-image: none;
} }
@ -194,8 +290,23 @@
border-color: #b92c28; border-color: #b92c28;
} }
.btn-danger.disabled, .btn-danger.disabled,
.btn-danger:disabled, .btn-danger[disabled],
.btn-danger[disabled] { fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a; background-color: #c12e2a;
background-image: none; background-image: none;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html { html {
font-family: sans-serif; font-family: sans-serif;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
@ -239,9 +239,6 @@ th {
h3 { h3 {
page-break-after: avoid; page-break-after: avoid;
} }
select {
background: #fff !important;
}
.navbar { .navbar {
display: none; display: none;
} }
@ -2739,7 +2736,7 @@ select[multiple].input-sm {
.form-group-sm .form-control-static { .form-group-sm .form-control-static {
height: 30px; height: 30px;
min-height: 32px; min-height: 32px;
padding: 5px 10px; padding: 6px 10px;
font-size: 12px; font-size: 12px;
line-height: 1.5; line-height: 1.5;
} }
@ -2776,7 +2773,7 @@ select[multiple].input-lg {
.form-group-lg .form-control-static { .form-group-lg .form-control-static {
height: 46px; height: 46px;
min-height: 38px; min-height: 38px;
padding: 10px 16px; padding: 11px 16px;
font-size: 18px; font-size: 18px;
line-height: 1.3333333; line-height: 1.3333333;
} }
@ -2799,13 +2796,15 @@ select[multiple].input-lg {
pointer-events: none; pointer-events: none;
} }
.input-lg + .form-control-feedback, .input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback { .input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 46px; width: 46px;
height: 46px; height: 46px;
line-height: 46px; line-height: 46px;
} }
.input-sm + .form-control-feedback, .input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback { .input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px; width: 30px;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
@ -2991,11 +2990,13 @@ select[multiple].input-lg {
@media (min-width: 768px) { @media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label { .form-horizontal .form-group-lg .control-label {
padding-top: 14.333333px; padding-top: 14.333333px;
font-size: 18px;
} }
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label { .form-horizontal .form-group-sm .control-label {
padding-top: 6px; padding-top: 6px;
font-size: 12px;
} }
} }
.btn { .btn {
@ -3559,6 +3560,7 @@ tbody.collapse.in {
margin-left: 2px; margin-left: 2px;
vertical-align: middle; vertical-align: middle;
border-top: 4px dashed; border-top: 4px dashed;
border-top: 4px solid\9;
border-right: 4px solid transparent; border-right: 4px solid transparent;
border-left: 4px solid transparent; border-left: 4px solid transparent;
} }
@ -3723,6 +3725,7 @@ tbody.collapse.in {
.btn-toolbar { .btn-toolbar {
margin-left: -5px; margin-left: -5px;
} }
.btn-toolbar .btn,
.btn-toolbar .btn-group, .btn-toolbar .btn-group,
.btn-toolbar .input-group { .btn-toolbar .input-group {
float: left; float: left;
@ -4013,6 +4016,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
} }
.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group { .input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px; margin-left: -1px;
} }
.nav { .nav {
@ -4788,6 +4792,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination > li > span:hover, .pagination > li > span:hover,
.pagination > li > a:focus, .pagination > li > a:focus,
.pagination > li > span:focus { .pagination > li > span:focus {
z-index: 3;
color: #23527c; color: #23527c;
background-color: #eee; background-color: #eee;
border-color: #ddd; border-color: #ddd;
@ -4960,7 +4965,7 @@ a.label:focus {
color: #fff; color: #fff;
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
vertical-align: baseline; vertical-align: middle;
background-color: #777; background-color: #777;
border-radius: 10px; border-radius: 10px;
} }
@ -5247,6 +5252,9 @@ a.thumbnail.active {
.media-object { .media-object {
display: block; display: block;
} }
.media-object.img-thumbnail {
max-width: none;
}
.media-right, .media-right,
.media > .pull-right { .media > .pull-right {
padding-left: 10px; padding-left: 10px;
@ -5506,6 +5514,10 @@ a.list-group-item-danger.active:focus {
border-bottom-right-radius: 3px; border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px; border-bottom-left-radius: 3px;
} }
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child { .panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0; border-top-width: 0;
} }
@ -5987,10 +5999,23 @@ button.close {
display: block; display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px; font-size: 12px;
font-style: normal;
font-weight: normal; font-weight: normal;
line-height: 1.4; line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
white-space: normal;
filter: alpha(opacity=0); filter: alpha(opacity=0);
opacity: 0; opacity: 0;
line-break: auto;
} }
.tooltip.in { .tooltip.in {
filter: alpha(opacity=90); filter: alpha(opacity=90);
@ -6017,7 +6042,6 @@ button.close {
padding: 3px 8px; padding: 3px 8px;
color: #fff; color: #fff;
text-align: center; text-align: center;
text-decoration: none;
background-color: #000; background-color: #000;
border-radius: 4px; border-radius: 4px;
} }
@ -6094,9 +6118,18 @@ button.close {
padding: 1px; padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px; font-size: 14px;
font-style: normal;
font-weight: normal; font-weight: normal;
line-height: 1.42857143; line-height: 1.42857143;
text-align: left; text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
white-space: normal; white-space: normal;
background-color: #fff; background-color: #fff;
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
@ -6106,6 +6139,8 @@ button.close {
border-radius: 6px; border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
line-break: auto;
} }
.popover.top { .popover.top {
margin-top: -10px; margin-top: -10px;
@ -6233,8 +6268,8 @@ button.close {
-webkit-backface-visibility: hidden; -webkit-backface-visibility: hidden;
backface-visibility: hidden; backface-visibility: hidden;
-webkit-perspective: 1000; -webkit-perspective: 1000px;
perspective: 1000; perspective: 1000px;
} }
.carousel-inner > .item.next, .carousel-inner > .item.next,
.carousel-inner > .item.active.right { .carousel-inner > .item.active.right {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -204,7 +204,7 @@ if (typeof jQuery === 'undefined') {
var val = $el.is('input') ? 'val' : 'html' var val = $el.is('input') ? 'val' : 'html'
var data = $el.data() var data = $el.data()
state = state + 'Text' state += 'Text'
if (data.resetText == null) $el.data('resetText', $el[val]()) if (data.resetText == null) $el.data('resetText', $el[val]())
@ -229,8 +229,8 @@ if (typeof jQuery === 'undefined') {
if ($parent.length) { if ($parent.length) {
var $input = this.$element.find('input') var $input = this.$element.find('input')
if ($input.prop('type') == 'radio') { if ($input.prop('type') == 'radio') {
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false if ($input.prop('checked')) changed = false
else $parent.find('.active').removeClass('active') if (!$input.prop('checked') || !this.$element.hasClass('active')) $parent.find('.active').removeClass('active')
} }
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
} else { } else {
@ -280,7 +280,7 @@ if (typeof jQuery === 'undefined') {
var $btn = $(e.target) var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
Plugin.call($btn, 'toggle') Plugin.call($btn, 'toggle')
e.preventDefault() if (!$(e.target).is('input[type="radio"]')) e.preventDefault()
}) })
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
@ -761,6 +761,40 @@ if (typeof jQuery === 'undefined') {
Dropdown.VERSION = '3.3.4' Dropdown.VERSION = '3.3.4'
function getParent($this) {
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
function clearMenus(e) {
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
var $this = $(this)
var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
if (!$parent.hasClass('open')) return
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
if (e.isDefaultPrevented()) return
$this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
@ -810,7 +844,7 @@ if (typeof jQuery === 'undefined') {
var $parent = getParent($this) var $parent = getParent($this)
var isActive = $parent.hasClass('open') var isActive = $parent.hasClass('open')
if ((!isActive && e.which != 27) || (isActive && e.which == 27)) { if (!isActive && e.which != 27 || isActive && e.which == 27) {
if (e.which == 27) $parent.find(toggle).trigger('focus') if (e.which == 27) $parent.find(toggle).trigger('focus')
return $this.trigger('click') return $this.trigger('click')
} }
@ -822,47 +856,13 @@ if (typeof jQuery === 'undefined') {
var index = $items.index(e.target) var index = $items.index(e.target)
if (e.which == 38 && index > 0) index-- // up if (e.which == 38 && index > 0) index-- // up
if (e.which == 40 && index < $items.length - 1) index++ // down if (e.which == 40 && index < $items.length - 1) index++ // down
if (!~index) index = 0 if (!~index) index = 0
$items.eq(index).trigger('focus') $items.eq(index).trigger('focus')
} }
function clearMenus(e) {
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
var $this = $(this)
var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
if (!$parent.hasClass('open')) return
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
if (e.isDefaultPrevented()) return
$this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
function getParent($this) {
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
// DROPDOWN PLUGIN DEFINITION // DROPDOWN PLUGIN DEFINITION
// ========================== // ==========================
@ -900,8 +900,7 @@ if (typeof jQuery === 'undefined') {
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
}(jQuery); }(jQuery);
@ -1295,7 +1294,7 @@ if (typeof jQuery === 'undefined') {
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
if (this.$element[0] instanceof document.constructor && !this.options.selector) { if (this.$element[0] instanceof document.constructor && !this.options.selector) {
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@ -1430,6 +1429,7 @@ if (typeof jQuery === 'undefined') {
.data('bs.' + this.type, this) .data('bs.' + this.type, this)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
this.$element.trigger('inserted.bs.' + this.type)
var pos = this.getPosition() var pos = this.getPosition()
var actualWidth = $tip[0].offsetWidth var actualWidth = $tip[0].offsetWidth
@ -1437,13 +1437,12 @@ if (typeof jQuery === 'undefined') {
if (autoPlace) { if (autoPlace) {
var orgPlacement = placement var orgPlacement = placement
var $container = this.options.container ? $(this.options.container) : this.$element.parent() var viewportDim = this.getPosition(this.$viewport)
var containerDim = this.getPosition($container)
placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' : placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
placement placement
$tip $tip
@ -1484,8 +1483,8 @@ if (typeof jQuery === 'undefined') {
if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginTop)) marginTop = 0
if (isNaN(marginLeft)) marginLeft = 0 if (isNaN(marginLeft)) marginLeft = 0
offset.top = offset.top + marginTop offset.top += marginTop
offset.left = offset.left + marginLeft offset.left += marginLeft
// $.fn.offset doesn't round pixel values // $.fn.offset doesn't round pixel values
// so we use setOffset directly with our own function B-0 // so we use setOffset directly with our own function B-0
@ -1567,7 +1566,7 @@ if (typeof jQuery === 'undefined') {
Tooltip.prototype.fixTitle = function () { Tooltip.prototype.fixTitle = function () {
var $e = this.$element var $e = this.$element
if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') { if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '') $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
} }
} }
@ -1622,7 +1621,7 @@ if (typeof jQuery === 'undefined') {
var rightEdgeOffset = pos.left + viewportPadding + actualWidth var rightEdgeOffset = pos.left + viewportPadding + actualWidth
if (leftEdgeOffset < viewportDimensions.left) { // left overflow if (leftEdgeOffset < viewportDimensions.left) { // left overflow
delta.left = viewportDimensions.left - leftEdgeOffset delta.left = viewportDimensions.left - leftEdgeOffset
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
} }
} }
@ -1648,7 +1647,13 @@ if (typeof jQuery === 'undefined') {
} }
Tooltip.prototype.tip = function () { Tooltip.prototype.tip = function () {
return (this.$tip = this.$tip || $(this.options.template)) if (!this.$tip) {
this.$tip = $(this.options.template)
if (this.$tip.length != 1) {
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
}
}
return this.$tip
} }
Tooltip.prototype.arrow = function () { Tooltip.prototype.arrow = function () {
@ -1685,6 +1690,12 @@ if (typeof jQuery === 'undefined') {
clearTimeout(this.timeout) clearTimeout(this.timeout)
this.hide(function () { this.hide(function () {
that.$element.off('.' + that.type).removeData('bs.' + that.type) that.$element.off('.' + that.type).removeData('bs.' + that.type)
if (that.$tip) {
that.$tip.detach()
}
that.$tip = null
that.$arrow = null
that.$viewport = null
}) })
} }
@ -2069,7 +2080,7 @@ if (typeof jQuery === 'undefined') {
var $active = container.find('> .active') var $active = container.find('> .active')
var transition = callback var transition = callback
&& $.support.transition && $.support.transition
&& (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length) && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
function next() { function next() {
$active $active

File diff suppressed because one or more lines are too long

View File

@ -209,7 +209,7 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! --> <!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="../../assets/js/vendor/holder.js"></script> <script src="../../assets/js/vendor/holder.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
</body> </body>

View File

@ -241,7 +241,7 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! --> <!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="../../assets/js/vendor/holder.js"></script> <script src="../../assets/js/vendor/holder.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
</body> </body>

View File

@ -202,3 +202,61 @@ body,
.navbar-form .has-feedback .form-control-feedback { .navbar-form .has-feedback .form-control-feedback {
top: 0; top: 0;
} }
/* Undo inline form compaction on small screens */
.form-inline .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
}
.form-inline .input-group .input-group-addon,
.form-inline .input-group .input-group-btn,
.form-inline .input-group .form-control {
width: auto;
}
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio,
.form-inline .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio label,
.form-inline .checkbox label {
padding-left: 0;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}

View File

@ -1,4 +1,12 @@
/*!
* Bootstrap Grunt task for the CommonJS module generation
* http://getbootstrap.com
* Copyright 2014-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
'use strict'; 'use strict';
var fs = require('fs'); var fs = require('fs');
var path = require('path'); var path = require('path');
@ -15,8 +23,7 @@ module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath)
var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n'); var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
try { try {
fs.writeFileSync(destFilepath, moduleOutputJs); fs.writeFileSync(destFilepath, moduleOutputJs);
} } catch (err) {
catch (err) {
grunt.fail.warn(err); grunt.fail.warn(err);
} }
grunt.log.writeln('File ' + destFilepath.cyan + ' created.'); grunt.log.writeln('File ' + destFilepath.cyan + ' created.');

View File

@ -1,10 +1,12 @@
/*! /*!
* Bootstrap Grunt task for Glyphicons data generation * Bootstrap Grunt task for Glyphicons data generation
* http://getbootstrap.com * http://getbootstrap.com
* Copyright 2014 Twitter, Inc. * Copyright 2014-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
'use strict'; 'use strict';
var fs = require('fs'); var fs = require('fs');
module.exports = function generateGlyphiconsData(grunt) { module.exports = function generateGlyphiconsData(grunt) {
@ -33,8 +35,7 @@ module.exports = function generateGlyphiconsData(grunt) {
try { try {
fs.writeFileSync(glyphiconsYml, glyphiconsData); fs.writeFileSync(glyphiconsYml, glyphiconsData);
} } catch (err) {
catch (err) {
grunt.fail.warn(err); grunt.fail.warn(err);
} }
grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.'); grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.');

View File

@ -1,9 +1,10 @@
/*! /*!
* Bootstrap Grunt task for parsing Less docstrings * Bootstrap Grunt task for parsing Less docstrings
* http://getbootstrap.com * http://getbootstrap.com
* Copyright 2014 Twitter, Inc. * Copyright 2014-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
'use strict'; 'use strict';
var Markdown = require('markdown-it'); var Markdown = require('markdown-it');
@ -121,7 +122,7 @@ Tokenizer.prototype._shift = function () {
return new VarDocstring(match[1]); return new VarDocstring(match[1]);
} }
var commentStart = line.lastIndexOf('//'); var commentStart = line.lastIndexOf('//');
var varLine = (commentStart === -1) ? line : line.slice(0, commentStart); var varLine = commentStart === -1 ? line : line.slice(0, commentStart);
match = VAR_ASSIGNMENT.exec(varLine); match = VAR_ASSIGNMENT.exec(varLine);
if (match !== null) { if (match !== null) {
return new Variable(match[1], match[2]); return new Variable(match[1], match[2]);
@ -168,8 +169,7 @@ Parser.prototype.parseSection = function () {
var docstring = this._tokenizer.shift(); var docstring = this._tokenizer.shift();
if (docstring instanceof SectionDocstring) { if (docstring instanceof SectionDocstring) {
section.docstring = docstring; section.docstring = docstring;
} } else {
else {
this._tokenizer.unshift(docstring); this._tokenizer.unshift(docstring);
} }
this.parseSubSections(section); this.parseSubSections(section);
@ -185,15 +185,14 @@ Parser.prototype.parseSubSections = function (section) {
// Presume an implicit initial subsection // Presume an implicit initial subsection
subsection = new SubSection(''); subsection = new SubSection('');
this.parseVars(subsection); this.parseVars(subsection);
} } else {
else {
break; break;
} }
} }
section.addSubSection(subsection); section.addSubSection(subsection);
} }
if (section.subsections.length === 1 && !(section.subsections[0].heading) && section.subsections[0].variables.length === 0) { if (section.subsections.length === 1 && !section.subsections[0].heading && section.subsections[0].variables.length === 0) {
// Ignore lone empty implicit subsection // Ignore lone empty implicit subsection
section.subsections = []; section.subsections = [];
} }

View File

@ -1,28 +1,27 @@
/*! /*!
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
* http://getbootstrap.com * http://getbootstrap.com
* Copyright 2014 Twitter, Inc. * Copyright 2014-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
/* global btoa: true */
'use strict'; 'use strict';
var fs = require('fs'); var fs = require('fs');
var btoa = require('btoa'); var btoa = require('btoa');
var glob = require('glob'); var glob = require('glob');
function getFiles(type) { function getFiles(type) {
var files = {}; var files = {};
var recursive = (type === 'less'); var recursive = type === 'less';
var globExpr = (recursive ? '/**/*' : '/*'); var globExpr = recursive ? '/**/*' : '/*';
glob.sync(type + globExpr) glob.sync(type + globExpr)
.filter(function (path) { .filter(function (path) {
return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path); return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
}) })
.forEach(function (fullPath) { .forEach(function (fullPath) {
var relativePath = fullPath.replace(/^[^/]+\//, ''); var relativePath = fullPath.replace(/^[^/]+\//, '');
files[relativePath] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8')); files[relativePath] = type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8');
}); });
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'; return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
} }
@ -38,8 +37,7 @@ module.exports = function generateRawFilesJs(grunt, banner) {
var rawFilesJs = 'docs/assets/js/raw-files.min.js'; var rawFilesJs = 'docs/assets/js/raw-files.min.js';
try { try {
fs.writeFileSync(rawFilesJs, files); fs.writeFileSync(rawFilesJs, files);
} } catch (err) {
catch (err) {
grunt.fail.warn(err); grunt.fail.warn(err);
} }
grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.'); grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');

View File

@ -11,7 +11,7 @@
"../assets/js/src/customizer.js" "../assets/js/src/customizer.js"
], ],
"docsJs": [ "docsJs": [
"../assets/js/vendor/holder.js", "../assets/js/vendor/holder.min.js",
"../assets/js/vendor/ZeroClipboard.min.js", "../assets/js/vendor/ZeroClipboard.min.js",
"../assets/js/vendor/anchor.js", "../assets/js/vendor/anchor.js",
"../assets/js/src/application.js" "../assets/js/src/application.js"

View File

@ -57,7 +57,7 @@
{ {
browserName: "iphone", browserName: "iphone",
platform: "OS X 10.10", platform: "OS X 10.10",
version: "8.1" version: "8.2"
}, },
# iOS Chrome not currently supported by Sauce Labs # iOS Chrome not currently supported by Sauce Labs

View File

@ -31,7 +31,7 @@
var val = $el.is('input') ? 'val' : 'html' var val = $el.is('input') ? 'val' : 'html'
var data = $el.data() var data = $el.data()
state = state + 'Text' state += 'Text'
if (data.resetText == null) $el.data('resetText', $el[val]()) if (data.resetText == null) $el.data('resetText', $el[val]())
@ -56,8 +56,8 @@
if ($parent.length) { if ($parent.length) {
var $input = this.$element.find('input') var $input = this.$element.find('input')
if ($input.prop('type') == 'radio') { if ($input.prop('type') == 'radio') {
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false if ($input.prop('checked')) changed = false
else $parent.find('.active').removeClass('active') if (!$input.prop('checked') || !this.$element.hasClass('active')) $parent.find('.active').removeClass('active')
} }
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
} else { } else {
@ -107,7 +107,7 @@
var $btn = $(e.target) var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
Plugin.call($btn, 'toggle') Plugin.call($btn, 'toggle')
e.preventDefault() if (!$(e.target).is('input[type="radio"]')) e.preventDefault()
}) })
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))

View File

@ -21,6 +21,40 @@
Dropdown.VERSION = '3.3.4' Dropdown.VERSION = '3.3.4'
function getParent($this) {
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
function clearMenus(e) {
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
var $this = $(this)
var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
if (!$parent.hasClass('open')) return
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
if (e.isDefaultPrevented()) return
$this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
@ -70,7 +104,7 @@
var $parent = getParent($this) var $parent = getParent($this)
var isActive = $parent.hasClass('open') var isActive = $parent.hasClass('open')
if ((!isActive && e.which != 27) || (isActive && e.which == 27)) { if (!isActive && e.which != 27 || isActive && e.which == 27) {
if (e.which == 27) $parent.find(toggle).trigger('focus') if (e.which == 27) $parent.find(toggle).trigger('focus')
return $this.trigger('click') return $this.trigger('click')
} }
@ -82,47 +116,13 @@
var index = $items.index(e.target) var index = $items.index(e.target)
if (e.which == 38 && index > 0) index-- // up if (e.which == 38 && index > 0) index-- // up
if (e.which == 40 && index < $items.length - 1) index++ // down if (e.which == 40 && index < $items.length - 1) index++ // down
if (!~index) index = 0 if (!~index) index = 0
$items.eq(index).trigger('focus') $items.eq(index).trigger('focus')
} }
function clearMenus(e) {
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
var $this = $(this)
var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
if (!$parent.hasClass('open')) return
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
if (e.isDefaultPrevented()) return
$this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
function getParent($this) {
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = selector && $(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
// DROPDOWN PLUGIN DEFINITION // DROPDOWN PLUGIN DEFINITION
// ========================== // ==========================
@ -160,7 +160,6 @@
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
}(jQuery); }(jQuery);

View File

@ -65,7 +65,7 @@
var $active = container.find('> .active') var $active = container.find('> .active')
var transition = callback var transition = callback
&& $.support.transition && $.support.transition
&& (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length) && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
function next() { function next() {
$active $active

View File

@ -167,13 +167,13 @@ $(function () {
assert.ok(!$btn2.find('input').prop('checked'), 'btn2 is not checked') assert.ok(!$btn2.find('input').prop('checked'), 'btn2 is not checked')
$btn2.find('input').trigger('click') $btn2.find('input').trigger('click')
assert.ok(!$btn1.hasClass('active'), 'btn1 does not have active class') assert.ok(!$btn1.hasClass('active'), 'btn1 does not have active class')
assert.ok(!$btn1.find('input').prop('checked'), 'btn1 is checked') assert.ok(!$btn1.find('input').prop('checked'), 'btn1 is not checked')
assert.ok($btn2.hasClass('active'), 'btn2 has active class') assert.ok($btn2.hasClass('active'), 'btn2 has active class')
assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked') assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
$btn2.find('input').trigger('click') // clicking an already checked radio should not un-check it $btn2.find('input').trigger('click') // clicking an already checked radio should not un-check it
assert.ok(!$btn1.hasClass('active'), 'btn1 does not have active class') assert.ok(!$btn1.hasClass('active'), 'btn1 does not have active class')
assert.ok(!$btn1.find('input').prop('checked'), 'btn1 is checked') assert.ok(!$btn1.find('input').prop('checked'), 'btn1 is not checked')
assert.ok($btn2.hasClass('active'), 'btn2 has active class') assert.ok($btn2.hasClass('active'), 'btn2 has active class')
assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked') assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
}) })

View File

@ -259,4 +259,32 @@ $(function () {
assert.strictEqual($popover.data('bs.popover'), undefined, 'should not initialize the popover') assert.strictEqual($popover.data('bs.popover'), undefined, 'should not initialize the popover')
}) })
QUnit.test('should throw an error when template contains multiple top-level elements', function (assert) {
assert.expect(1)
assert.throws(function () {
$('<span data-toggle="popover" data-title="some title" data-content="some content">some text</span>')
.appendTo('#qunit-fixture')
.bootstrapPopover({ template: '<div>Foo</div><div>Bar</div>' })
.bootstrapPopover('show')
}, new Error('popover `template` option must consist of exactly 1 top-level element!'))
})
QUnit.test('should fire inserted event', function (assert) {
assert.expect(2)
var done = assert.async()
$('<a href="#">@Johann-S</a>')
.appendTo('#qunit-fixture')
.on('inserted.bs.popover', function () {
assert.notEqual($('.popover').length, 0, 'popover was inserted')
assert.ok(true, 'inserted event fired')
done()
})
.bootstrapPopover({
title: 'Test',
content: 'Test'
})
.bootstrapPopover('show')
})
}) })

View File

@ -139,6 +139,20 @@ $(function () {
.bootstrapTooltip('show') .bootstrapTooltip('show')
}) })
QUnit.test('should fire inserted event', function (assert) {
assert.expect(2)
var done = assert.async()
$('<div title="tooltip title"/>')
.appendTo('#qunit-fixture')
.on('inserted.bs.tooltip', function () {
assert.notEqual($('.tooltip').length, 0, 'tooltip was inserted')
assert.ok(true, 'inserted event fired')
done()
})
.bootstrapTooltip('show')
})
QUnit.test('should fire shown event', function (assert) { QUnit.test('should fire shown event', function (assert) {
assert.expect(1) assert.expect(1)
var done = assert.async() var done = assert.async()
@ -362,23 +376,19 @@ $(function () {
assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom') assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
}) })
QUnit.test('should be placed dynamically with the dynamic placement option', function (assert) { QUnit.test('should be placed dynamically to viewport with the dynamic placement option', function (assert) {
assert.expect(6) assert.expect(6)
var $style = $('<style> a[rel="tooltip"] { display: inline-block; position: absolute; } </style>') var $style = $('<style> div[rel="tooltip"] { position: absolute; } #qunit-fixture { top: inherit; left: inherit } </style>').appendTo('head')
var $container = $('<div/>') var $container = $('<div/>')
.css({ .css({
position: 'absolute', position: 'relative',
overflow: 'hidden', height: '100%'
width: 600,
height: 400,
top: 0,
left: 0
}) })
.appendTo(document.body) .appendTo('#qunit-fixture')
var $topTooltip = $('<div style="left: 0; top: 0;" rel="tooltip" title="Top tooltip">Top Dynamic Tooltip</div>') var $topTooltip = $('<div style="left: 0; top: 0;" rel="tooltip" title="Top tooltip">Top Dynamic Tooltip</div>')
.appendTo($container) .appendTo($container)
.bootstrapTooltip({ placement: 'auto' }) .bootstrapTooltip({ placement: 'auto', viewport: '#qunit-fixture' })
$topTooltip.bootstrapTooltip('show') $topTooltip.bootstrapTooltip('show')
assert.ok($('.tooltip').is('.bottom'), 'top positioned tooltip is dynamically positioned to bottom') assert.ok($('.tooltip').is('.bottom'), 'top positioned tooltip is dynamically positioned to bottom')
@ -388,7 +398,7 @@ $(function () {
var $rightTooltip = $('<div style="right: 0;" rel="tooltip" title="Right tooltip">Right Dynamic Tooltip</div>') var $rightTooltip = $('<div style="right: 0;" rel="tooltip" title="Right tooltip">Right Dynamic Tooltip</div>')
.appendTo($container) .appendTo($container)
.bootstrapTooltip({ placement: 'right auto' }) .bootstrapTooltip({ placement: 'right auto', viewport: '#qunit-fixture' })
$rightTooltip.bootstrapTooltip('show') $rightTooltip.bootstrapTooltip('show')
assert.ok($('.tooltip').is('.left'), 'right positioned tooltip is dynamically positioned left') assert.ok($('.tooltip').is('.left'), 'right positioned tooltip is dynamically positioned left')
@ -398,7 +408,7 @@ $(function () {
var $leftTooltip = $('<div style="left: 0;" rel="tooltip" title="Left tooltip">Left Dynamic Tooltip</div>') var $leftTooltip = $('<div style="left: 0;" rel="tooltip" title="Left tooltip">Left Dynamic Tooltip</div>')
.appendTo($container) .appendTo($container)
.bootstrapTooltip({ placement: 'auto left' }) .bootstrapTooltip({ placement: 'auto left', viewport: '#qunit-fixture' })
$leftTooltip.bootstrapTooltip('show') $leftTooltip.bootstrapTooltip('show')
assert.ok($('.tooltip').is('.right'), 'left positioned tooltip is dynamically positioned right') assert.ok($('.tooltip').is('.right'), 'left positioned tooltip is dynamically positioned right')
@ -436,6 +446,31 @@ $(function () {
$styles.remove() $styles.remove()
}) })
QUnit.test('should position tip on top if viewport has enough space and is not parent', function (assert) {
assert.expect(2)
var styles = '<style>'
+ '#section { height: 300px; border: 1px solid red; margin-top: 100px; }'
+ 'div[rel="tooltip"] { width: 150px; border: 1px solid blue; }'
+ '</style>'
var $styles = $(styles).appendTo('head')
var $container = $('<div id="section"/>').appendTo('#qunit-fixture')
var $target = $('<div rel="tooltip" title="tip"/>')
.appendTo($container)
.bootstrapTooltip({
placement: 'auto top',
viewport: '#qunit-fixture'
})
$target.bootstrapTooltip('show')
assert.ok($('.tooltip').is('.top'), 'top positioned tooltip is dynamically positioned to top')
$target.bootstrapTooltip('hide')
assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
$styles.remove()
})
QUnit.test('should position tip on bottom if the tip\'s dimension exceeds the viewport area and placement is "auto top"', function (assert) { QUnit.test('should position tip on bottom if the tip\'s dimension exceeds the viewport area and placement is "auto top"', function (assert) {
assert.expect(2) assert.expect(2)
var styles = '<style>' var styles = '<style>'
@ -719,6 +754,65 @@ $(function () {
$styles.remove() $styles.remove()
}) })
QUnit.test('should get viewport element from function', function (assert) {
assert.expect(3)
var styles = '<style>'
+ '.tooltip, .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'
+ '.container-viewport { position: absolute; top: 50px; left: 60px; width: 300px; height: 300px; }'
+ 'a[rel="tooltip"] { position: fixed; }'
+ '</style>'
var $styles = $(styles).appendTo('head')
var $container = $('<div class="container-viewport"/>').appendTo(document.body)
var $target = $('<a href="#" rel="tooltip" title="tip" style="top: 50px; left: 350px;"/>').appendTo($container)
$target
.bootstrapTooltip({
placement: 'bottom',
viewport: function ($element) {
assert.strictEqual($element[0], $target[0], 'viewport function was passed target as argument')
return ($element.closest('.container-viewport'))
}
})
$target.bootstrapTooltip('show')
var $tooltip = $container.find('.tooltip')
assert.strictEqual(Math.round($tooltip.offset().left), Math.round(60 + $container.width() - $tooltip[0].offsetWidth))
$target.bootstrapTooltip('hide')
assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
$container.remove()
$styles.remove()
})
QUnit.test('should not misplace the tip when the right edge offset is greater or equal than the viewport width', function (assert) {
assert.expect(2)
var styles = '<style>'
+ '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
+ '.container-viewport, .container-viewport *, .container-viewport *:before, .container-viewport *:after { box-sizing: border-box; }'
+ '.tooltip, .tooltip .tooltip-inner { width: 50px; height: 50px; max-width: none; background: red; }'
+ '.container-viewport { padding: 100px; margin-left: 100px; width: 100px; }'
+ '</style>'
var $styles = $(styles).appendTo('head')
var $container = $('<div class="container-viewport"/>').appendTo(document.body)
var $target = $('<a href="#" rel="tooltip" title="tip">foobar</a>')
.appendTo($container)
.bootstrapTooltip({
viewport: '.container-viewport'
})
$target.bootstrapTooltip('show')
var $tooltip = $container.find('.tooltip')
assert.strictEqual(Math.round($tooltip.offset().left), Math.round($target.position().left + $target.width() / 2 - $tooltip[0].offsetWidth / 2))
$target.bootstrapTooltip('hide')
assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
$container.remove()
$styles.remove()
})
QUnit.test('should not error when trying to show an auto-placed tooltip that has been removed from the dom', function (assert) { QUnit.test('should not error when trying to show an auto-placed tooltip that has been removed from the dom', function (assert) {
assert.expect(1) assert.expect(1)
var passed = true var passed = true
@ -1180,4 +1274,14 @@ $(function () {
assert.strictEqual($tooltip.data('bs.tooltip'), undefined, 'should not initialize the tooltip') assert.strictEqual($tooltip.data('bs.tooltip'), undefined, 'should not initialize the tooltip')
}) })
QUnit.test('should throw an error when template contains multiple top-level elements', function (assert) {
assert.expect(1)
assert.throws(function () {
$('<a href="#" data-toggle="tooltip" title="Another tooltip"></a>')
.appendTo('#qunit-fixture')
.bootstrapTooltip({ template: '<div>Foo</div><div>Bar</div>' })
.bootstrapTooltip('show')
}, new Error('tooltip `template` option must consist of exactly 1 top-level element!'))
})
}) })

View File

@ -50,7 +50,7 @@
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
if (this.$element[0] instanceof document.constructor && !this.options.selector) { if (this.$element[0] instanceof document.constructor && !this.options.selector) {
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@ -185,6 +185,7 @@
.data('bs.' + this.type, this) .data('bs.' + this.type, this)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
this.$element.trigger('inserted.bs.' + this.type)
var pos = this.getPosition() var pos = this.getPosition()
var actualWidth = $tip[0].offsetWidth var actualWidth = $tip[0].offsetWidth
@ -192,13 +193,12 @@
if (autoPlace) { if (autoPlace) {
var orgPlacement = placement var orgPlacement = placement
var $container = this.options.container ? $(this.options.container) : this.$element.parent() var viewportDim = this.getPosition(this.$viewport)
var containerDim = this.getPosition($container)
placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' : placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
placement placement
$tip $tip
@ -239,8 +239,8 @@
if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginTop)) marginTop = 0
if (isNaN(marginLeft)) marginLeft = 0 if (isNaN(marginLeft)) marginLeft = 0
offset.top = offset.top + marginTop offset.top += marginTop
offset.left = offset.left + marginLeft offset.left += marginLeft
// $.fn.offset doesn't round pixel values // $.fn.offset doesn't round pixel values
// so we use setOffset directly with our own function B-0 // so we use setOffset directly with our own function B-0
@ -322,7 +322,7 @@
Tooltip.prototype.fixTitle = function () { Tooltip.prototype.fixTitle = function () {
var $e = this.$element var $e = this.$element
if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') { if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '') $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
} }
} }
@ -377,7 +377,7 @@
var rightEdgeOffset = pos.left + viewportPadding + actualWidth var rightEdgeOffset = pos.left + viewportPadding + actualWidth
if (leftEdgeOffset < viewportDimensions.left) { // left overflow if (leftEdgeOffset < viewportDimensions.left) { // left overflow
delta.left = viewportDimensions.left - leftEdgeOffset delta.left = viewportDimensions.left - leftEdgeOffset
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
} }
} }
@ -403,7 +403,13 @@
} }
Tooltip.prototype.tip = function () { Tooltip.prototype.tip = function () {
return (this.$tip = this.$tip || $(this.options.template)) if (!this.$tip) {
this.$tip = $(this.options.template)
if (this.$tip.length != 1) {
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
}
}
return this.$tip
} }
Tooltip.prototype.arrow = function () { Tooltip.prototype.arrow = function () {
@ -440,6 +446,12 @@
clearTimeout(this.timeout) clearTimeout(this.timeout)
this.hide(function () { this.hide(function () {
that.$element.off('.' + that.type).removeData('bs.' + that.type) that.$element.off('.' + that.type).removeData('bs.' + that.type)
if (that.$tip) {
that.$tip.detach()
}
that.$tip = null
that.$arrow = null
that.$viewport = null
}) })
} }

View File

@ -12,7 +12,7 @@
font-weight: @badge-font-weight; font-weight: @badge-font-weight;
color: @badge-color; color: @badge-color;
line-height: @badge-line-height; line-height: @badge-line-height;
vertical-align: baseline; vertical-align: middle;
white-space: nowrap; white-space: nowrap;
text-align: center; text-align: center;
background-color: @badge-bg; background-color: @badge-bg;

View File

@ -36,6 +36,7 @@
margin-left: -5px; // Offset the first child's margin margin-left: -5px; // Offset the first child's margin
&:extend(.clearfix all); &:extend(.clearfix all);
.btn,
.btn-group, .btn-group,
.input-group { .input-group {
float: left; float: left;

View File

@ -29,7 +29,7 @@
@media all and (transform-3d), (-webkit-transform-3d) { @media all and (transform-3d), (-webkit-transform-3d) {
.transition-transform(~'0.6s ease-in-out'); .transition-transform(~'0.6s ease-in-out');
.backface-visibility(~'hidden'); .backface-visibility(~'hidden');
.perspective(1000); .perspective(1000px);
&.next, &.next,
&.active.right { &.active.right {

View File

@ -11,6 +11,7 @@
margin-left: 2px; margin-left: 2px;
vertical-align: middle; vertical-align: middle;
border-top: @caret-width-base dashed; border-top: @caret-width-base dashed;
border-top: @caret-width-base ~"solid\9"; // IE8
border-right: @caret-width-base solid transparent; border-right: @caret-width-base solid transparent;
border-left: @caret-width-base solid transparent; border-left: @caret-width-base solid transparent;
} }

View File

@ -56,7 +56,6 @@ input[type="checkbox"] {
line-height: normal; line-height: normal;
} }
// Set the height of file controls to match text inputs
input[type="file"] { input[type="file"] {
display: block; display: block;
} }
@ -338,10 +337,10 @@ input[type="checkbox"] {
} }
.form-control-static { .form-control-static {
height: @input-height-small; height: @input-height-small;
padding: @padding-small-vertical @padding-small-horizontal; min-height: (@line-height-computed + @font-size-small);
padding: (@padding-small-vertical + 1) @padding-small-horizontal;
font-size: @font-size-small; font-size: @font-size-small;
line-height: @line-height-small; line-height: @line-height-small;
min-height: (@line-height-computed + @font-size-small);
} }
} }
@ -366,10 +365,10 @@ input[type="checkbox"] {
} }
.form-control-static { .form-control-static {
height: @input-height-large; height: @input-height-large;
padding: @padding-large-vertical @padding-large-horizontal; min-height: (@line-height-computed + @font-size-large);
padding: (@padding-large-vertical + 1) @padding-large-horizontal;
font-size: @font-size-large; font-size: @font-size-large;
line-height: @line-height-large; line-height: @line-height-large;
min-height: (@line-height-computed + @font-size-large);
} }
} }
@ -401,13 +400,15 @@ input[type="checkbox"] {
pointer-events: none; pointer-events: none;
} }
.input-lg + .form-control-feedback, .input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback { .input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: @input-height-large; width: @input-height-large;
height: @input-height-large; height: @input-height-large;
line-height: @input-height-large; line-height: @input-height-large;
} }
.input-sm + .form-control-feedback, .input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback { .input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: @input-height-small; width: @input-height-small;
height: @input-height-small; height: @input-height-small;
line-height: @input-height-small; line-height: @input-height-small;
@ -576,7 +577,7 @@ input[type="checkbox"] {
// Reposition the icon because it's now within a grid column and columns have // Reposition the icon because it's now within a grid column and columns have
// `position: relative;` on them. Also accounts for the grid gutter padding. // `position: relative;` on them. Also accounts for the grid gutter padding.
.has-feedback .form-control-feedback { .has-feedback .form-control-feedback {
right: (@grid-gutter-width / 2); right: floor((@grid-gutter-width / 2));
} }
// Form group sizes // Form group sizes
@ -587,6 +588,7 @@ input[type="checkbox"] {
@media (min-width: @screen-sm-min) { @media (min-width: @screen-sm-min) {
.control-label { .control-label {
padding-top: ((@padding-large-vertical * @line-height-large) + 1); padding-top: ((@padding-large-vertical * @line-height-large) + 1);
font-size: @font-size-large;
} }
} }
} }
@ -594,6 +596,7 @@ input[type="checkbox"] {
@media (min-width: @screen-sm-min) { @media (min-width: @screen-sm-min) {
.control-label { .control-label {
padding-top: (@padding-small-vertical + 1); padding-top: (@padding-small-vertical + 1);
font-size: @font-size-small;
} }
} }
} }

View File

@ -160,6 +160,7 @@
&:last-child { &:last-child {
> .btn, > .btn,
> .btn-group { > .btn-group {
z-index: 2;
margin-left: -1px; margin-left: -1px;
} }
} }

View File

@ -19,6 +19,11 @@
.media-object { .media-object {
display: block; display: block;
// Fix collapse in webkit from max-width: 100% and display: table-cell.
&.img-thumbnail {
max-width: none;
}
} }
.media-right, .media-right,

View File

@ -11,6 +11,7 @@
@import "mixins/responsive-visibility.less"; @import "mixins/responsive-visibility.less";
@import "mixins/size.less"; @import "mixins/size.less";
@import "mixins/tab-focus.less"; @import "mixins/tab-focus.less";
@import "mixins/reset-text.less";
@import "mixins/text-emphasis.less"; @import "mixins/text-emphasis.less";
@import "mixins/text-overflow.less"; @import "mixins/text-overflow.less";
@import "mixins/vendor-prefixes.less"; @import "mixins/vendor-prefixes.less";

View File

@ -19,8 +19,8 @@
// Prevent columns from collapsing when empty // Prevent columns from collapsing when empty
min-height: 1px; min-height: 1px;
// Inner gutter via padding // Inner gutter via padding
padding-left: (@grid-gutter-width / 2); padding-left: ceil((@grid-gutter-width / 2));
padding-right: (@grid-gutter-width / 2); padding-right: floor((@grid-gutter-width / 2));
} }
} }
.col(1); // kickstart it .col(1); // kickstart it

View File

@ -13,8 +13,8 @@
// Creates a wrapper for a series of columns // Creates a wrapper for a series of columns
.make-row(@gutter: @grid-gutter-width) { .make-row(@gutter: @grid-gutter-width) {
margin-left: (@gutter / -2); margin-left: ceil((@gutter / -2));
margin-right: (@gutter / -2); margin-right: floor((@gutter / -2));
&:extend(.clearfix all); &:extend(.clearfix all);
} }

View File

@ -0,0 +1,18 @@
.reset-text() {
font-family: @font-family-base;
// We deliberately do NOT reset font-size.
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: @line-height-base;
text-align: left; // Fallback for where `start` is not supported
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
}

19
less/normalize.less vendored
View File

@ -1,9 +1,9 @@
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
// //
// 1. Set default font family to sans-serif. // 1. Set default font family to sans-serif.
// 2. Prevent iOS text size adjust after orientation change, without disabling // 2. Prevent iOS and IE text size adjust after device orientation change,
// user zoom. // without disabling user zoom.
// //
html { html {
@ -71,7 +71,7 @@ audio:not([controls]) {
// //
// Address `[hidden]` styling not present in IE 8/9/10. // Address `[hidden]` styling not present in IE 8/9/10.
// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. // Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
// //
[hidden], [hidden],
@ -91,7 +91,8 @@ a {
} }
// //
// Improve readability when focused and also mouse hovered in all browsers. // Improve readability of focused elements when they are also in an
// active/hover state.
// //
a:active, a:active,
@ -209,7 +210,6 @@ figure {
// //
hr { hr {
-moz-box-sizing: content-box;
box-sizing: content-box; box-sizing: content-box;
height: 0; height: 0;
} }
@ -350,15 +350,12 @@ input[type="number"]::-webkit-outer-spin-button {
// //
// 1. Address `appearance` set to `searchfield` in Safari and Chrome. // 1. Address `appearance` set to `searchfield` in Safari and Chrome.
// 2. Address `box-sizing` set to `border-box` in Safari and Chrome // 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
// (include `-moz` to future-proof).
// //
input[type="search"] { input[type="search"] {
-webkit-appearance: textfield; // 1 -webkit-appearance: textfield; // 1
-moz-box-sizing: content-box; box-sizing: content-box; //2
-webkit-box-sizing: content-box; // 2
box-sizing: content-box;
} }
// //

View File

@ -40,6 +40,7 @@
> li > span { > li > span {
&:hover, &:hover,
&:focus { &:focus {
z-index: 3;
color: @pagination-hover-color; color: @pagination-hover-color;
background-color: @pagination-hover-bg; background-color: @pagination-hover-bg;
border-color: @pagination-hover-border; border-color: @pagination-hover-border;

View File

@ -76,6 +76,7 @@
.border-top-radius((@panel-border-radius - 1)); .border-top-radius((@panel-border-radius - 1));
} }
} }
// Add border bottom radius for last one // Add border bottom radius for last one
&:last-child { &:last-child {
.list-group-item:last-child { .list-group-item:last-child {
@ -84,6 +85,11 @@
} }
} }
} }
> .panel-heading + .panel-collapse > .list-group {
.list-group-item:first-child {
.border-top-radius(0);
}
}
} }
// Collapse space between when there's no additional content. // Collapse space between when there's no additional content.
.panel-heading + .list-group { .panel-heading + .list-group {

View File

@ -11,12 +11,11 @@
display: none; display: none;
max-width: @popover-max-width; max-width: @popover-max-width;
padding: 1px; padding: 1px;
// Reset font and text properties given new insertion method // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.
font-family: @font-family-base; // So reset our font and text properties to avoid inheriting weird values.
.reset-text();
font-size: @font-size-base; font-size: @font-size-base;
font-weight: normal;
line-height: @line-height-base;
text-align: left;
background-color: @popover-bg; background-color: @popover-bg;
background-clip: padding-box; background-clip: padding-box;
border: 1px solid @popover-fallback-border-color; border: 1px solid @popover-fallback-border-color;
@ -24,9 +23,6 @@
border-radius: @border-radius-large; border-radius: @border-radius-large;
.box-shadow(0 5px 10px rgba(0,0,0,.2)); .box-shadow(0 5px 10px rgba(0,0,0,.2));
// Overrides for proper insertion
white-space: normal;
// Offset the popover to account for the popover arrow // Offset the popover to account for the popover arrow
&.top { margin-top: -@popover-arrow-width; } &.top { margin-top: -@popover-arrow-width; }
&.right { margin-left: @popover-arrow-width; } &.right { margin-left: @popover-arrow-width; }

View File

@ -67,12 +67,6 @@
} }
// Bootstrap specific changes start // Bootstrap specific changes start
//
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
// Once fixed, we can just straight up remove this.
select {
background: #fff !important;
}
// Bootstrap components // Bootstrap components
.navbar { .navbar {

View File

@ -155,8 +155,7 @@ hr {
// Fixes "clickability" issue (and more generally, the firing of events such as focus as well) // Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
// for traditionally non-focusable elements with role="button" // for traditionally non-focusable elements with role="button"
// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile // see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
// Upstream patch for normalize.css submitted: https://github.com/necolas/normalize.css/pull/379 - remove this fix once that is merged
[role="button"] { [role="button"] {
cursor: pointer; cursor: pointer;
} }

View File

@ -28,6 +28,12 @@
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
} }
&.disabled,
&[disabled],
fieldset[disabled] & {
.box-shadow(none);
}
.badge { .badge {
text-shadow: none; text-shadow: none;
} }
@ -53,10 +59,17 @@
} }
&.disabled, &.disabled,
&:disabled, &[disabled],
&[disabled] { fieldset[disabled] & {
background-color: darken(@btn-color, 12%); &,
background-image: none; &:hover,
&:focus,
&.focus,
&:active,
&.active {
background-color: darken(@btn-color, 12%);
background-image: none;
}
} }
} }

View File

@ -8,11 +8,11 @@
position: absolute; position: absolute;
z-index: @zindex-tooltip; z-index: @zindex-tooltip;
display: block; display: block;
// Reset font and text properties given new insertion method // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
font-family: @font-family-base; // So reset our font and text properties to avoid inheriting weird values.
.reset-text();
font-size: @font-size-small; font-size: @font-size-small;
font-weight: normal;
line-height: 1.4;
.opacity(0); .opacity(0);
&.in { .opacity(@tooltip-opacity); } &.in { .opacity(@tooltip-opacity); }
@ -28,7 +28,6 @@
padding: 3px 8px; padding: 3px 8px;
color: @tooltip-color; color: @tooltip-color;
text-align: center; text-align: center;
text-decoration: none;
background-color: @tooltip-bg; background-color: @tooltip-bg;
border-radius: @border-radius-base; border-radius: @border-radius-base;
} }

View File

@ -1,5 +1,8 @@
// package metadata file for Meteor.js // package metadata file for Meteor.js
/* jshint strict:false */
/* global Package:true */
Package.describe({ Package.describe({
name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.', summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
@ -17,6 +20,6 @@ Package.onUse(function (api) {
'dist/fonts/glyphicons-halflings-regular.woff', 'dist/fonts/glyphicons-halflings-regular.woff',
'dist/fonts/glyphicons-halflings-regular.woff2', 'dist/fonts/glyphicons-halflings-regular.woff2',
'dist/css/bootstrap.css', 'dist/css/bootstrap.css',
'dist/js/bootstrap.js', 'dist/js/bootstrap.js'
], 'client'); ], 'client');
}); });

View File

@ -32,34 +32,35 @@
}, },
"devDependencies": { "devDependencies": {
"btoa": "~1.1.2", "btoa": "~1.1.2",
"glob": "~5.0.3", "glob": "~5.0.5",
"grunt": "~0.4.5", "grunt": "~0.4.5",
"grunt-autoprefixer": "~2.2.0", "grunt-autoprefixer": "~3.0.0",
"grunt-banner": "~0.3.1", "grunt-banner": "~0.3.1",
"grunt-contrib-clean": "~0.6.0", "grunt-contrib-clean": "~0.6.0",
"grunt-contrib-compress": "~0.13.0", "grunt-contrib-compress": "~0.13.0",
"grunt-contrib-concat": "~0.5.1", "grunt-contrib-concat": "~0.5.1",
"grunt-contrib-connect": "~0.9.0", "grunt-contrib-connect": "~0.10.1",
"grunt-contrib-copy": "~0.8.0", "grunt-contrib-copy": "~0.8.0",
"grunt-contrib-csslint": "~0.4.0", "grunt-contrib-csslint": "~0.4.0",
"grunt-contrib-cssmin": "~0.12.2", "grunt-contrib-cssmin": "~0.12.2",
"grunt-contrib-htmlmin": "~0.4.0",
"grunt-contrib-jade": "~0.14.1", "grunt-contrib-jade": "~0.14.1",
"grunt-contrib-jshint": "~0.11.0", "grunt-contrib-jshint": "~0.11.2",
"grunt-contrib-less": "~1.0.0", "grunt-contrib-less": "~1.0.1",
"grunt-contrib-qunit": "~0.5.2", "grunt-contrib-qunit": "~0.7.0",
"grunt-contrib-uglify": "~0.8.0", "grunt-contrib-uglify": "~0.9.1",
"grunt-contrib-watch": "~0.6.1", "grunt-contrib-watch": "~0.6.1",
"grunt-csscomb": "~3.0.0", "grunt-csscomb": "~3.0.0",
"grunt-exec": "~0.4.6", "grunt-exec": "~0.4.6",
"grunt-html": "~4.0.1", "grunt-html": "~4.0.2",
"grunt-jekyll": "~0.4.2", "grunt-jekyll": "~0.4.2",
"grunt-jscs": "~1.5.0", "grunt-jscs": "~1.6.0",
"grunt-saucelabs": "~8.6.0", "grunt-saucelabs": "~8.6.1",
"grunt-sed": "~0.1.1", "grunt-sed": "twbs/grunt-sed#v0.2.0",
"load-grunt-tasks": "~3.1.0", "load-grunt-tasks": "~3.1.0",
"markdown-it": "^4.0.1", "markdown-it": "^4.1.1",
"npm-shrinkwrap": "^200.1.0", "npm-shrinkwrap": "^200.1.0",
"time-grunt": "^1.1.0" "time-grunt": "^1.1.1"
}, },
"engines": { "engines": {
"node": ">=0.10.1" "node": ">=0.10.1"
@ -82,6 +83,10 @@
"exports": "$" "exports": "$"
} }
}, },
"files": ["css", "fonts", "js"] "files": [
"css",
"fonts",
"js"
]
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"name": "bootstrap", "name": "bootstrap",
"version": "3.3.4", "version": "3.3.4",
"npm-shrinkwrap-version": "200.1.0", "npm-shrinkwrap-version": "200.4.0",
"node-version": "v0.12.0", "node-version": "v0.12.2",
"dependencies": { "dependencies": {
"btoa": { "btoa": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz" "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz"
}, },
"glob": { "glob": {
"version": "5.0.3", "version": "5.0.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.3.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.5.tgz",
"dependencies": { "dependencies": {
"inflight": { "inflight": {
"version": "1.0.4", "version": "1.0.4",
@ -55,6 +55,10 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
} }
} }
},
"path-is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
} }
} }
}, },
@ -103,8 +107,8 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
}, },
"sigmund": { "sigmund": {
"version": "1.0.0", "version": "1.0.0",
@ -115,8 +119,8 @@
} }
}, },
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
} }
} }
}, },
@ -142,13 +146,9 @@
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz", "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz",
"dependencies": { "dependencies": {
"colors": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
},
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}, },
"underscore.string": { "underscore.string": {
"version": "2.3.3", "version": "2.3.3",
@ -158,21 +158,7 @@
}, },
"grunt-legacy-util": { "grunt-legacy-util": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz"
"dependencies": {
"async": {
"version": "0.1.22",
"resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz"
},
"lodash": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"
},
"underscore.string": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz"
}
}
}, },
"hooker": { "hooker": {
"version": "0.2.3", "version": "0.2.3",
@ -215,8 +201,8 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
}, },
"sigmund": { "sigmund": {
"version": "1.0.0", "version": "1.0.0",
@ -249,32 +235,32 @@
} }
}, },
"grunt-autoprefixer": { "grunt-autoprefixer": {
"version": "2.2.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-2.2.0.tgz", "resolved": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.0.tgz",
"dependencies": { "dependencies": {
"autoprefixer-core": { "autoprefixer-core": {
"version": "5.1.7", "version": "5.1.11",
"resolved": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.1.7.tgz", "resolved": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.1.11.tgz",
"dependencies": { "dependencies": {
"browserslist": { "browserslist": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-0.2.0.tgz" "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-0.2.0.tgz"
}, },
"caniuse-db": { "caniuse-db": {
"version": "1.0.30000092", "version": "1.0.30000149",
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000092.tgz" "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000149.tgz"
}, },
"num2fraction": { "num2fraction": {
"version": "1.0.1", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.0.1.tgz" "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.1.0.tgz"
}, },
"postcss": { "postcss": {
"version": "4.0.6", "version": "4.0.6",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-4.0.6.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-4.0.6.tgz",
"dependencies": { "dependencies": {
"js-base64": { "js-base64": {
"version": "2.1.7", "version": "2.1.8",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.7.tgz" "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.8.tgz"
}, },
"source-map": { "source-map": {
"version": "0.2.0", "version": "0.2.0",
@ -291,46 +277,50 @@
} }
}, },
"chalk": { "chalk": {
"version": "0.5.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "1.1.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz" "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
}, },
"has-ansi": { "has-ansi": {
"version": "0.1.0", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "0.2.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
} }
} }
}, },
"strip-ansi": { "strip-ansi": {
"version": "0.3.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "0.2.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
} }
} }
}, },
"supports-color": { "supports-color": {
"version": "0.2.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
} }
} }
}, },
"diff": { "diff": {
"version": "1.2.2", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-1.2.2.tgz" "resolved": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz"
} }
} }
}, },
@ -419,8 +409,8 @@
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz" "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz"
}, },
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}, },
"readable-stream": { "readable-stream": {
"version": "1.0.33", "version": "1.0.33",
@ -445,8 +435,8 @@
} }
}, },
"tar-stream": { "tar-stream": {
"version": "1.1.2", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.2.tgz", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.4.tgz",
"dependencies": { "dependencies": {
"bl": { "bl": {
"version": "0.9.4", "version": "0.9.4",
@ -479,12 +469,12 @@
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.1.tgz", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.1.tgz",
"dependencies": { "dependencies": {
"compress-commons": { "compress-commons": {
"version": "0.2.7", "version": "0.2.8",
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.7.tgz", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.8.tgz",
"dependencies": { "dependencies": {
"crc32-stream": { "crc32-stream": {
"version": "0.3.2", "version": "0.3.3",
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.2.tgz" "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.3.tgz"
}, },
"node-int64": { "node-int64": {
"version": "0.3.3", "version": "0.3.3",
@ -599,32 +589,32 @@
} }
}, },
"grunt-contrib-connect": { "grunt-contrib-connect": {
"version": "0.9.0", "version": "0.10.1",
"resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.9.0.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.10.1.tgz",
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.9.0", "version": "0.9.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz" "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
}, },
"connect": { "connect": {
"version": "2.29.0", "version": "2.29.1",
"resolved": "https://registry.npmjs.org/connect/-/connect-2.29.0.tgz", "resolved": "https://registry.npmjs.org/connect/-/connect-2.29.1.tgz",
"dependencies": { "dependencies": {
"basic-auth-connect": { "basic-auth-connect": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz" "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz"
}, },
"body-parser": { "body-parser": {
"version": "1.12.0", "version": "1.12.3",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.12.0.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.12.3.tgz",
"dependencies": { "dependencies": {
"iconv-lite": { "iconv-lite": {
"version": "0.4.7", "version": "0.4.8",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.7.tgz" "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz"
}, },
"on-finished": { "on-finished": {
"version": "2.2.0", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz",
"dependencies": { "dependencies": {
"ee-first": { "ee-first": {
"version": "1.1.0", "version": "1.1.0",
@ -633,8 +623,8 @@
} }
}, },
"raw-body": { "raw-body": {
"version": "1.3.3", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.3.3.tgz" "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.3.4.tgz"
} }
} }
}, },
@ -671,8 +661,8 @@
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.2.tgz", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.2.tgz",
"dependencies": { "dependencies": {
"mime-db": { "mime-db": {
"version": "1.8.0", "version": "1.9.1",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz" "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.9.1.tgz"
} }
} }
}, },
@ -753,8 +743,8 @@
} }
}, },
"depd": { "depd": {
"version": "1.0.0", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.0.0.tgz" "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz"
}, },
"errorhandler": { "errorhandler": {
"version": "1.3.5", "version": "1.3.5",
@ -787,8 +777,8 @@
} }
}, },
"express-session": { "express-session": {
"version": "1.10.3", "version": "1.10.4",
"resolved": "https://registry.npmjs.org/express-session/-/express-session-1.10.3.tgz", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.10.4.tgz",
"dependencies": { "dependencies": {
"crc": { "crc": {
"version": "3.2.1", "version": "3.2.1",
@ -811,16 +801,16 @@
} }
}, },
"finalhandler": { "finalhandler": {
"version": "0.3.3", "version": "0.3.4",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.4.tgz",
"dependencies": { "dependencies": {
"escape-html": { "escape-html": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz" "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"
}, },
"on-finished": { "on-finished": {
"version": "2.2.0", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz",
"dependencies": { "dependencies": {
"ee-first": { "ee-first": {
"version": "1.1.0", "version": "1.1.0",
@ -863,16 +853,16 @@
} }
}, },
"morgan": { "morgan": {
"version": "1.5.1", "version": "1.5.2",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.5.1.tgz", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.5.2.tgz",
"dependencies": { "dependencies": {
"basic-auth": { "basic-auth": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz" "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz"
}, },
"on-finished": { "on-finished": {
"version": "2.2.0", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz",
"dependencies": { "dependencies": {
"ee-first": { "ee-first": {
"version": "1.1.0", "version": "1.1.0",
@ -927,8 +917,8 @@
"resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz"
}, },
"qs": { "qs": {
"version": "2.3.3", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz" "resolved": "https://registry.npmjs.org/qs/-/qs-2.4.1.tgz"
}, },
"response-time": { "response-time": {
"version": "2.3.0", "version": "2.3.0",
@ -1023,8 +1013,8 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz" "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz"
}, },
"on-finished": { "on-finished": {
"version": "2.2.0", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz",
"dependencies": { "dependencies": {
"ee-first": { "ee-first": {
"version": "1.1.0", "version": "1.1.0",
@ -1075,8 +1065,8 @@
"resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.3.tgz" "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.3.tgz"
}, },
"opn": { "opn": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/opn/-/opn-1.0.1.tgz" "resolved": "https://registry.npmjs.org/opn/-/opn-1.0.2.tgz"
}, },
"portscanner": { "portscanner": {
"version": "1.0.0", "version": "1.0.0",
@ -1191,8 +1181,8 @@
} }
}, },
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}, },
"strip-json-comments": { "strip-json-comments": {
"version": "1.0.2", "version": "1.0.2",
@ -1243,16 +1233,22 @@
} }
}, },
"clean-css": { "clean-css": {
"version": "3.1.6", "version": "3.2.6",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.1.6.tgz", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.2.6.tgz",
"dependencies": { "dependencies": {
"commander": { "commander": {
"version": "2.6.0", "version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz" "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"dependencies": {
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
}
}
}, },
"source-map": { "source-map": {
"version": "0.1.43", "version": "0.4.2",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.2.tgz",
"dependencies": { "dependencies": {
"amdefine": { "amdefine": {
"version": "0.1.0", "version": "0.1.0",
@ -1263,8 +1259,8 @@
} }
}, },
"maxmin": { "maxmin": {
"version": "1.0.1", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.0.1.tgz", "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz",
"dependencies": { "dependencies": {
"chalk": { "chalk": {
"version": "1.0.0", "version": "1.0.0",
@ -1303,8 +1299,8 @@
} }
}, },
"supports-color": { "supports-color": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
} }
} }
}, },
@ -1321,14 +1317,14 @@
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
"dependencies": { "dependencies": {
"pako": { "pako": {
"version": "0.2.5", "version": "0.2.6",
"resolved": "https://registry.npmjs.org/pako/-/pako-0.2.5.tgz" "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.6.tgz"
} }
} }
}, },
"concat-stream": { "concat-stream": {
"version": "1.4.7", "version": "1.4.8",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.7.tgz", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.8.tgz",
"dependencies": { "dependencies": {
"inherits": { "inherits": {
"version": "2.0.1", "version": "2.0.1",
@ -1361,12 +1357,366 @@
} }
}, },
"pretty-bytes": { "pretty-bytes": {
"version": "1.0.3", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.3.tgz", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
"dependencies": { "dependencies": {
"get-stdin": { "get-stdin": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
},
"meow": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.1.0.tgz",
"dependencies": {
"camelcase-keys": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz",
"dependencies": {
"camelcase": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.0.2.tgz"
},
"map-obj": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.0.tgz"
}
}
},
"indent-string": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.1.tgz",
"dependencies": {
"repeating": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.2.tgz",
"dependencies": {
"is-finite": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.0.tgz"
}
}
}
}
},
"minimist": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz"
},
"object-assign": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.0.0.tgz"
}
}
}
}
}
}
}
}
},
"grunt-contrib-htmlmin": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-0.4.0.tgz",
"dependencies": {
"chalk": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
"dependencies": {
"ansi-styles": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz"
},
"escape-string-regexp": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
"dependencies": {
"ansi-regex": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
}
}
},
"strip-ansi": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
"dependencies": {
"ansi-regex": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
}
}
},
"supports-color": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz"
}
}
},
"html-minifier": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-0.7.2.tgz",
"dependencies": {
"change-case": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/change-case/-/change-case-2.3.0.tgz",
"dependencies": {
"camel-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.1.1.tgz"
},
"constant-case": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.0.tgz"
},
"dot-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.1.tgz"
},
"is-lower-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.1.tgz"
},
"is-upper-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.1.tgz"
},
"lower-case": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.2.tgz"
},
"lower-case-first": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.0.tgz"
},
"param-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.1.tgz"
},
"pascal-case": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.0.tgz"
},
"path-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/path-case/-/path-case-1.1.1.tgz"
},
"sentence-case": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.2.tgz"
},
"snake-case": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.1.tgz"
},
"swap-case": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.0.tgz"
},
"title-case": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/title-case/-/title-case-1.1.0.tgz"
},
"upper-case": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.2.tgz"
},
"upper-case-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.1.tgz"
}
}
},
"clean-css": {
"version": "3.1.9",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.1.9.tgz",
"dependencies": {
"commander": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz"
},
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"dependencies": {
"amdefine": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
}
}
}
}
},
"cli": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz",
"dependencies": {
"exit": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
},
"glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"dependencies": {
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"minimatch": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"dependencies": {
"lru-cache": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
},
"sigmund": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
}
}
}
}
}
}
},
"concat-stream": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.8.tgz",
"dependencies": {
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"readable-stream": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz",
"dependencies": {
"core-util-is": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
}
},
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
}
}
},
"relateurl": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.6.tgz"
},
"uglify-js": {
"version": "2.4.20",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.20.tgz",
"dependencies": {
"async": {
"version": "0.2.10",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
},
"source-map": {
"version": "0.1.34",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
"dependencies": {
"amdefine": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
}
}
},
"uglify-to-browserify": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"
},
"yargs": {
"version": "3.5.4",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
"dependencies": {
"camelcase": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.0.2.tgz"
},
"decamelize": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.0.0.tgz"
},
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
},
"wordwrap": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
}
}
}
}
}
}
},
"pretty-bytes": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
"dependencies": {
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
},
"meow": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.1.0.tgz",
"dependencies": {
"camelcase-keys": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz",
"dependencies": {
"camelcase": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.0.2.tgz"
},
"map-obj": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.0.tgz"
}
}
},
"indent-string": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.1.tgz",
"dependencies": {
"repeating": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.2.tgz",
"dependencies": {
"is-finite": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.0.tgz"
}
}
}
}
},
"minimist": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz"
},
"object-assign": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.0.0.tgz"
} }
} }
} }
@ -1433,12 +1783,12 @@
"resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.1.tgz", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.1.tgz",
"dependencies": { "dependencies": {
"acorn-globals": { "acorn-globals": {
"version": "1.0.2", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.2.tgz", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.4.tgz",
"dependencies": { "dependencies": {
"acorn": { "acorn": {
"version": "0.11.0", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz" "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.0.3.tgz"
} }
} }
} }
@ -1515,22 +1865,16 @@
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
}, },
"with": { "with": {
"version": "4.0.1", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/with/-/with-4.0.1.tgz", "resolved": "https://registry.npmjs.org/with/-/with-4.0.3.tgz",
"dependencies": { "dependencies": {
"acorn": { "acorn": {
"version": "0.11.0", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz" "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.0.3.tgz"
}, },
"acorn-globals": { "acorn-globals": {
"version": "1.0.2", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.2.tgz", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.4.tgz"
"dependencies": {
"acorn": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz"
}
}
} }
} }
} }
@ -1539,20 +1883,20 @@
} }
}, },
"grunt-contrib-jshint": { "grunt-contrib-jshint": {
"version": "0.11.0", "version": "0.11.2",
"resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.11.0.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.11.2.tgz",
"dependencies": { "dependencies": {
"hooker": { "hooker": {
"version": "0.2.3", "version": "0.2.3",
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
}, },
"jshint": { "jshint": {
"version": "2.6.3", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.6.3.tgz", "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.7.0.tgz",
"dependencies": { "dependencies": {
"cli": { "cli": {
"version": "0.6.5", "version": "0.6.6",
"resolved": "https://registry.npmjs.org/cli/-/cli-0.6.5.tgz", "resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz",
"dependencies": { "dependencies": {
"glob": { "glob": {
"version": "3.2.11", "version": "3.2.11",
@ -1567,8 +1911,8 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
}, },
"sigmund": { "sigmund": {
"version": "1.0.0", "version": "1.0.0",
@ -1654,17 +1998,27 @@
} }
} }
}, },
"lodash": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.6.0.tgz"
},
"minimatch": { "minimatch": {
"version": "1.0.0", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "brace-expansion": {
"version": "2.5.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
}, "dependencies": {
"sigmund": { "balanced-match": {
"version": "1.0.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
}
}
} }
} }
}, },
@ -1675,18 +2029,14 @@
"strip-json-comments": { "strip-json-comments": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.2.tgz" "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.2.tgz"
},
"underscore": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"
} }
} }
} }
} }
}, },
"grunt-contrib-less": { "grunt-contrib-less": {
"version": "1.0.0", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.0.0.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.0.1.tgz",
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.9.0", "version": "0.9.0",
@ -1735,8 +2085,8 @@
"resolved": "https://registry.npmjs.org/less/-/less-2.4.0.tgz", "resolved": "https://registry.npmjs.org/less/-/less-2.4.0.tgz",
"dependencies": { "dependencies": {
"errno": { "errno": {
"version": "0.1.1", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.1.tgz", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.2.tgz",
"dependencies": { "dependencies": {
"prr": { "prr": {
"version": "0.0.0", "version": "0.0.0",
@ -1777,8 +2127,8 @@
} }
}, },
"request": { "request": {
"version": "2.53.0", "version": "2.55.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.53.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.55.0.tgz",
"dependencies": { "dependencies": {
"aws-sign2": { "aws-sign2": {
"version": "0.5.0", "version": "0.5.0",
@ -1827,28 +2177,118 @@
} }
}, },
"forever-agent": { "forever-agent": {
"version": "0.5.2", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
}, },
"form-data": { "form-data": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz" "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz"
}, },
"har-validator": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.6.1.tgz",
"dependencies": {
"bluebird": {
"version": "2.9.25",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.9.25.tgz"
},
"chalk": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": {
"ansi-styles": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
},
"escape-string-regexp": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
}
}
},
"strip-ansi": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
}
}
},
"supports-color": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
}
}
},
"commander": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"dependencies": {
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
}
}
},
"is-my-json-valid": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.10.1.tgz",
"dependencies": {
"generate-function": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
},
"generate-object-property": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.1.1.tgz",
"dependencies": {
"is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
}
}
},
"jsonpointer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz"
},
"xtend": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"
}
}
}
}
},
"hawk": { "hawk": {
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz", "resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
"dependencies": { "dependencies": {
"boom": { "boom": {
"version": "2.6.1", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.6.1.tgz" "resolved": "https://registry.npmjs.org/boom/-/boom-2.7.1.tgz"
}, },
"cryptiles": { "cryptiles": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz" "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz"
}, },
"hoek": { "hoek": {
"version": "2.11.1", "version": "2.12.0",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.11.1.tgz" "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.12.0.tgz"
}, },
"sntp": { "sntp": {
"version": "1.0.9", "version": "1.0.9",
@ -1901,16 +2341,16 @@
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz" "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz"
}, },
"qs": { "qs": {
"version": "2.3.3", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz" "resolved": "https://registry.npmjs.org/qs/-/qs-2.4.1.tgz"
}, },
"stringstream": { "stringstream": {
"version": "0.0.4", "version": "0.0.4",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz" "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
}, },
"tough-cookie": { "tough-cookie": {
"version": "0.12.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-1.0.0.tgz",
"dependencies": { "dependencies": {
"punycode": { "punycode": {
"version": "1.3.2", "version": "1.3.2",
@ -1937,14 +2377,14 @@
} }
}, },
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
} }
} }
}, },
"grunt-contrib-qunit": { "grunt-contrib-qunit": {
"version": "0.5.2", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.5.2.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.7.0.tgz",
"dependencies": { "dependencies": {
"grunt-lib-phantomjs": { "grunt-lib-phantomjs": {
"version": "0.6.0", "version": "0.6.0",
@ -2093,8 +2533,8 @@
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz" "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz"
}, },
"semver": { "semver": {
"version": "4.3.1", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.1.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.3.tgz"
}, },
"uid-number": { "uid-number": {
"version": "0.0.5", "version": "0.0.5",
@ -2239,8 +2679,8 @@
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz" "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
}, },
"tough-cookie": { "tough-cookie": {
"version": "0.12.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-1.0.0.tgz",
"dependencies": { "dependencies": {
"punycode": { "punycode": {
"version": "1.3.2", "version": "1.3.2",
@ -2289,97 +2729,59 @@
} }
}, },
"grunt-contrib-uglify": { "grunt-contrib-uglify": {
"version": "0.8.0", "version": "0.9.1",
"resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.8.0.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.9.1.tgz",
"dependencies": { "dependencies": {
"chalk": { "chalk": {
"version": "0.5.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "1.1.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz" "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
}, },
"has-ansi": { "has-ansi": {
"version": "0.1.0", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "0.2.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
} }
} }
}, },
"strip-ansi": { "strip-ansi": {
"version": "0.3.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "0.2.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
} }
} }
}, },
"supports-color": { "supports-color": {
"version": "0.2.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
} }
} }
}, },
"lodash": { "lodash": {
"version": "3.5.0", "version": "3.7.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz"
}, },
"maxmin": { "maxmin": {
"version": "1.0.1", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.0.1.tgz", "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz",
"dependencies": { "dependencies": {
"chalk": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": {
"ansi-styles": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
},
"escape-string-regexp": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
}
}
},
"strip-ansi": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
}
}
},
"supports-color": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.0.tgz"
}
}
},
"figures": { "figures": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/figures/-/figures-1.3.5.tgz" "resolved": "https://registry.npmjs.org/figures/-/figures-1.3.5.tgz"
@ -2393,14 +2795,14 @@
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
"dependencies": { "dependencies": {
"pako": { "pako": {
"version": "0.2.5", "version": "0.2.6",
"resolved": "https://registry.npmjs.org/pako/-/pako-0.2.5.tgz" "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.6.tgz"
} }
} }
}, },
"concat-stream": { "concat-stream": {
"version": "1.4.7", "version": "1.4.8",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.7.tgz", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.8.tgz",
"dependencies": { "dependencies": {
"inherits": { "inherits": {
"version": "2.0.1", "version": "2.0.1",
@ -2433,20 +2835,64 @@
} }
}, },
"pretty-bytes": { "pretty-bytes": {
"version": "1.0.3", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.3.tgz", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
"dependencies": { "dependencies": {
"get-stdin": { "get-stdin": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
},
"meow": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.1.0.tgz",
"dependencies": {
"camelcase-keys": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz",
"dependencies": {
"camelcase": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.0.2.tgz"
},
"map-obj": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.0.tgz"
}
}
},
"indent-string": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.1.tgz",
"dependencies": {
"repeating": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.2.tgz",
"dependencies": {
"is-finite": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.0.tgz"
}
}
}
}
},
"minimist": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz"
},
"object-assign": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.0.0.tgz"
}
}
} }
} }
} }
} }
}, },
"uglify-js": { "uglify-js": {
"version": "2.4.17", "version": "2.4.20",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.17.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.20.tgz",
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.2.10", "version": "0.2.10",
@ -2467,8 +2913,26 @@
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"
}, },
"yargs": { "yargs": {
"version": "1.3.3", "version": "3.5.4",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz" "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
"dependencies": {
"camelcase": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.0.2.tgz"
},
"decamelize": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.0.0.tgz"
},
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
},
"wordwrap": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
}
}
} }
} }
}, },
@ -2509,16 +2973,16 @@
} }
}, },
"lodash": { "lodash": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz"
}, },
"minimatch": { "minimatch": {
"version": "0.2.14", "version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
}, },
"sigmund": { "sigmund": {
"version": "1.0.0", "version": "1.0.0",
@ -2531,8 +2995,8 @@
} }
}, },
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}, },
"tiny-lr-fork": { "tiny-lr-fork": {
"version": "0.0.5", "version": "0.0.5",
@ -2591,8 +3055,8 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
}, },
"sigmund": { "sigmund": {
"version": "1.0.0", "version": "1.0.0",
@ -2643,8 +3107,8 @@
"resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-0.4.6.tgz" "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-0.4.6.tgz"
}, },
"grunt-html": { "grunt-html": {
"version": "4.0.1", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/grunt-html/-/grunt-html-4.0.1.tgz", "resolved": "https://registry.npmjs.org/grunt-html/-/grunt-html-4.0.3.tgz",
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.9.0", "version": "0.9.0",
@ -2687,8 +3151,8 @@
} }
}, },
"supports-color": { "supports-color": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
} }
} }
} }
@ -2705,24 +3169,68 @@
} }
}, },
"grunt-jscs": { "grunt-jscs": {
"version": "1.5.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-1.5.0.tgz", "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-1.6.0.tgz",
"dependencies": { "dependencies": {
"hooker": { "hooker": {
"version": "0.2.3", "version": "0.2.3",
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
}, },
"jscs": { "jscs": {
"version": "1.11.3", "version": "1.12.0",
"resolved": "https://registry.npmjs.org/jscs/-/jscs-1.11.3.tgz", "resolved": "https://registry.npmjs.org/jscs/-/jscs-1.12.0.tgz",
"dependencies": { "dependencies": {
"chalk": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": {
"ansi-styles": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
},
"escape-string-regexp": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
}
}
},
"strip-ansi": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
}
}
},
"supports-color": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
}
}
},
"cli-table": { "cli-table": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz" "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
}, "dependencies": {
"colors": { "colors": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz"
}
}
}, },
"commander": { "commander": {
"version": "2.6.0", "version": "2.6.0",
@ -2733,8 +3241,8 @@
"resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz" "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz"
}, },
"esprima-harmony-jscs": { "esprima-harmony-jscs": {
"version": "1.1.0-tolerate-import", "version": "1.1.0-templates",
"resolved": "https://registry.npmjs.org/esprima-harmony-jscs/-/esprima-harmony-jscs-1.1.0-tolerate-import.tgz" "resolved": "https://registry.npmjs.org/esprima-harmony-jscs/-/esprima-harmony-jscs-1.1.0-templates.tgz"
}, },
"estraverse": { "estraverse": {
"version": "1.9.3", "version": "1.9.3",
@ -2744,79 +3252,53 @@
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
}, },
"glob": {
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
"dependencies": {
"inflight": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz",
"dependencies": {
"wrappy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
}
}
},
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"once": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz",
"dependencies": {
"wrappy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
}
}
}
}
},
"lodash.assign": { "lodash.assign": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.0.0.tgz", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.0.0.tgz",
"dependencies": { "dependencies": {
"lodash._baseassign": { "lodash._baseassign": {
"version": "3.0.2", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.0.2.tgz", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.1.0.tgz",
"dependencies": { "dependencies": {
"lodash._basecopy": { "lodash._basecopy": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.0.tgz" "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz"
},
"lodash.isnative": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/lodash.isnative/-/lodash.isnative-3.0.2.tgz"
}, },
"lodash.keys": { "lodash.keys": {
"version": "3.0.4", "version": "3.0.6",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.0.4.tgz", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.0.6.tgz",
"dependencies": { "dependencies": {
"lodash.isarguments": { "lodash.isarguments": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.0.tgz" "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.1.tgz"
}, },
"lodash.isarray": { "lodash.isarray": {
"version": "3.0.0", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.0.tgz" "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.2.tgz"
},
"lodash.isnative": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash.isnative/-/lodash.isnative-3.0.0.tgz"
} }
} }
} }
} }
}, },
"lodash._createassigner": { "lodash._createassigner": {
"version": "3.0.1", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.0.1.tgz", "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.0.tgz",
"dependencies": { "dependencies": {
"lodash._bindcallback": { "lodash._bindcallback": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.0.tgz" "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz"
}, },
"lodash._isiterateecall": { "lodash._isiterateecall": {
"version": "3.0.4", "version": "3.0.6",
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.4.tgz" "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.6.tgz"
},
"lodash.restparam": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz"
} }
} }
} }
@ -2877,8 +3359,8 @@
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.0.tgz" "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.0.tgz"
}, },
"i": { "i": {
"version": "0.3.2", "version": "0.3.3",
"resolved": "https://registry.npmjs.org/i/-/i-0.3.2.tgz" "resolved": "https://registry.npmjs.org/i/-/i-0.3.3.tgz"
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.0", "version": "0.5.0",
@ -2916,26 +3398,6 @@
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
}, },
"minimatch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz",
"dependencies": {
"brace-expansion": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
"dependencies": {
"balanced-match": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
}
}
}
}
},
"once": { "once": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz",
@ -2988,10 +3450,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.2.tgz" "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.2.tgz"
}, },
"supports-color": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz"
},
"vow-fs": { "vow-fs": {
"version": "0.3.4", "version": "0.3.4",
"resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.4.tgz", "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.4.tgz",
@ -3014,26 +3472,6 @@
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
}, },
"minimatch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz",
"dependencies": {
"brace-expansion": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
"dependencies": {
"balanced-match": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
}
}
}
}
},
"once": { "once": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz",
@ -3057,42 +3495,42 @@
} }
}, },
"xmlbuilder": { "xmlbuilder": {
"version": "2.5.2", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.5.2.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.2.tgz",
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.2.0", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz"
} }
} }
} }
} }
}, },
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}, },
"vow": { "vow": {
"version": "0.4.8", "version": "0.4.9",
"resolved": "https://registry.npmjs.org/vow/-/vow-0.4.8.tgz" "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.9.tgz"
} }
} }
}, },
"grunt-saucelabs": { "grunt-saucelabs": {
"version": "8.6.0", "version": "8.6.1",
"resolved": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-8.6.0.tgz", "resolved": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-8.6.1.tgz",
"dependencies": { "dependencies": {
"colors": { "colors": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz"
}, },
"lodash": { "lodash": {
"version": "3.3.1", "version": "3.7.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.3.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz"
}, },
"q": { "q": {
"version": "1.1.2", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/q/-/q-1.1.2.tgz" "resolved": "https://registry.npmjs.org/q/-/q-1.3.0.tgz"
}, },
"requestretry": { "requestretry": {
"version": "1.2.2", "version": "1.2.2",
@ -3103,8 +3541,8 @@
"resolved": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", "resolved": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz",
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "2.4.1", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
}, },
"underscore.string": { "underscore.string": {
"version": "2.3.3", "version": "2.3.3",
@ -3251,8 +3689,8 @@
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz" "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
}, },
"tough-cookie": { "tough-cookie": {
"version": "0.12.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-1.0.0.tgz",
"dependencies": { "dependencies": {
"punycode": { "punycode": {
"version": "1.3.2", "version": "1.3.2",
@ -3269,24 +3707,48 @@
} }
}, },
"sauce-tunnel": { "sauce-tunnel": {
"version": "2.2.2", "version": "2.2.3",
"resolved": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.2.2.tgz", "resolved": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.2.3.tgz",
"dependencies": { "dependencies": {
"chalk": { "chalk": {
"version": "0.4.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "1.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
}, },
"has-color": { "escape-string-regexp": {
"version": "0.1.7", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
}
}
}, },
"strip-ansi": { "strip-ansi": {
"version": "0.1.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
}
}
},
"supports-color": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
} }
} }
}, },
@ -3409,8 +3871,8 @@
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"dependencies": { "dependencies": {
"through": { "through": {
"version": "2.3.6", "version": "2.3.7",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.6.tgz" "resolved": "https://registry.npmjs.org/through/-/through-2.3.7.tgz"
} }
} }
} }
@ -3423,12 +3885,17 @@
} }
}, },
"grunt-sed": { "grunt-sed": {
"version": "0.1.1", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz", "from": "grunt-sed@git://github.com/twbs/grunt-sed.git#8dd1aea67ad1bab8a6719f0cf209bef719c66ad7",
"resolved": "git://github.com/twbs/grunt-sed.git#8dd1aea67ad1bab8a6719f0cf209bef719c66ad7",
"dependencies": { "dependencies": {
"lodash": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz"
},
"replace": { "replace": {
"version": "0.2.10", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/replace/-/replace-0.2.10.tgz", "resolved": "https://registry.npmjs.org/replace/-/replace-0.3.0.tgz",
"dependencies": { "dependencies": {
"colors": { "colors": {
"version": "0.5.1", "version": "0.5.1",
@ -3439,8 +3906,8 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"dependencies": { "dependencies": {
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz"
}, },
"sigmund": { "sigmund": {
"version": "1.0.0", "version": "1.0.0",
@ -3565,16 +4032,16 @@
} }
}, },
"markdown-it": { "markdown-it": {
"version": "4.0.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-4.0.1.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-4.2.0.tgz",
"dependencies": { "dependencies": {
"argparse": { "argparse": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.1.tgz", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.2.tgz",
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.2.0", "version": "3.7.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz"
}, },
"sprintf-js": { "sprintf-js": {
"version": "1.0.2", "version": "1.0.2",
@ -3587,8 +4054,8 @@
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"
}, },
"linkify-it": { "linkify-it": {
"version": "0.1.5", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-0.1.5.tgz" "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.1.0.tgz"
}, },
"mdurl": { "mdurl": {
"version": "1.0.0", "version": "1.0.0",
@ -3601,8 +4068,8 @@
} }
}, },
"npm-shrinkwrap": { "npm-shrinkwrap": {
"version": "200.1.0", "version": "200.4.0",
"resolved": "https://registry.npmjs.org/npm-shrinkwrap/-/npm-shrinkwrap-200.1.0.tgz", "resolved": "https://registry.npmjs.org/npm-shrinkwrap/-/npm-shrinkwrap-200.4.0.tgz",
"dependencies": { "dependencies": {
"array-find": { "array-find": {
"version": "0.1.1", "version": "0.1.1",
@ -3731,8 +4198,8 @@
} }
}, },
"npm": { "npm": {
"version": "2.7.1", "version": "2.8.4",
"resolved": "https://registry.npmjs.org/npm/-/npm-2.7.1.tgz", "resolved": "https://registry.npmjs.org/npm/-/npm-2.8.4.tgz",
"dependencies": { "dependencies": {
"abbrev": { "abbrev": {
"version": "1.0.5", "version": "1.0.5",
@ -3742,6 +4209,10 @@
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz" "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
}, },
"ansi-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz"
},
"ansicolors": { "ansicolors": {
"version": "0.3.2", "version": "0.3.2",
"resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz"
@ -3766,10 +4237,6 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz" "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
}, },
"child-process-close": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz"
},
"chmodr": { "chmodr": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz" "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz"
@ -3783,26 +4250,16 @@
"resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz" "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz"
}, },
"columnify": { "columnify": {
"version": "1.4.1", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/columnify/-/columnify-1.4.1.tgz", "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.1.tgz",
"dependencies": { "dependencies": {
"strip-ansi": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.0.tgz"
}
}
},
"wcwidth": { "wcwidth": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz",
"dependencies": { "dependencies": {
"defaults": { "defaults": {
"version": "1.0.0", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.0.tgz", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.2.tgz",
"dependencies": { "dependencies": {
"clone": { "clone": {
"version": "0.1.19", "version": "0.1.19",
@ -3851,8 +4308,8 @@
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.4.tgz" "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.4.tgz"
}, },
"fstream-npm": { "fstream-npm": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.1.tgz", "resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.2.tgz",
"dependencies": { "dependencies": {
"fstream-ignore": { "fstream-ignore": {
"version": "1.0.2", "version": "1.0.2",
@ -3869,12 +4326,22 @@
"resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz" "resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz"
}, },
"glob": { "glob": {
"version": "4.4.2", "version": "5.0.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.4.2.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.5.tgz",
"dependencies": {
"path-is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
}
}
}, },
"graceful-fs": { "graceful-fs": {
"version": "3.0.5", "version": "3.0.6",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz" "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz"
},
"hosted-git-info": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.2.tgz"
}, },
"inflight": { "inflight": {
"version": "1.0.4", "version": "1.0.4",
@ -3889,12 +4356,22 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz" "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz"
}, },
"init-package-json": { "init-package-json": {
"version": "1.3.0", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.3.0.tgz", "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.4.1.tgz",
"dependencies": { "dependencies": {
"promzard": { "promzard": {
"version": "0.2.2", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz" "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz"
},
"validate-npm-package-name": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-2.0.1.tgz",
"dependencies": {
"builtins": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz"
}
}
} }
} }
}, },
@ -3903,24 +4380,24 @@
"resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz" "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz"
}, },
"lru-cache": { "lru-cache": {
"version": "2.5.0", "version": "2.6.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.1.tgz"
}, },
"minimatch": { "minimatch": {
"version": "2.0.1", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.1.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz",
"dependencies": { "dependencies": {
"brace-expansion": { "brace-expansion": {
"version": "1.0.1", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.0.1.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
"dependencies": { "dependencies": {
"balanced-match": { "balanced-match": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz" "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
}, },
"concat-map": { "concat-map": {
"version": "0.0.0", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.0.tgz" "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
} }
} }
} }
@ -3937,9 +4414,35 @@
} }
}, },
"node-gyp": { "node-gyp": {
"version": "1.0.2", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-1.0.2.tgz", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-1.0.3.tgz",
"dependencies": { "dependencies": {
"glob": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"dependencies": {
"minimatch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz",
"dependencies": {
"brace-expansion": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
"dependencies": {
"balanced-match": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
}
}
}
}
}
}
},
"minimatch": { "minimatch": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
@ -3949,6 +4452,10 @@
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
} }
} }
},
"tar": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz"
} }
} }
}, },
@ -3961,8 +4468,8 @@
"resolved": "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-1.0.0.tgz" "resolved": "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-1.0.0.tgz"
}, },
"normalize-package-data": { "normalize-package-data": {
"version": "1.0.3", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.3.tgz" "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.0.0.tgz"
}, },
"npm-cache-filename": { "npm-cache-filename": {
"version": "1.0.1", "version": "1.0.1",
@ -3973,16 +4480,16 @@
"resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.5.tgz" "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.5.tgz"
}, },
"npm-package-arg": { "npm-package-arg": {
"version": "2.1.3", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.1.3.tgz" "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.0.0.tgz"
}, },
"npm-registry-client": { "npm-registry-client": {
"version": "6.1.1", "version": "6.3.2",
"resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-6.1.1.tgz", "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-6.3.2.tgz",
"dependencies": { "dependencies": {
"concat-stream": { "concat-stream": {
"version": "1.4.7", "version": "1.4.8",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.7.tgz", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.8.tgz",
"dependencies": { "dependencies": {
"readable-stream": { "readable-stream": {
"version": "1.1.13", "version": "1.1.13",
@ -4007,16 +4514,6 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
} }
} }
},
"npm-package-arg": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-3.1.0.tgz",
"dependencies": {
"hosted-git-info": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-1.5.3.tgz"
}
}
} }
} }
}, },
@ -4025,16 +4522,82 @@
"resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz" "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz"
}, },
"npmlog": { "npmlog": {
"version": "0.1.1", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz" "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.0.tgz",
"dependencies": {
"are-we-there-yet": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz",
"dependencies": {
"delegates": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz"
},
"readable-stream": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz",
"dependencies": {
"core-util-is": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
}
}
}
},
"gauge": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz",
"dependencies": {
"has-unicode": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz"
},
"lodash._basetostring": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.0.tgz"
},
"lodash._createpadding": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.0.tgz",
"dependencies": {
"lodash.repeat": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.0.tgz"
}
}
},
"lodash.pad": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz"
},
"lodash.padleft": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.0.tgz"
},
"lodash.padright": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.0.tgz"
}
}
}
}
}, },
"once": { "once": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz" "resolved": "https://registry.npmjs.org/once/-/once-1.3.1.tgz"
}, },
"opener": { "opener": {
"version": "1.4.0", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.4.0.tgz" "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz"
}, },
"osenv": { "osenv": {
"version": "0.1.0", "version": "0.1.0",
@ -4055,8 +4618,8 @@
} }
}, },
"read-installed": { "read-installed": {
"version": "3.1.5", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/read-installed/-/read-installed-3.1.5.tgz", "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.0.tgz",
"dependencies": { "dependencies": {
"debuglog": { "debuglog": {
"version": "1.0.1", "version": "1.0.1",
@ -4073,8 +4636,8 @@
} }
}, },
"read-package-json": { "read-package-json": {
"version": "1.3.2", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-1.3.2.tgz", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.0.tgz",
"dependencies": { "dependencies": {
"json-parse-helpfulerror": { "json-parse-helpfulerror": {
"version": "1.0.3", "version": "1.0.3",
@ -4107,12 +4670,12 @@
} }
}, },
"realize-package-specifier": { "realize-package-specifier": {
"version": "1.3.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-1.3.0.tgz" "resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.0.tgz"
}, },
"request": { "request": {
"version": "2.53.0", "version": "2.55.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.53.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.55.0.tgz",
"dependencies": { "dependencies": {
"aws-sign2": { "aws-sign2": {
"version": "0.5.0", "version": "0.5.0",
@ -4137,8 +4700,8 @@
} }
}, },
"forever-agent": { "forever-agent": {
"version": "0.5.2", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
}, },
"form-data": { "form-data": {
"version": "0.2.0", "version": "0.2.0",
@ -4150,21 +4713,97 @@
} }
} }
}, },
"har-validator": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.6.1.tgz",
"dependencies": {
"bluebird": {
"version": "2.9.24",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.9.24.tgz"
},
"chalk": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
"dependencies": {
"ansi-styles": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz"
},
"escape-string-regexp": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
"dependencies": {
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
}
}
},
"supports-color": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
}
}
},
"commander": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.7.1.tgz",
"dependencies": {
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
}
}
},
"is-my-json-valid": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.10.1.tgz",
"dependencies": {
"generate-function": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
},
"generate-object-property": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.1.1.tgz",
"dependencies": {
"is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
}
}
},
"jsonpointer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz"
},
"xtend": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"
}
}
}
}
},
"hawk": { "hawk": {
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz", "resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
"dependencies": { "dependencies": {
"boom": { "boom": {
"version": "2.6.1", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.6.1.tgz" "resolved": "https://registry.npmjs.org/boom/-/boom-2.7.0.tgz"
}, },
"cryptiles": { "cryptiles": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz" "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz"
}, },
"hoek": { "hoek": {
"version": "2.11.0", "version": "2.12.0",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.11.0.tgz" "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.12.0.tgz"
}, },
"sntp": { "sntp": {
"version": "1.0.9", "version": "1.0.9",
@ -4191,34 +4830,34 @@
} }
}, },
"isstream": { "isstream": {
"version": "0.1.1", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.1.tgz" "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
}, },
"json-stringify-safe": { "json-stringify-safe": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz" "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
}, },
"mime-types": { "mime-types": {
"version": "2.0.8", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.8.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.10.tgz",
"dependencies": { "dependencies": {
"mime-db": { "mime-db": {
"version": "1.6.1", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.6.1.tgz" "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz"
} }
} }
}, },
"node-uuid": { "node-uuid": {
"version": "1.4.2", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.2.tgz" "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"
}, },
"oauth-sign": { "oauth-sign": {
"version": "0.6.0", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz" "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz"
}, },
"qs": { "qs": {
"version": "2.3.3", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz" "resolved": "https://registry.npmjs.org/qs/-/qs-2.4.1.tgz"
}, },
"stringstream": { "stringstream": {
"version": "0.0.4", "version": "0.0.4",
@ -4245,12 +4884,18 @@
"resolved": "https://registry.npmjs.org/retry/-/retry-0.6.1.tgz" "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.1.tgz"
}, },
"rimraf": { "rimraf": {
"version": "2.3.1", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.1.tgz" "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.2.tgz",
"dependencies": {
"glob": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz"
}
}
}, },
"semver": { "semver": {
"version": "4.3.1", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.1.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.3.tgz"
}, },
"sha": { "sha": {
"version": "1.3.0", "version": "1.3.0",
@ -4284,9 +4929,13 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz" "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz"
}, },
"strip-ansi": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz"
},
"tar": { "tar": {
"version": "1.0.3", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz" "resolved": "https://registry.npmjs.org/tar/-/tar-2.1.0.tgz"
}, },
"text-table": { "text-table": {
"version": "0.2.0", "version": "0.2.0",
@ -4375,20 +5024,52 @@
} }
}, },
"run-parallel": { "run-parallel": {
"version": "1.0.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.0.0.tgz" "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.0.tgz",
"dependencies": {
"dezalgo": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz",
"dependencies": {
"asap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz"
},
"wrappy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
}
}
}
}
}, },
"run-series": { "run-series": {
"version": "1.0.2", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/run-series/-/run-series-1.0.2.tgz" "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.0.tgz",
"dependencies": {
"dezalgo": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz",
"dependencies": {
"asap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz"
},
"wrappy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
}
}
}
}
}, },
"safe-json-parse": { "safe-json-parse": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-2.0.0.tgz" "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-2.0.0.tgz"
}, },
"semver": { "semver": {
"version": "4.3.1", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.1.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.3.tgz"
}, },
"sorted-object": { "sorted-object": {
"version": "1.0.0", "version": "1.0.0",
@ -4407,8 +5088,8 @@
} }
}, },
"time-grunt": { "time-grunt": {
"version": "1.1.0", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.1.0.tgz", "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.1.1.tgz",
"dependencies": { "dependencies": {
"chalk": { "chalk": {
"version": "1.0.0", "version": "1.0.0",
@ -4447,8 +5128,8 @@
} }
}, },
"supports-color": { "supports-color": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz"
} }
} }
}, },
@ -4485,4 +5166,4 @@
} }
} }
} }
} }