Commit 66e5c761 authored by Thomas Park's avatar Thomas Park
Browse files

update bootstrap 3.3.4

parent 93738d76
...@@ -32,10 +32,10 @@ ...@@ -32,10 +32,10 @@
"*/index.html" "*/index.html"
], ],
"dependencies": { "dependencies": {
"bootstrap": "~3.3.2" "bootstrap": "~3.3.4"
}, },
"devDependencies": { "devDependencies": {
"bootstrap-sass-official": "~3.3.2", "bootstrap-sass-official": "~3.3.4",
"font-awesome": "~4.0.0", "font-awesome": "~4.0.0",
"html5shiv": "~3.7.0", "html5shiv": "~3.7.0",
"respond": "~1.4.2" "respond": "~1.4.2"
......
{ {
"name": "bootstrap-sass", "name": "bootstrap-sass",
"version": "3.3.3", "version": "3.3.4",
"homepage": "https://github.com/twbs/bootstrap-sass", "homepage": "https://github.com/twbs/bootstrap-sass",
"authors": [ "authors": [
"Thomas McDonald", "Thomas McDonald",
...@@ -37,13 +37,13 @@ ...@@ -37,13 +37,13 @@
"dependencies": { "dependencies": {
"jquery": ">= 1.9.0" "jquery": ">= 1.9.0"
}, },
"_release": "3.3.3", "_release": "3.3.4",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v3.3.3", "tag": "v3.3.4",
"commit": "ed0a2bfdc9e33c3f350306252ee8da9da47d6107" "commit": "283bb45d032a94f66cca0888dc9cbc93f44353e0"
}, },
"_source": "git://github.com/twbs/bootstrap-sass.git", "_source": "git://github.com/twbs/bootstrap-sass.git",
"_target": "~3.3.2", "_target": "~3.3.4",
"_originalSource": "bootstrap-sass-official" "_originalSource": "bootstrap-sass-official"
} }
\ No newline at end of file
# Changelog # Changelog
## 3.3.4
No Sass-specific changes.
Framework version: Bootstrap **v3.3.4**
## 3.3.3 ## 3.3.3
This is a re-packaged release of 3.3.2.1 (v3.3.2+1). This is a re-packaged release of 3.3.2.1 (v3.3.2+1).
......
# Bootstrap for Sass [![Gem Version](https://badge.fury.io/rb/bootstrap-sass.svg)](http://badge.fury.io/rb/bootstrap-sass) [![Bower Version](https://badge.fury.io/bo/bootstrap-sass.svg)](http://badge.fury.io/bo/bootstrap-sass) [![Build Status](http://img.shields.io/travis/twbs/bootstrap-sass.svg)](http://travis-ci.org/twbs/bootstrap-sass) # Bootstrap for Sass
[![Gem Version](https://badge.fury.io/rb/bootstrap-sass.svg)](http://badge.fury.io/rb/bootstrap-sass)
[![npm version](https://img.shields.io/npm/v/bootstrap-sass.svg?style=flat)](https://www.npmjs.com/package/bootstrap-sass)
[![Bower Version](https://badge.fury.io/bo/bootstrap-sass.svg)](http://badge.fury.io/bo/bootstrap-sass)
[![Build Status](http://img.shields.io/travis/twbs/bootstrap-sass.svg)](http://travis-ci.org/twbs/bootstrap-sass)
`bootstrap-sass` is a Sass-powered version of [Bootstrap](http://github.com/twbs/bootstrap), ready to drop right into your Sass powered applications. `bootstrap-sass` is a Sass-powered version of [Bootstrap](http://github.com/twbs/bootstrap), ready to drop right into your Sass powered applications.
...@@ -17,13 +21,13 @@ Please see the appropriate guide for your environment of choice: ...@@ -17,13 +21,13 @@ Please see the appropriate guide for your environment of choice:
In your Gemfile you need to add the `bootstrap-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default. In your Gemfile you need to add the `bootstrap-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default.
```ruby ```ruby
gem 'bootstrap-sass', '~> 3.3.3' gem 'bootstrap-sass', '~> 3.3.4'
gem 'sass-rails', '>= 3.2' gem 'sass-rails', '>= 3.2'
``` ```
`bundle install` and restart your server to make the files available through the pipeline. `bundle install` and restart your server to make the files available through the pipeline.
Import Bootstrap styles in `app/assets/stylesheets/application.css.scss`: Import Bootstrap styles in `app/assets/stylesheets/application.scss`:
```scss ```scss
// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables" // "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
...@@ -33,11 +37,11 @@ Import Bootstrap styles in `app/assets/stylesheets/application.css.scss`: ...@@ -33,11 +37,11 @@ Import Bootstrap styles in `app/assets/stylesheets/application.css.scss`:
`bootstrap-sprockets` must be imported before `bootstrap` for the icon fonts to work. `bootstrap-sprockets` must be imported before `bootstrap` for the icon fonts to work.
Make sure the file has `.css.scss` extension (or `.css.sass` for Sass syntax). If you have just generated a new Rails app, Make sure the file has `.scss` extension (or `.sass` for Sass syntax). If you have just generated a new Rails app,
it may come with a `.css` file instead. If this file exists, it will be served instead of Sass, so rename it: it may come with a `.css` file instead. If this file exists, it will be served instead of Sass, so rename it:
```console ```console
$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.css.scss $ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
``` ```
Then, remove all the `//= require` and `//= require_tree` statements from the file. Instead, use `@import` to import Sass files. Then, remove all the `//= require` and `//= require_tree` statements from the file. Instead, use `@import` to import Sass files.
...@@ -51,6 +55,11 @@ Require Bootstrap Javascripts in `app/assets/javascripts/application.js`: ...@@ -51,6 +55,11 @@ Require Bootstrap Javascripts in `app/assets/javascripts/application.js`:
//= require bootstrap-sprockets //= require bootstrap-sprockets
``` ```
`bootstrap-sprockets` and `bootstrap` [should not both be included](https://github.com/twbs/bootstrap-sass/issues/829#issuecomment-75153827) in `application.js`.
`bootstrap-sprockets` provides individual Bootstrap Javascript files (`alert.js` or `dropdown.js`, for example), while
`bootstrap` provides a concatenated file containing all Bootstrap Javascripts.
#### Bower with Rails #### Bower with Rails
When using [bootstrap-sass Bower package](#c-bower) instead of the gem in Rails, configure assets in `config/application.rb`: When using [bootstrap-sass Bower package](#c-bower) instead of the gem in Rails, configure assets in `config/application.rb`:
...@@ -64,10 +73,10 @@ end ...@@ -64,10 +73,10 @@ end
# Precompile Bootstrap fonts # Precompile Bootstrap fonts
config.assets.precompile << %r(bootstrap-sass/assets/fonts/bootstrap/[\w-]+\.(?:eot|svg|ttf|woff2?)$) config.assets.precompile << %r(bootstrap-sass/assets/fonts/bootstrap/[\w-]+\.(?:eot|svg|ttf|woff2?)$)
# Minimum Sass number precision required by bootstrap-sass # Minimum Sass number precision required by bootstrap-sass
::Sass::Script::Number.precision = [8, ::Sass::Script::Number.precision].max ::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max
``` ```
Replace Bootstrap `@import` statements in `application.css.scss` with: Replace Bootstrap `@import` statements in `application.scss` with:
```scss ```scss
$icon-font-path: "bootstrap-sass/assets/fonts/bootstrap/"; $icon-font-path: "bootstrap-sass/assets/fonts/bootstrap/";
...@@ -188,7 +197,7 @@ Precision is set for Rails and Compass automatically. ...@@ -188,7 +197,7 @@ Precision is set for Rails and Compass automatically.
When using ruby Sass compiler standalone or with the Bower version you can set it with: When using ruby Sass compiler standalone or with the Bower version you can set it with:
```ruby ```ruby
::Sass::Script::Number.precision = [8, ::Sass::Script::Number.precision].max ::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max
``` ```
#### Sass: Autoprefixer #### Sass: Autoprefixer
...@@ -241,7 +250,7 @@ When using bootstrap-sass with Compass, Sprockets, or Mincer, you **must** impor ...@@ -241,7 +250,7 @@ When using bootstrap-sass with Compass, Sprockets, or Mincer, you **must** impor
### Sass ### Sass
Import Bootstrap into a Sass file (for example, application.css.scss) to get all of Bootstrap's styles, mixins and variables! Import Bootstrap into a Sass file (for example, application.scss) to get all of Bootstrap's styles, mixins and variables!
```scss ```scss
@import "bootstrap"; @import "bootstrap";
...@@ -265,7 +274,20 @@ $navbar-default-color: $light-orange; ...@@ -265,7 +274,20 @@ $navbar-default-color: $light-orange;
## Version ## Version
`bootstrap-sass` version reflects the upstream version, with an additional number for Sass-specific changes. Bootstrap for Sass version may differ from the upstream version in the last number, known as
[MINOR](http://semver.org/spec/v2.0.0.html). The minor version may be ahead of the corresponding upstream minor.
This happens when we need to release Sass-specific changes.
Before v3.3.2, Bootstrap for Sass version used to reflect the upstream version, with an additional number for
Sass-specific changes. This was changed due to Bower and npm compatibility issues.
The upstream versions vs the Bootstrap for Sass versions are:
| Upstream | Sass |
|---------:|--------:|
| 3.3.4 | 3.3.4 |
| 3.3.2 | 3.3.3 |
| <= 3.3.1 | 3.3.1.x |
Always refer to [CHANGELOG.md](/CHANGELOG.md) when upgrading. Always refer to [CHANGELOG.md](/CHANGELOG.md) when upgrading.
...@@ -295,7 +317,7 @@ To convert a specific branch or version, pass the branch name or the commit hash ...@@ -295,7 +317,7 @@ To convert a specific branch or version, pass the branch name or the commit hash
The latest converter script is located [here][converter] and does the following: The latest converter script is located [here][converter] and does the following:
* Converts upstream bootstrap LESS files to its matching SCSS file. * Converts upstream bootstrap LESS files to its matching SCSS file.
* Copies all upstream JavaScript into `assets/javascripts/bootstrap`, an Sprockets manifest at `assets/javascripts/bootstrap-sprockets.js`, and a concatenation at `assets/javascripts/bootstrap.js`. * Copies all upstream JavaScript into `assets/javascripts/bootstrap`, a Sprockets manifest at `assets/javascripts/bootstrap-sprockets.js`, and a concatenation at `assets/javascripts/bootstrap.js`.
* Copies all upstream font files into `assets/fonts/bootstrap`. * Copies all upstream font files into `assets/fonts/bootstrap`.
* Sets `Bootstrap::BOOTSTRAP_SHA` in [version.rb][version] to the branch sha. * Sets `Bootstrap::BOOTSTRAP_SHA` in [version.rb][version] to the branch sha.
...@@ -316,15 +338,15 @@ and a [significant number of other contributors][contrib]. ...@@ -316,15 +338,15 @@ and a [significant number of other contributors][contrib].
## You're in good company ## You're in good company
bootstrap-sass is used to build some awesome projects all over the web, including bootstrap-sass is used to build some awesome projects all over the web, including
[Diaspora](http://diasporaproject.org/), [rails_admin](https://github.com/sferik/rails_admin), [Diaspora](https://diasporafoundation.org/), [rails_admin](https://github.com/sferik/rails_admin),
Michael Hartl's [Rails Tutorial](http://railstutorial.org/), [gitlabhq](http://gitlabhq.com/) and Michael Hartl's [Rails Tutorial](http://railstutorial.org/), [gitlabhq](http://gitlabhq.com/) and
[kandan](http://kandanapp.com/). [kandan](http://kandan.io/).
[converter]: https://github.com/twbs/bootstrap-sass/blob/master/tasks/converter/less_conversion.rb [converter]: https://github.com/twbs/bootstrap-sass/blob/master/tasks/converter/less_conversion.rb
[version]: https://github.com/twbs/bootstrap-sass/blob/master/lib/bootstrap-sass/version.rb [version]: https://github.com/twbs/bootstrap-sass/blob/master/lib/bootstrap-sass/version.rb
[contrib]: https://github.com/twbs/bootstrap-sass/graphs/contributors [contrib]: https://github.com/twbs/bootstrap-sass/graphs/contributors
[antirequire]: https://github.com/twbs/bootstrap-sass/issues/79#issuecomment-4428595 [antirequire]: https://github.com/twbs/bootstrap-sass/issues/79#issuecomment-4428595
[jsdocs]: http://getbootstrap.com/javascript/#transitions [jsdocs]: http://getbootstrap.com/javascript/#transitions
[sass-precision]: http://sass-lang.com/documentation/Sass/Script/Number.html#precision-class_method [sass-precision]: http://sass-lang.com/documentation/Sass/Script/Value/Number.html#precision%3D-class_method
[mincer]: https://github.com/nodeca/mincer [mincer]: https://github.com/nodeca/mincer
[autoprefixer]: https://github.com/ai/autoprefixer [autoprefixer]: https://github.com/ai/autoprefixer
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
//= require ./bootstrap/carousel //= require ./bootstrap/carousel
//= require ./bootstrap/collapse //= require ./bootstrap/collapse
//= require ./bootstrap/dropdown //= require ./bootstrap/dropdown
//= require ./bootstrap/modal
//= require ./bootstrap/scrollspy
//= require ./bootstrap/tab //= require ./bootstrap/tab
//= require ./bootstrap/transition //= require ./bootstrap/transition
//= require ./bootstrap/scrollspy
//= require ./bootstrap/modal
//= require ./bootstrap/tooltip //= require ./bootstrap/tooltip
//= require ./bootstrap/popover //= require ./bootstrap/popover
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.3.2 * Bootstrap: affix.js v3.3.4
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
this.$element = $(element) this.$element = $(element)
this.affixed = this.affixed = null
this.unpin = this.unpin = null
this.pinnedOffset = null this.pinnedOffset = null
this.checkPosition() this.checkPosition()
} }
Affix.VERSION = '3.3.2' Affix.VERSION = '3.3.4'
Affix.RESET = 'affix affix-top affix-bottom' Affix.RESET = 'affix affix-top affix-bottom'
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
var offset = this.options.offset var offset = this.options.offset
var offsetTop = offset.top var offsetTop = offset.top
var offsetBottom = offset.bottom var offsetBottom = offset.bottom
var scrollHeight = $('body').height() var scrollHeight = $(document.body).height()
if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
......
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.3.2 * Bootstrap: alert.js v3.3.4
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
$(el).on('click', dismiss, this.close) $(el).on('click', dismiss, this.close)
} }
Alert.VERSION = '3.3.2' Alert.VERSION = '3.3.4'
Alert.TRANSITION_DURATION = 150 Alert.TRANSITION_DURATION = 150
......
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.3.2 * Bootstrap: button.js v3.3.4
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
this.isLoading = false this.isLoading = false
} }
Button.VERSION = '3.3.2' Button.VERSION = '3.3.4'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
......
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.3.2 * Bootstrap: carousel.js v3.3.4
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -17,10 +17,10 @@ ...@@ -17,10 +17,10 @@
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators') this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.paused = this.paused = null
this.sliding = this.sliding = null
this.interval = this.interval = null
this.$active = this.$active = null
this.$items = null this.$items = null
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
} }
Carousel.VERSION = '3.3.2' Carousel.VERSION = '3.3.4'
Carousel.TRANSITION_DURATION = 600 Carousel.TRANSITION_DURATION = 600
......
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.3.2 * Bootstrap: collapse.js v3.3.4
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
var Collapse = function (element, options) { var Collapse = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.options = $.extend({}, Collapse.DEFAULTS, options) this.options = $.extend({}, Collapse.DEFAULTS, options)
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]') this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
'[data-toggle="collapse"][data-target="#' + element.id + '"]')
this.transitioning = null this.transitioning = null
if (this.options.parent) { if (this.options.parent) {
...@@ -28,13 +29,12 @@ ...@@ -28,13 +29,12 @@
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.3.2' Collapse.VERSION = '3.3.4'
Collapse.TRANSITION_DURATION = 350 Collapse.TRANSITION_DURATION = 350
Collapse.DEFAULTS = { Collapse.DEFAULTS = {
toggle: true, toggle: true
trigger: '[data-toggle="collapse"]'
} }
Collapse.prototype.dimension = function () { Collapse.prototype.dimension = function () {
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
var data = $this.data('bs.collapse') var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data && options.toggle && option == 'show') options.toggle = false if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
var $target = getTargetFromTrigger($this) var $target = getTargetFromTrigger($this)
var data = $target.data('bs.collapse') var data = $target.data('bs.collapse')
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this }) var option = data ? 'toggle' : $this.data()
Plugin.call($target, option) Plugin.call($target, option)
}) })
......
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.3.2 * Bootstrap: dropdown.js v3.3.4
* http://getbootstrap.com/javascript/#dropdowns * http://getbootstrap.com/javascript/#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.3.2' Dropdown.VERSION = '3.3.4'
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
return $this.trigger('click') return $this.trigger('click')
} }
var desc = ' li:not(.divider):visible a' var desc = ' li:not(.disabled):visible a'
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc) var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
if (!$items.length) return if (!$items.length) return
......
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.3.2 * Bootstrap: modal.js v3.3.4
* http://getbootstrap.com/javascript/#modals * http://getbootstrap.com/javascript/#modals
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
...@@ -14,12 +14,15 @@ ...@@ -14,12 +14,15 @@
// ====================== // ======================
var Modal = function (element, options) { var Modal = function (element, options) {
this.options = options this.options = options
this.$body = $(document.body) this.$body = $(document.body)
this.$element = $(element) this.$element = $(element)
this.$backdrop = this.$dialog = this.$element.find('.modal-dialog')
this.isShown = null this.$backdrop = null
this.scrollbarWidth = 0 this.isShown = null
this.originalBodyPad = null
this.scrollbarWidth = 0
this.ignoreBackdropClick = false
if (this.options.remote) { if (this.options.remote) {
this.$element this.$element
...@@ -30,7 +33,7 @@ ...@@ -30,7 +33,7 @@
} }
} }
Modal.VERSION = '3.3.2' Modal.VERSION = '3.3.4'
Modal.TRANSITION_DURATION = 300 Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.BACKDROP_TRANSITION_DURATION = 150
...@@ -64,6 +67,12 @@ ...@@ -64,6 +67,12 @@