mirror of https://github.com/twbs/bootstrap.git
				
				
				
			Merge branch 'master' into 3.0.0-wip
Conflicts: docs/assets/js/bootstrap.min.js
This commit is contained in:
		
						commit
						2aa1a4dc70
					
				
							
								
								
									
										26
									
								
								CHANGELOG.md
								
								
								
								
							
							
						
						
									
										26
									
								
								CHANGELOG.md
								
								
								
								
							| 
						 | 
				
			
			@ -1,3 +1,29 @@
 | 
			
		|||
## 2.3.0 (February 7, 2013)
 | 
			
		||||
 | 
			
		||||
Minor release to add carousel indicators, improve tooltips, improve dev setup, and fix hella bugs.
 | 
			
		||||
 | 
			
		||||
- **Repository changes:**
 | 
			
		||||
  - **Local instead of global dependencies** for our makefile and install process. Now getting started is way easier—just run `npm install`.
 | 
			
		||||
  - Upgraded to jQuery 1.9. No changes were needed, but we did upgrade the included jQuery file to the latest release.
 | 
			
		||||
  - Moved changelog to be within the repo instead of as a wiki page.
 | 
			
		||||
- **New and improved features:**
 | 
			
		||||
  - **Added carousel indicators!** Add the HTML and it automagically works.
 | 
			
		||||
  - **Added `container` option to tooltips.** The default option is still `insertAfter`, but now you may specify where to insert tooltips (and by extension, popovers) with the optional container parameter.
 | 
			
		||||
  - Improved popovers now utilize `max-width` instead of `width`, have been widened from 240px to 280px, and will automatically hide the title if one has not been set via CSS `:empty` selector.
 | 
			
		||||
  - Improved tooltip alignment on edges with [#6713](https://github.com/twitter/bootstrap/pull/6713).
 | 
			
		||||
  - **Improved accessibility for links in all components.** After merging [#6441](https://github.com/twitter/bootstrap/pull/6441), link hover states now apply to the `:focus` state as well. This goes for basic `<a>` tags, as well as buttons, navs, dropdowns, and more.
 | 
			
		||||
  - Added print utility classes to show and hide content between `screen` and `print` via CSS.
 | 
			
		||||
  - Updated input groups to make them behave more like default form controls. Added `display: inline-block;`, increased `margin-bottom`, and added `vertical-align: middle;`  to match `<input>` styles.
 | 
			
		||||
  - Added `.horizontal-three-colors()` gradient mixin (with example in the CSS tests file).
 | 
			
		||||
  - Added `.text-left`, `.text-center`, and `.text-right` utility classes for easy typographic alignment.
 | 
			
		||||
  - Added `@ms-viewport` so IE10 can use responsive CSS when in split-screen mode.
 | 
			
		||||
- **Docs changes:**
 | 
			
		||||
  - Added [new justified navigation example](https://f.cloud.github.com/assets/98681/25869/5e2f812c-4afa-11e2-9293-501cd689232d.png).
 | 
			
		||||
  - Added sticky footer with fixed navbar example.
 | 
			
		||||
 | 
			
		||||
See more on the [2.3.0 pull request](https://github.com/twitter/bootstrap/pull/6346).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 2.2.2 (December 8, 2012)
 | 
			
		||||
 | 
			
		||||
Bugfix release addressing docs, CSS, and some JavaScript issues. Key changes include:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -138,12 +138,13 @@
 | 
			
		|||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    , hideModal: function (that) {
 | 
			
		||||
        this.$element
 | 
			
		||||
          .hide()
 | 
			
		||||
          .trigger('hidden')
 | 
			
		||||
 | 
			
		||||
        this.backdrop()
 | 
			
		||||
    , hideModal: function () {
 | 
			
		||||
        var that = this
 | 
			
		||||
        this.$element.hide()
 | 
			
		||||
        this.backdrop(function () {
 | 
			
		||||
          that.removeBackdrop()
 | 
			
		||||
          that.$element.trigger('hidden')
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    , removeBackdrop: function () {
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +172,8 @@
 | 
			
		|||
 | 
			
		||||
          this.$backdrop.addClass('in')
 | 
			
		||||
 | 
			
		||||
          if (!callback) return
 | 
			
		||||
 | 
			
		||||
          doAnimate ?
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, callback) :
 | 
			
		||||
            callback()
 | 
			
		||||
| 
						 | 
				
			
			@ -179,8 +182,8 @@
 | 
			
		|||
          this.$backdrop.removeClass('in')
 | 
			
		||||
 | 
			
		||||
          $.support.transition && this.$element.hasClass('fade')?
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
 | 
			
		||||
            this.removeBackdrop()
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, callback) :
 | 
			
		||||
            callback()
 | 
			
		||||
 | 
			
		||||
        } else if (callback) {
 | 
			
		||||
          callback()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -245,7 +245,7 @@
 | 
			
		|||
  , fixTitle: function () {
 | 
			
		||||
      var $e = this.$element
 | 
			
		||||
      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
 | 
			
		||||
        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
 | 
			
		||||
        $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -329,7 +329,6 @@
 | 
			
		|||
  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
 | 
			
		||||
    var $this = $(this)
 | 
			
		||||
    if ($this.data('typeahead')) return
 | 
			
		||||
    e.preventDefault()
 | 
			
		||||
    $this.typeahead($this.data())
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -936,12 +936,13 @@
 | 
			
		|||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    , hideModal: function (that) {
 | 
			
		||||
        this.$element
 | 
			
		||||
          .hide()
 | 
			
		||||
          .trigger('hidden')
 | 
			
		||||
 | 
			
		||||
        this.backdrop()
 | 
			
		||||
    , hideModal: function () {
 | 
			
		||||
        var that = this
 | 
			
		||||
        this.$element.hide()
 | 
			
		||||
        this.backdrop(function () {
 | 
			
		||||
          that.removeBackdrop()
 | 
			
		||||
          that.$element.trigger('hidden')
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    , removeBackdrop: function () {
 | 
			
		||||
| 
						 | 
				
			
			@ -969,6 +970,8 @@
 | 
			
		|||
 | 
			
		||||
          this.$backdrop.addClass('in')
 | 
			
		||||
 | 
			
		||||
          if (!callback) return
 | 
			
		||||
 | 
			
		||||
          doAnimate ?
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, callback) :
 | 
			
		||||
            callback()
 | 
			
		||||
| 
						 | 
				
			
			@ -977,8 +980,8 @@
 | 
			
		|||
          this.$backdrop.removeClass('in')
 | 
			
		||||
 | 
			
		||||
          $.support.transition && this.$element.hasClass('fade')?
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
 | 
			
		||||
            this.removeBackdrop()
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, callback) :
 | 
			
		||||
            callback()
 | 
			
		||||
 | 
			
		||||
        } else if (callback) {
 | 
			
		||||
          callback()
 | 
			
		||||
| 
						 | 
				
			
			@ -1291,7 +1294,7 @@
 | 
			
		|||
  , fixTitle: function () {
 | 
			
		||||
      var $e = this.$element
 | 
			
		||||
      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
 | 
			
		||||
        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
 | 
			
		||||
        $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2146,7 +2149,6 @@
 | 
			
		|||
  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
 | 
			
		||||
    var $this = $(this)
 | 
			
		||||
    if ($this.data('typeahead')) return
 | 
			
		||||
    e.preventDefault()
 | 
			
		||||
    $this.typeahead($this.data())
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -803,6 +803,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
 | 
			
		|||
          </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
          <h3>Tooltips in input groups</h3>
 | 
			
		||||
          <p>When using tooltips and popovers with the Bootstrap input groups, you'll have to set the <code>container</code> (documented below) option to avoid unwanted side effects.</p>
 | 
			
		||||
 | 
			
		||||
          <hr class="bs-docs-separator">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -736,6 +736,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
 | 
			
		|||
          </div>{{! /example }}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
          <h3>{{_i}}Tooltips in input groups{{/i}}</h3>
 | 
			
		||||
          <p>{{_i}}When using tooltips and popovers with the Bootstrap input groups, you'll have to set the <code>container</code> (documented below) option to avoid unwanted side effects.{{/i}}</p>
 | 
			
		||||
 | 
			
		||||
          <hr class="bs-docs-separator">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -138,12 +138,13 @@
 | 
			
		|||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    , hideModal: function (that) {
 | 
			
		||||
        this.$element
 | 
			
		||||
          .hide()
 | 
			
		||||
          .trigger('hidden')
 | 
			
		||||
 | 
			
		||||
        this.backdrop()
 | 
			
		||||
    , hideModal: function () {
 | 
			
		||||
        var that = this
 | 
			
		||||
        this.$element.hide()
 | 
			
		||||
        this.backdrop(function () {
 | 
			
		||||
          that.removeBackdrop()
 | 
			
		||||
          that.$element.trigger('hidden')
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    , removeBackdrop: function () {
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +172,8 @@
 | 
			
		|||
 | 
			
		||||
          this.$backdrop.addClass('in')
 | 
			
		||||
 | 
			
		||||
          if (!callback) return
 | 
			
		||||
 | 
			
		||||
          doAnimate ?
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, callback) :
 | 
			
		||||
            callback()
 | 
			
		||||
| 
						 | 
				
			
			@ -179,8 +182,8 @@
 | 
			
		|||
          this.$backdrop.removeClass('in')
 | 
			
		||||
 | 
			
		||||
          $.support.transition && this.$element.hasClass('fade')?
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
 | 
			
		||||
            this.removeBackdrop()
 | 
			
		||||
            this.$backdrop.one($.support.transition.end, callback) :
 | 
			
		||||
            callback()
 | 
			
		||||
 | 
			
		||||
        } else if (callback) {
 | 
			
		||||
          callback()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -245,7 +245,7 @@
 | 
			
		|||
  , fixTitle: function () {
 | 
			
		||||
      var $e = this.$element
 | 
			
		||||
      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
 | 
			
		||||
        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
 | 
			
		||||
        $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -329,7 +329,6 @@
 | 
			
		|||
  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
 | 
			
		||||
    var $this = $(this)
 | 
			
		||||
    if ($this.data('typeahead')) return
 | 
			
		||||
    e.preventDefault()
 | 
			
		||||
    $this.typeahead($this.data())
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,9 +22,9 @@ $(function () {
 | 
			
		|||
        ok(!!$.fn.tooltip.defaults, 'defaults is defined')
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      test("should remove title attribute", function () {
 | 
			
		||||
      test("should empty title attribute", function () {
 | 
			
		||||
        var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>').tooltip()
 | 
			
		||||
        ok(!tooltip.attr('title'), 'title tag was removed')
 | 
			
		||||
        ok(tooltip.attr('title') === '', 'title attribute was emptied')
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      test("should add data attribute for referencing original title", function () {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue