0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-19 16:54:24 +01:00

Merge branch '2.0-wip' of github.com:twitter/bootstrap into 2.0-wip

This commit is contained in:
Mark Otto 2011-10-20 09:14:02 -07:00
commit 80332e8340
12 changed files with 214 additions and 261 deletions

View File

@ -1,4 +1,4 @@
$(document).ready(function(){
$(function(){
// table sort example
// ==================

View File

@ -53,8 +53,8 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
<ul class="dropdown-menu">
<li><a href="#navigation">Navigation</a></li>
<li><a href="#media">Media</a></li>
<li><a href="#navigation">Navigation</a></li>
<li><a href="#alerts">Alerts</a></li>
<li><a href="#popovers">Popovers</a></li>
<li><a href="#autocomplete">Autocomplete</a></li>
@ -147,36 +147,38 @@
<!-- About Bootstrap
================================================== -->
<div class="row">
<div class="span4">
<h2>Built for and by nerds</h2>
<p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
<p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
</div>
<div class="span4">
<h2>Cross-everything</h2>
<p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
<img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
<ul>
<li>Latest Safari</li>
<li>Latest Google Chrome</li>
<li>Firefox 4+</li>
<li>Internet Explorer 7+</li>
<li>Opera 11</li>
</ul>
</div>
<div class="span4">
<h2>What's included</h2>
<p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
<ul>
<li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
<li>All original .less files</li>
<li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
<li>Complete styleguide documentation</li>
<li>Three example pages with different layouts</li>
</ul>
</div>
</div><!-- /row -->
<section id="about">
<div class="row">
<div class="span4">
<h2>Built for and by nerds</h2>
<p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
<p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
</div>
<div class="span4">
<h2>Cross-everything</h2>
<p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
<img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
<ul>
<li>Latest Safari</li>
<li>Latest Google Chrome</li>
<li>Firefox 4+</li>
<li>Internet Explorer 7+</li>
<li>Opera 11</li>
</ul>
</div>
<div class="span4">
<h2>What's included</h2>
<p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
<ul>
<li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
<li>All original .less files</li>
<li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
<li>Complete styleguide documentation</li>
<li>Three example pages with different layouts</li>
</ul>
</div>
</div><!-- /row -->
</section>
<h3>Quick-start examples</h3>
<p>Need some quick templates? Check out these basic examples we've put together:</p>
@ -2184,6 +2186,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
<script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script>$(function () { prettyPrint() })</script>
<script src="../js/bootstrap-transitions.js"></script>
<script src="../js/bootstrap-dropdown.js"></script>
<script src="../js/bootstrap-twipsy.js"></script>
<script src="../js/bootstrap-scrollspy.js"></script>

41
js/bootstrap-accordion.js vendored Normal file
View File

@ -0,0 +1,41 @@
/* =============================================================
* bootstrap-accordion.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#accordion
* =============================================================
* Copyright 2011 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
(function( $ ){
var Accordion = function ( element, options ) {}
Accordion.prototype = {}
/* ALERT PLUGIN DEFINITION
* ======================= */
$.fn.accordion = function ( options ) {
if ( options === true ) {
return this.data('accordion')
}
return this.each(function () {
new Accordion(this, options)
})
}
})( window.jQuery || window.ender )

View File

@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-alerts.js v1.3.0
* bootstrap-alerts.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2011 Twitter, Inc.
@ -17,90 +17,32 @@
* limitations under the License.
* ========================================================== */
(function( $ ){
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
var transitionEnd
$(document).ready(function () {
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support
})()
// set CSS transition event type
if ( $.support.transition ) {
transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
}
})
/* ALERT CLASS DEFINITION
* ====================== */
var Alert = function ( content, selector ) {
this.$element = $(content)
.delegate('[data-alert-dismiss]', 'click', this.close)
}
function close(e) {
var $element = $(this).parent('.alert-message')
Alert.prototype = {
e && e.preventDefault()
$element.removeClass('in')
close: function (e) {
var $element = $(this).parent('.alert-message')
e && e.preventDefault()
e && e.stopPropagation()
$element.removeClass('in')
function removeElement () {
$element.remove()
}
$.support.transition && $element.hasClass('fade') ?
$element.bind(transitionEnd, removeElement) :
removeElement()
function removeElement () {
$element.remove()
}
$.support.transition && $element.hasClass('fade') ?
$element.bind($.support.transition.end, removeElement) :
removeElement()
}
/* ALERT PLUGIN DEFINITION
* ======================= */
$.fn.alert = function ( options ) {
if ( options === true ) {
return this.data('alert')
}
return this.each(function () {
var $this = $(this)
if ( typeof options == 'string' ) {
return $this.data('alert')[options]()
}
$(this).data('alert', new Alert( this ))
})
}
$(document).ready(function () {
new Alert($('body'))
$(function () {
$('body').delegate('[data-alert-dismiss]', 'click', close)
})
})( window.jQuery || window.ender )

View File

@ -1,5 +1,5 @@
/* ============================================================
* bootstrap-dropdown.js v1.3.0
* bootstrap-dropdown.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#dropdown
* ============================================================
* Copyright 2011 Twitter, Inc.
@ -20,34 +20,23 @@
(function( $ ){
var d = '[data-dropdown]'
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
$.fn.dropdown = function () {
return this.each(function () {
$(this).delegate(d, 'click', function (e) {
var li = $(this).parent('li')
, isActive = li.hasClass('open')
clearMenus()
!isActive && li.toggleClass('open')
return false
})
})
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
var selector = '[data-dropdown]'
function clearMenus() {
$(d).parent('li').removeClass('open')
$(selector).parent('li').removeClass('open')
}
$(function () {
$('html').bind("click", clearMenus)
$('body').dropdown()
$('body').delegate(selector, 'click', function (e) {
var li = $(this).parent('li')
, isActive = li.hasClass('open')
clearMenus()
!isActive && li.toggleClass('open')
return false
})
})
})( window.jQuery || window.ender )

83
js/bootstrap-modal.js vendored
View File

@ -1,5 +1,5 @@
/* =========================================================
* bootstrap-modal.js v1.3.0
* bootstrap-modal.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#modal
* =========================================================
* Copyright 2011 Twitter, Inc.
@ -20,35 +20,6 @@
!function( $ ){
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
var transitionEnd
$(document).ready(function () {
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support
})()
// set CSS transition event type
if ( $.support.transition ) {
transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
}
})
/* MODAL PUBLIC CLASS DEFINITION
* ============================= */
@ -76,25 +47,7 @@
this.$element.trigger('show')
escape.call(this)
backdrop.call(this, function () {
var transition = $.support.transition && that.$element.hasClass('fade')
that.$element
.appendTo(document.body)
.show()
if (transition) {
that.$element[0].offsetWidth // force reflow
}
that.$element
.addClass('in')
transition ?
that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
that.$element.trigger('shown')
})
backdrop.call(this)
return this
}
@ -124,7 +77,7 @@
}
$.support.transition && this.$element.hasClass('fade') ?
this.$element.one(transitionEnd, removeElement) :
this.$element.one($.support.transition.end, removeElement) :
removeElement()
return this
@ -136,9 +89,11 @@
/* MODAL PRIVATE METHODS
* ===================== */
function backdrop ( callback ) {
function backdrop () {
var that = this
, animate = this.$element.hasClass('fade') ? 'fade' : ''
, callback = $.proxy(show, this)
if ( this.isShown && this.settings.backdrop ) {
var doAnimate = $.support.transition && animate
@ -156,7 +111,7 @@
this.$backdrop.addClass('in')
doAnimate ?
this.$backdrop.one(transitionEnd, callback) :
this.$backdrop.one($.support.transition.end, callback) :
callback()
} else if ( !this.isShown && this.$backdrop ) {
@ -168,13 +123,33 @@
}
$.support.transition && this.$element.hasClass('fade')?
this.$backdrop.one(transitionEnd, removeElement) :
this.$backdrop.one($.support.transition.end, removeElement) :
removeElement()
} else if ( callback ) {
callback()
}
}
function show() {
var transition = $.support.transition && that.$element.hasClass('fade')
, that = this
this.$element
.appendTo(document.body)
.show()
if (transition) {
this.$element[0].offsetWidth // force reflow
}
this.$element
.addClass('in')
transition ?
this.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
this.$element.trigger('shown')
}
function escape() {
var that = this
if ( this.isShown && this.settings.keyboard ) {
@ -233,7 +208,7 @@
/* MODAL DATA-IMPLEMENTATION
* ========================= */
$(document).ready(function () {
$(function () {
$('body').delegate('[data-controls-modal]', 'click', function (e) {
e.preventDefault()
var $this = $(this).data('show', true)

View File

@ -1,5 +1,5 @@
/* ===========================================================
* bootstrap-popover.js v1.3.0
* bootstrap-popover.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#popover
* ===========================================================
* Copyright 2011 Twitter, Inc.
@ -62,7 +62,6 @@
})
/* POPOVER PLUGIN DEFINITION
* ======================= */

View File

@ -1,5 +1,5 @@
/* =============================================================
* bootstrap-scrollspy.js v1.3.0
* bootstrap-scrollspy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2011 Twitter, Inc.
@ -22,14 +22,14 @@
var $window = $(window)
function ScrollSpy( topbar, selector ) {
var processScroll = $.proxy(this.processScroll, this)
this.$topbar = $(topbar)
this.selector = selector || 'li > a'
function ScrollSpy() {
var process = $.proxy(this.process, this)
this.$topbar = $('body')
this.selector = '[data-scrollspy] li > a'
this.refresh()
this.$topbar.delegate(this.selector, 'click', processScroll)
$window.scroll(processScroll)
this.processScroll()
this.$topbar.delegate(this.selector, 'click', process)
$window.scroll(process)
this.process()
}
ScrollSpy.prototype = {
@ -45,7 +45,7 @@
})
}
, processScroll: function () {
, process: function () {
var scrollTop = $window.scrollTop() + 10
, offsets = this.offsets
, targets = this.targets
@ -56,50 +56,34 @@
activeTarget != targets[i]
&& scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
&& this.activateButton( targets[i] )
&& this.activate( targets[i] )
}
}
, activateButton: function (target) {
, activate: function (target) {
var active
this.activeTarget = target
this.$topbar
.find(this.selector).parent('.active')
.removeClass('active')
this.$topbar
active = this.$topbar
.find(this.selector + '[href="' + target + '"]')
.parent('li')
.addClass('active')
if ( active.parent('.dropdown-menu') ) {
active.closest('li.dropdown').addClass('active')
}
}
}
/* SCROLLSPY PLUGIN DEFINITION
* =========================== */
$.fn.scrollSpy = function( options ) {
var scrollspy = this.data('scrollspy')
if (!scrollspy) {
return this.each(function () {
$(this).data('scrollspy', new ScrollSpy( this, options ))
})
}
if ( options === true ) {
return scrollspy
}
if ( typeof options == 'string' ) {
scrollspy[options]()
}
return this
}
$(document).ready(function () {
$('body').scrollSpy('[data-scrollspy] li > a')
$(function () {
new ScrollSpy()
})
}( window.jQuery || window.ender )

31
js/bootstrap-tabs.js vendored
View File

@ -1,5 +1,5 @@
/* ========================================================
* bootstrap-tabs.js v1.3.0
* bootstrap-tabs.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2011 Twitter, Inc.
@ -21,24 +21,33 @@
!function( $ ){
function activate ( element, container ) {
container.find('> .active').removeClass('active')
container
.find('> .active')
.removeClass('active')
.find('> .dropdown-menu > .active')
.removeClass('active')
element.addClass('active')
if ( element.parent('.dropdown-menu') ) {
element.closest('li.dropdown').addClass('active')
}
}
function tab( e ) {
var $this = $(this)
, $ul = $this.closest('ul')
, $ul = $this.closest('ul:not(.dropdown-menu)')
, href = $this.attr('href')
, previous
if (/^#\w+/.test(href)) {
if ( /^#\w+/.test(href) ) {
e.preventDefault()
if ($this.parent('li').hasClass('active')) {
if ( $this.parent('li').hasClass('active') ) {
return
}
previous = $ul.find('.active a')[0]
previous = $ul.find('.active a').last()[0]
$href = $(href)
activate($this.parent('li'), $ul)
@ -55,14 +64,8 @@
/* TABS/PILLS PLUGIN DEFINITION
* ============================ */
$.fn.tabs = $.fn.pills = function ( selector ) {
return this.each(function () {
$(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
})
}
$(document).ready(function () {
$('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
$(function () {
$('body').delegate('ul[data-tabs] > li > a, ul[data-pills] > li > a', 'click', tab)
})
}( window.jQuery || window.ender );

45
js/bootstrap-transitions.js vendored Normal file
View File

@ -0,0 +1,45 @@
/* ===================================================
* bootstrap-transitions.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html
* ===================================================
* Copyright 2011 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
$(function () {
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support && {
end: (function () {
var transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
return transitionEnd
})()
}
})()
})

View File

@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-twipsy.js v1.3.0
* bootstrap-twipsy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#twipsy
* Adapted from the original jQuery.tipsy by Jason Frame
* ==========================================================
@ -21,35 +21,6 @@
!function( $ ) {
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
var transitionEnd
$(document).ready(function () {
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support
})()
// set CSS transition event type
if ( $.support.transition ) {
transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
}
})
/* TWIPSY PUBLIC CLASS DEFINITION
* ============================== */
@ -131,7 +102,7 @@
}
$.support.transition && this.$tip.hasClass('fade') ?
$tip.bind(transitionEnd, removeElement) :
$tip.bind($.support.transition.end, removeElement) :
removeElement()
}

View File

@ -11,6 +11,7 @@
<script src="vendor/qunit.js"></script>
<!-- plugin sources -->
<script src="../../js/bootstrap-transitions.js"></script>
<script src="../../js/bootstrap-alerts.js"></script>
<script src="../../js/bootstrap-dropdown.js"></script>
<script src="../../js/bootstrap-modal.js"></script>