Skip to content
Browse files

Merge pull request #54 from m5o/2.3.0-wip

update to match v2.3.0
  • Loading branch information...
2 parents 3c2901f + 60ac348 commit 6ba9482319b6dcb7ae77461f2084271a241fdc2f @m5o m5o committed
Showing with 2,581 additions and 1,060 deletions.
  1. +350 −0 CHANGELOG.md
  2. +1 −1 Gemfile.lock
  3. +176 −176 LICENSE
  4. +41 −16 Makefile
  5. +14 −10 README.md
  6. +1 −1 Rakefile
  7. +0 −9 bootstrap-2.2.2.min.css
  8. +216 −121 bootstrap-2.2.2.css → bootstrap-2.3.0.css
  9. +9 −0 bootstrap-2.3.0.min.css
  10. +0 −9 bootstrap-responsive-2.2.2.min.css
  11. +50 −33 bootstrap-responsive-2.2.2.css → bootstrap-responsive-2.3.0.css
  12. +9 −0 bootstrap-responsive-2.3.0.min.css
  13. +2 −2 component.json
  14. +0 −1 composer.json
  15. +1 −1 docs/assets/css/bootstrap-responsive.css
  16. +1 −1 docs/assets/css/bootstrap.css
  17. +5 −2 docs/assets/css/docs.css
  18. BIN docs/assets/img/bootstrap-docs-readme.png
  19. BIN docs/assets/img/examples/bootstrap-example-carousel.png
  20. BIN docs/assets/img/examples/bootstrap-example-fluid.jpg
  21. BIN docs/assets/img/examples/bootstrap-example-fluid.png
  22. BIN docs/assets/img/examples/bootstrap-example-hero.jpg
  23. BIN docs/assets/img/examples/bootstrap-example-justified-nav.png
  24. BIN docs/assets/img/examples/bootstrap-example-marketing-narrow.png
  25. BIN docs/assets/img/examples/bootstrap-example-marketing.png
  26. BIN docs/assets/img/examples/bootstrap-example-signin.png
  27. BIN docs/assets/img/examples/bootstrap-example-starter.jpg
  28. BIN docs/assets/img/examples/bootstrap-example-starter.png
  29. BIN docs/assets/img/examples/bootstrap-example-sticky-footer.png
  30. +12 −10 docs/assets/js/application.js
  31. +1 −1 docs/assets/js/bootstrap-affix.js
  32. +1 −1 docs/assets/js/bootstrap-alert.js
  33. +1 −1 docs/assets/js/bootstrap-button.js
  34. +31 −9 docs/assets/js/bootstrap-carousel.js
  35. +4 −4 docs/assets/js/bootstrap-collapse.js
  36. +14 −10 docs/assets/js/bootstrap-dropdown.js
  37. +13 −11 docs/assets/js/bootstrap-modal.js
  38. +5 −5 docs/assets/js/bootstrap-popover.js
  39. +2 −2 docs/assets/js/bootstrap-scrollspy.js
  40. +1 −1 docs/assets/js/bootstrap-tab.js
  41. +95 −29 docs/assets/js/bootstrap-tooltip.js
  42. +1 −1 docs/assets/js/bootstrap-transition.js
  43. +16 −4 docs/assets/js/bootstrap-typeahead.js
  44. +189 −80 docs/assets/js/bootstrap.js
  45. +2 −2 docs/assets/js/bootstrap.min.js
  46. +113 −54 docs/assets/js/holder/holder.js
  47. +8 −0 docs/assets/js/html5shiv.js
  48. +5 −2 docs/assets/js/jquery.js
  49. +31 −9 docs/base-css.html
  50. +28 −8 docs/components.html
  51. +2 −2 docs/customize.html
  52. +8 −6 docs/examples/carousel.html
  53. +14 −5 docs/examples/fluid.html
  54. +5 −5 docs/examples/hero.html
  55. +4 −2 docs/examples/{marketing-alternate.html → justified-nav.html}
  56. +2 −2 docs/examples/marketing-narrow.html
  57. +1 −1 docs/examples/signin.html
  58. +3 −3 docs/examples/starter-template.html
  59. +161 −0 docs/examples/sticky-footer-navbar.html
  60. +2 −1 docs/examples/sticky-footer.html
  61. +3 −11 docs/extend.html
  62. +18 −9 docs/getting-started.html
  63. +3 −3 docs/index.html
  64. +81 −60 docs/javascript.html
  65. +2 −2 docs/scaffolding.html
  66. +2 −2 docs/templates/layout.mustache
  67. +29 −7 docs/templates/pages/base-css.mustache
  68. +26 −6 docs/templates/pages/components.mustache
  69. +1 −9 docs/templates/pages/extend.mustache
  70. +16 −7 docs/templates/pages/getting-started.mustache
  71. +2 −2 docs/templates/pages/index.mustache
  72. +79 −58 docs/templates/pages/javascript.mustache
  73. +1 −1 js/bootstrap-affix.js
  74. +1 −1 js/bootstrap-alert.js
  75. +1 −1 js/bootstrap-button.js
  76. +31 −9 js/bootstrap-carousel.js
  77. +4 −4 js/bootstrap-collapse.js
  78. +14 −10 js/bootstrap-dropdown.js
  79. +13 −11 js/bootstrap-modal.js
  80. +5 −5 js/bootstrap-popover.js
  81. +2 −2 js/bootstrap-scrollspy.js
  82. +1 −1 js/bootstrap-tab.js
  83. +95 −29 js/bootstrap-tooltip.js
  84. +1 −1 js/bootstrap-transition.js
  85. +16 −4 js/bootstrap-typeahead.js
  86. +12 −0 js/tests/unit/bootstrap-carousel.js
  87. +138 −3 js/tests/unit/bootstrap-tooltip.js
  88. +5 −0 js/tests/unit/bootstrap-typeahead.js
  89. +5 −2 js/tests/vendor/jquery.js
  90. +4 −2 lib/_button-groups.scss
  91. +8 −10 lib/_buttons.scss
  92. +33 −6 lib/_carousel.scss
  93. +2 −1 lib/_close.scss
  94. +16 −12 lib/_dropdowns.scss
  95. +5 −2 lib/_forms.scss
  96. +4 −2 lib/_labels-badges.scss
  97. +2 −2 lib/_media.scss
  98. +6 −0 lib/_mixins.scss
  99. +3 −3 lib/_modals.scss
  100. +18 −11 lib/_navbar.scss
  101. +40 −22 lib/_navs.scss
  102. +3 −1 lib/_pager.scss
  103. +3 −1 lib/_pagination.scss
  104. +5 −1 lib/_popovers.scss
  105. +6 −2 lib/_responsive-navbar.scss
  106. +29 −13 lib/_responsive-utilities.scss
  107. +2 −1 lib/_scaffolding.scss
  108. +7 −3 lib/_sprites.scss
  109. +24 −17 lib/_tables.scss
  110. +3 −2 lib/_thumbnails.scss
  111. +6 −6 lib/_tooltip.scss
  112. +20 −8 lib/_type.scss
  113. +1 −1 lib/_variables.scss
  114. +1 −1 lib/bootstrap.scss
  115. +1 −10 lib/responsive.scss
  116. +12 −1 lib/tests/css-tests.css
  117. +54 −0 lib/tests/css-tests.html
  118. +5 −5 package.json
View
350 CHANGELOG.md
@@ -0,0 +1,350 @@
+## 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:
+
+- **Docs:**
+ - Assets (illustrations and examples) are now retina-ready.
+ - Replaced [Placehold.it](http://placehold.it) with [Holder.js](http://imsky.github.com/holder/), a client-side and retina-ready placeholder image tool.
+- **Dropdowns:** Temporary fix added for dropdowns on mobile to prevent them from closing early.
+- **Popovers:**
+ - No longer inherits `font-size: 0;` when placed in button groups.
+ - Arrows refactored to work in IE8, and use less code.
+ - Plugin no longer inserts popover content into a `<p>`, but rather directly into `.popover-content`.
+- **Labels and badges:** Now [automatically collapse](https://github.com/twitter/bootstrap/commit/ead5dbeba5cd7acfa560bfb353f5e7c4f4a19256) if they have no content.
+- **Tables:** Nesting support with `.table-bordered` and `.table-striped` greatly improved.
+- **Typeahead:**
+ - Now [inserts dropdown menu after the input](https://github.com/twitter/bootstrap/commit/1747caf19d59cad7fdc90ae56a00e0e2849f95f4) instead of at the close of the document.
+ - Hitting escape will place focus back on the `<input>`.
+- Print styles, from HTML5 Boilerplate, have been added.
+
+See more on the [2.2.2 milestone](https://github.com/twitter/bootstrap/issues?milestone=17&state=closed).
+
+
+## 2.2.1 (October 30, 2012)
+
+Hotfix release to address the carousel bug reports.
+
+
+## 2.2.0 (October 29, 2012)
+
+### tl;dr
+
+2.1.2 is now 2.2.0: four new example templates, added media component, new typographic scale, fixed that box-shadow mixin bug, fixed z-index issues, and [more](https://github.com/twitter/bootstrap/issues?milestone=15&page=1&state=closed).
+
+### Highlights
+
+- **Added four new example templates** to the docs, including a narrow marketing page, sign in form, sticky footer, and a fancy carousel (created for an upcoming .net magazine article).
+- **Added the media component**, to create larger common components like comments, Tweets, etc.
+- **New variable-driven typographic scale** based on `@baseFontSize` and `@baseLineHeight`.
+- Revamped mini, small, and large padding via new variables for inputs and buttons so everything is the same size.
+- Reverted 2.1.1's `.box-shadow();` mixin change that caused compiler errors.
+- Improved dropdown submenus to support dropups and left-aligned submenus.
+- Fixed z-index issues with tooltips and popovers in modals.
+- Hero unit now sets basic type styles for the entire component, rather than on `.hero-unit p { ... }`.
+- Updated JavaScript plugins and docs to jQuery 1.8.1.
+- Added Contributing.md file.
+- Added support for installing Bootstrap via [Bower](http://twitter.github.com/bower).
+- Miscellaneous variable improvements across the board.
+- Miscellaneous documentation typos fixed.
+
+For the full list of issues included in this release, visit the [2.2.0 milestone on GitHub](https://github.com/twitter/bootstrap/issues?milestone=15&page=1&state=closed)
+
+
+
+## 2.1.1 (September 4, 2012)
+
+* New feature: alert text. We documented these new classes, like `.text-success`, at the bottom of the [Typography section](http://twitter.github.com/bootstrap/base-css.html#typography) along with the long undocumented `.muted`.
+* Fixed a lot of typos in the docs. Spelling is hard.
+* Made the `.box-shadow()` mixin more durable. It no longer requires escaping for multiple shadows, meaning you can easily use variables and functions in them once again.
+* Widened `.dl-horizontal dt` and `.horizontal-form .control-group` to better handle the increased font-size.
+* Dropdown submenus improved: now you only see the next level, not all levels, on hover of the submenu toggle.
+* Clarified jQuery and Bootstrap template requirements in Getting Started section.
+* `select` now utilizes `@inputBorder`.
+* `.lead` now scales up from `@baseFontSize` instead of being a fixed font-size and line-height.
+* Fixed the vertical three color gradient in latest Firefox.
+* Reordered some variables that caused errors in certain Less compilers.
+
+View all closed issues on the [2.1.1 milestone](https://github.com/twitter/bootstrap/issues?milestone=14&state=closed).
+
+
+## 2.1.0 (August 20, 2012)
+
+### Key changes
+
+* Submenu support on dropdowns
+* Affix JavaScript plugin
+* Block level buttons
+* State classes on table rows
+* Improved disabled states on navs and dropdowns
+* The navbar component is now white by default, with an optional class to darken it
+* Improved prepended and appended inputs
+* New base font-size and line-height
+* Added variable for navbar collapse trigger point
+* Fluid grid offsets
+* Fluid grid system variables are no longer fixed percentages
+* Removed LESS docs page
+
+For full set of changes, see the completed milestone: https://github.com/twitter/bootstrap/issues?milestone=7&page=1&state=closed
+
+## 2.0.4 (June 1, 2012)
+
+
+### Docs
+
+- Added `type="button"` to all dismiss buttons in alerts and modals to avoid a bug in which they prevent their parent's `form` from properly submitting.
+- Added simple documentation to Base CSS for `.lead`.
+- Added new CSS test to illustrate how the navbar, static and fixed, behaves.
+- Clarified grid sizing copy to include mention of responsive variations.
+- Reformatted the LESS docs page to prevent terrible table displays at smaller grid sizes.
+- Miscellaneous typos and tweaks.
+
+### CSS
+
+- Refactored forms.less to make our selectors more specific for fewer overrides and less code. Instead of a generic `input` selector and various resets, we target each type of input like `input[type="text"]`, `input[type="password"]`, etc.
+- Form field state (e.g., success or error) now applies to checkbox and radio labels.
+- Removed redundant CSS on `<p>` for `font-family`, `font-size`, and `line-height`.
+- Removed redundant `color` declaration from the `<label>` element.
+- Added variables for dropdown dividers border colors.
+- `legend` and `.form-actions` share the same `border-color`, `#e5e5e5`.
+- Fixed some responsive issues with input-prepend and -append, notably with the fluid grid.
+- Added special CSS to prevent `max-width: 100%;` on images from messing up Google Maps rendering.
+- Scope opened dropdowns to only immediate children to avoid unintended cascade.
+- Similarly, scope floated-right dropdowns to immediate children with `.pull-right > .dropdown-menu`.
+- Updated `.placeholder()` mixin to use `&` operator in Less for proper output when compiling.
+- Added `-ms-input-placeholder` to `.placeholder()` mixin.
+- Added CSS3 hyphens mixin.
+- Fixed a bug in IE7/8 where certain form controls would not show text if the parent had a filter opacity set.
+
+
+## 2.0.3 (April 24, 2012)
+
+Running makefile now require JSHint and Recess.
+
+### HTML and CSS
+
+- Overhauled the responsive utility classes to simplify required CSS, add `!important` to all declarations, and use `display: inherit` in place of `display: block` to account for different types of elements.
+- Removed `>` from fluid grid column selectors, meaning every element with a `.span*` class within a `.row-fluid` will use percentage widths instead of fixed-pixels.
+- Fixed regression in responsive images support as of 2.0.1. We've re-added `max-width: 100%;` to images by default. We removed it in our last release since we had folks complaining about Google Maps integration and other projects, but we're taking a different stance now on these things and will require developers to make these tweaks on their end.
+- Added variable `@navbarBrandColor` for the brand element in navbars, which defaults to `@navbarLinkColor`.
+- Font-family mixins now use variables for their stacks.
+- Fixed an unescaped `filter` on the `.reset-filter()` mixin that was causing some errors depending on your compiler.
+- Fixed regression in `.form-actions` background, which was too dark, by adding a new variable `@formActionsBackground` and changing the color to `#f5f5f5` instead of `#eee`.
+- Fixed an issue on button group dropdowns where the background color was not using the button's darker color when the dropdown is open.
+- Generalized and simplified the open dropdown classes while adding smarter defaults. Instead of `.dropdown.open`, we now use just `.open`. On the defaults side, all dropdown menus now have rounded corners to start.
+- Improved active `.dropdown-toggle` styles (for dropdown buttons) by darkening the background and sharpening the inset shadow to match the active state of buttons.
+- Direction of animation on progress bars reversed.
+- Fixed input-prepend/append issue with uneditable inputs: `.uneditable-input` was being floated and a missing comma meant its `border-radius` for the append option wasn't being applied properly.
+- Removed `height: auto;` from `img` since it was overriding dimensions set via HTML attributes.
+- Fixed an issue of double borders on the top of tables with captions or colgroups.
+- Fixed issue with anchor buttons in the `.navbar-text`. Instead of a general styling on all anchors within an element with that class, we now have a new class to specifically apply appropriate link color.
+- Added support for `@navbarHeight` on the brand/project name and nav links for complete navbar height customization.
+- Fixed the black borders on buttons problem in IE7 by removing the border, increasing the line-height, and providing darker background colors.
+- Removed excess padding on `.search-query` inputs in IE7 since it doesn't have border-radius.
+- Updated alert messages in Components to use `button` elements as close icons instead of `a`. Both can be used, but an `a` will require `href="#"` for dismissal on iOS devices.
+- Fixed an issue with prepended/appended inputs in Firefox where `select` elements required two clicks to toggle the dropdown. Resolved by moving the `position: relative` to the `select` by default instead of on `:focus`.
+- Added a new mixin, `.backface-visibility`, to help refine CSS 3D tranforms. Examples and explanation of usage can be found on [CSS Tricks](http://css-tricks.com/almanac/properties/b/backface-visibility/).
+- Changed specificity of grid classes in responsive layouts under 767px to accurately target `input`, `select`, and `textarea` elements that use `.span*` classes.
+- Horizontal description lists, `.dl-horizontal`, now truncate terms that are too long to fit in their fixed-width column. In the < 767px responsive layout, they change to their default stacked layout.
+- Changed tabbable tabs to prevent issues in left and right aligned tabs. `.tab-content` would not growing to its parent's full width due to `display: table`. We removed that and the `width: 100%` and instead just set `overflow: auto` to clear the left and right aligned tabs.
+- Updated thumbnails to support fluid grid column sizing.
+- Added `>` to most of the button group selectors
+- Added new variable, `@inputBorderRadius`, to all form controls that previously made use of the static `3px` value everywhere.
+- Changed the way we do `border-radius` for tables. Instead of the regular mixin that zeros out all other corners, we specify one corner only so they can be combined for use on single column table headers.
+- Updated Glyphicons Halflings from 1.5 to 1.6, introducing 20 new icons.
+- Added an `offset` paramater to the `.makeColumn`.
+- Increased the specificity of all tabbable nav selectors to include `.nav-collapse` to appropriately scope the responsive navbar behavior.
+- Fixed uneditable inputs: text now cuts off and does not wrap, making it behave just like a default `input`.
+- Labels and badges are now `vertical-align: baseline;` so they line up with surrounding text.
+
+### Javascript
+
+- Add jshint support
+- Add travis-ci support w/ headless phantom integration
+- Replace UA sniffing in bootstrap-transitions.js
+- Add MSTransitionEnd event to transition plugin
+- Fix pause method in carousel (shouldn't restart when hovering over controls)
+- Fix crazy opera bug #1776
+- Don't open dropdown if target element is disabled
+- Always select last item in scrollspy if you've reached the bottom of the document or element
+- Typeahead should escape regexp special chars
+- If interval is false on carousel, do not auto-cycle
+- Add preventDefault support for all initial event types (show, close, hide, etc.)
+- Fix collapse bug in ie7+ for initial collapse in
+- Fix nested collapse bug
+- If transitioning collapse, don't start new transition
+- Try to autodetect when to use html/text method in tooltip/popovers to help prevent xss
+- Add bootstrap + bootstrap.min.js to gh-pages for @remy and jsbin support
+
+### Documentation and repo
+
+- Combined badges and labels into a single LESS file, labels-badges.less, to reduce repeated CSS.
+- Separated responsive features into multiple files. We now have a file for each grouping of media queries (tablets and down, tablets to desktops, and large desktops). Additionally, the visible/hidden utility classes and the responsive navbar are in their own files. The output is the same in the compiled CSS, but this should give folks a bit more flexibility.
+- Added a new CSS Tests page in the docs (not in the top nav) for better testing of edge cases and extending the use of standard components.
+- Removed the bootstrap.zip file from the repo and the make process for faster building and a lighter repo. From now on, the zip will only be in the documentation branch.
+- Fixed incorrect use of class instead of ID for tabs example and added documentation for multiple ways of toggling tabs.
+- Fixed required markup listed for the specialized navbar search field.
+- Removed all mention of `@siteWidth`, a variable no longer in use.
+- Removed mentions of unused `@buttonPrimaryBackground` variable, which is no longer in use.
+- Updated LESS docs page to include all the new variables we added in previous releases.
+- Removed broken "dropup" menus from tabs and pills examples (shouldn't have been there in the first place).
+- Replaced `.badge-error` with `.badge-important`. The error option is not a valid class and was a typo in the docs.
+- Fixed mention of how to add plain text to the navbar. Previously the docs stated you only needed a `p` tag, but the required HTML is any element with class `.navbar-text`.
+- Clarified the use of `.tabbable` for tabs. The wrapping class is only required for left and right tabs to clear their floats. Also added mention of `.fade` to fade in tabs.
+- Updated forms documentation:
+ - Remove unnecessary duplicate help text in first example
+ - Added mention of required `input` class, `.search-query`, for the search form variation
+ - Removed incorrect mention of form fields being `display: block;` to start as fields are `inline-block` to start.
+- Added mention of `data-target` attribute for the dropdowns javascript plugin to show how to keep custom URLs intact on links with `.dropdown-toggle` class.
+- Updated the Kippt screenshot on the homepage to reflect their recent responsive redesign and upgrade to 2.0.2.
+
+
+## 2.0.2 (March 12, 2012)
+
+Overview of docs changes, bugfixes, and new features.
+
+### Documentation updates
+
+- All docs pages now have distinct titles, such as <em>Scaffolding &middot; Twitter Bootstrap</em>.
+- Updated the Apple touch icons (now black on black instead of the blue grid) and fixed the links to them in the docs.
+- Added new global styles docs section to the Scaffolding page.
+ - Required use of HTML5 doctype
+ - Overview of global typographic and links details
+ - Mention of our embedded CSS reset via [Normalize.css](http://necolas.github.com/normalize.css/)
+- Added version number to the download button on the docs homepage.
+- Updated progress bars section to simplify how the classes stack and more clearly indicate the available optional classes and styles.
+- Added a new example, [SoundReady.fm](http://soundready.fm), to the homepage
+- Added various sizes to the docs for button groups
+
+### Resolved bugs
+
+- Removed all IE7 hacks and floats from `.input-prepend` and `.input-append`, however, this requires you to **ensure there is no whitespace in your code** between `.add-on` and the `input`.
+- In `.input-prepend` and `.input-append`, added ability to use add-ons on both sides when you chain the selectors.
+- Updated lingering `.btn-dark` reference to `.btn-inverse`.
+- Fixed issue with content being cut off in `.tab-content` for tabbable sections.
+- Updated `.navbar .container` to use `width: auto;` to start and then reset the fixed widths via the `#gridSystem` mixin (it's a little dirty, but required to avoid adding another class).
+- Modal footer buttons are now aligned by their parent via `text-align: right;` instead of `float: right` on the button level. This was changed to allow the use of `.pull-left` and `.pull-right` to align buttons easily. Double check your button order with this change!
+- Fixed problem where default striped progress bar was green instead of blue.
+- Fixed CSS selector used for `input` and `textarea` grid sizes to properly apply the CSS (was `input > .span*` and now is `input.span*`).
+
+### New features
+
+- Horizontal dividers support added to nav lists
+- Added basic version of badges
+- Added visible/hidden classes for devices
+- Added support for buttons in input-prepend/append component
+- Added .navbar-fixed-bottom support
+- Added .dropup support for dropdown menus to pop them upward instead of downward (this is automatically done for the newly added fixed bottom navbar).
+- Added mixin for [new image replacement technique](http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/)
+- Added pause on hover for the carousel
+- Added tons of new variables for typography, buttons, forms, dropdowns, navbar, and more for the LESS pros out there. These variables have also been reflected on the Customize page.
+- Added new horizontal description list variation
+- Added `.disabled` class support to the pager component (also added a mention of this to the docs)
+- Added `.well-large` and `.well-small` classes for extending the well component
+
+For a full issue-by-issue rundown of the release, check out the now closed [2.0.2 milestone on GitHub](https://github.com/twitter/bootstrap/issues?sort=created&direction=desc&state=closed&page=1&milestone=9)
+
+## v2.0.1 (February 17, 2012)
+
+Overview of changes:
+
+- Previously the docs called for use of `.control-label` in the examples, but the CSS didn't make clear use of it. This class is required for horizontal forms and has been reflected in the CSS.
+- We've tried our best to improve rendering of buttons and icons across all browsers. Some issues remain; Firefox throws an `!important`on `line-height` for inputs, so that's the big one.
+- We refined the label component style to move away from uppercase.
+- Added the black button option, `.btn-inverse`.
+- Added a mini button class, `.btn-mini`.
+- We had to re-add the protocol, `http:` to the HTML5 schim because IE7-8 wouldn't recognize it, dropping some HTML5 support for those browsers and introducing major performance issues.
+- Resolved some issues with responsive layouts where media queries would overlap at 768px and 980px.
+- Rearranged Scaffolding docs page to split fixed and fluid grid systems.
+- Tons of docs updates for typos and language changes.
+
+For full list of changes, see the now closed [v2.0.1 milestone](https://github.com/twitter/bootstrap/issues?milestone=8&state=closed).
+
+## v2.0.0 (January 28, 2012)
+Complete rewrite of the library. For full details, head to the upgrading doc at http://twitter.github.com/bootstrap/upgrading.html.
+
+## v1.4.0
+### Key bug fixes and changes
+- **Updated tables** to make no border the default and add options for condensed and bordered versions
+- **Updated form states** to expand on error styles and provide warning and success variations
+- New javascript plugin for button states
+- Switched to strict mode for Javascript plugins
+- Added more data attribute controls to our plugins
+- Full list of 25+ issues fixed: https://github.com/twitter/bootstrap/issues?milestone=6&state=closed
+
+## v1.3.0
+### New features
+- **Javascript plugins** for modals, alerts, dropdowns, scrollspy, tabs, tooltips, and popovers that work with jQuery and Ender
+- **Massively updated docs** for both the main page and for the new javascript plugins
+- **Inline labels** for marking inline content with key visual flags
+- Media thumbnails
+- Breadcrumbs
+
+### Updated docs
+- Added complete javascript page with detailed documentation for how to use plugins
+- Three complete example pages of using Bootstrap, linked from main docs page with thumbnails
+- Added section for compiling Less, for guidelines on how to recompile Bootstrap with Less
+- Added section for customizing grid variables in Less to roll your own grid system
+- Added section for code for using pre and code tags
+- Added section for form field sizes that match grid column sizes
+
+### Key bug fixes and changes
+ - Updated table styles to be just a tad bit more refined
+ - Added new form input sizes based on the Bootstrap grid system (meaning now you can do `input.span5` for a 280px-wide input)
+ - Removed `:focus` states from `:active` links in Firefox
+ - Fixed unqualified `.clearfix` in forms.less that added bottom margin to all containers
+ - Updated `.container()` mixing to be `.fixed-container()` to prevent conflicts when compiling
+ - Added focus states (either `box-shadow` or `outline` on `:focus`) to all buttons, links, and inputs
+ - No longer require `h3` in topbar, but still support for backwards compatibility
+
+## v1.2.0
+- **Dropdowns refactored** to be extensible (now work in ul.tabs)
+- **Added HTML5 form support** by generalizing the form selectors (e.g., input instead of input[type=text|password])
+- **Gradients back in IE**, but removed rounded corners in IE9 to prevent background bleed on buttons and alert messages
+- **Simplified the grid CSS** by removing the static .span1-16 classes in favor of CSS-style regex for column styles in the grid
+- **Added .one-third and .two-thirds columns** to the grid system
+- Fixed bug in disabled buttons where they received :active styles
+- Bug fixes
+
+## v1.1.1
+- **Redesigned alerts** to be more readable
+- **Refactored buttons and alerts CSS** to be simpler
+- Updated grid system to be more specific and not require .column or columns
+- Improved on specificity of CSS selectors by removing unnecessary tag and parent selectors
+- Miscellaneous updates to docs
+- Bug fixes
+
+## v1.1.0
+- **Added support for IE7 and IE8**
+- Added examples directory with first example usage of Bootstrap for a simple website
+- Syntax fixes for gradients and color-stops
+- Miscellaneous updates to docs
+- Bug fixes
+
+## v1.0.0
+- **Initial release**
View
2 Gemfile.lock
@@ -3,7 +3,7 @@ GEM
specs:
rake (0.9.2.2)
rb-fsevent (0.9.1)
- sass (3.2.1)
+ sass (3.2.5)
PLATFORMS
ruby
View
352 LICENSE
@@ -1,176 +1,176 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
View
57 Makefile
@@ -18,8 +18,8 @@ build:
@jshint js/*.js --config js/.jshintrc
@jshint js/tests/unit/*.js --config js/.jshintrc
@echo "Running JSHint on javascript... ${CHECK} Done"
- @recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
- @recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
+ @./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP}
+ @./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE}
@echo "Compiling LESS with Recess... ${CHECK} Done"
@node docs/build
@cp img/* docs/assets/img/
@@ -27,8 +27,8 @@ build:
@cp js/tests/vendor/jquery.js docs/assets/js/
@echo "Compiling documentation... ${CHECK} Done"
@cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > docs/assets/js/bootstrap.js
- @uglifyjs docs/assets/js/bootstrap.js -nc > docs/assets/js/bootstrap.min.tmp.js
- @echo "/**\n* Bootstrap.js v2.2.2 by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
+ @./node_modules/.bin/uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
+ @echo "/**\n* Bootstrap.js v2.3.0 by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
@cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js > docs/assets/js/bootstrap.min.js
@rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
@echo "Compiling and minifying javascript... ${CHECK} Done"
@@ -43,8 +43,8 @@ build:
#
test:
- jshint js/*.js --config js/.jshintrc
- jshint js/tests/unit/*.js --config js/.jshintrc
+ ./node_modules/.bin/jshint js/*.js --config js/.jshintrc
+ ./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc
node js/tests/server.js &
phantomjs js/tests/phantom.js "http://localhost:3000/js/tests"
kill -9 `cat js/tests/pid.txt`
@@ -62,22 +62,47 @@ clean:
# recess & uglifyjs are required
#
-bootstrap:
- mkdir -p bootstrap/img
- mkdir -p bootstrap/css
+bootstrap: bootstrap-img bootstrap-css bootstrap-js
+
+
+#
+# JS COMPILE
+#
+bootstrap-js: bootstrap/js/*.js
+
+bootstrap/js/*.js: js/*.js
mkdir -p bootstrap/js
- cp img/* bootstrap/img/
- recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
- recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
- recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
- recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > bootstrap/js/bootstrap.js
- uglifyjs bootstrap/js/bootstrap.js -nc > bootstrap/js/bootstrap.min.tmp.js
+ ./node_modules/.bin/uglifyjs -nc bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
#
+# CSS COMPLILE
+#
+
+bootstrap-css: bootstrap/css/*.css
+
+bootstrap/css/*.css: less/*.less
+ mkdir -p bootstrap/css
+ ./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css
+ ./node_modules/.bin/recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css
+ ./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css
+ ./node_modules/.bin/recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
+
+#
+# IMAGES
+#
+
+bootstrap-img: bootstrap/img/*
+
+bootstrap/img/*: img/*
+ mkdir -p bootstrap/img
+ cp img/* bootstrap/img/
+
+
+#
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O )
#
@@ -98,4 +123,4 @@ watch:
watchr -e "watch('less/.*\.less') { system 'make' }"
-.PHONY: docs watch gh-pages
+.PHONY: docs watch gh-pages bootstrap-img bootstrap-css bootstrap-js
View
24 README.md
@@ -1,8 +1,12 @@
-# [Twitter Bootstrap v2.2.2](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap)
+<a href="http://getbootstrap.com">
+ <img src="http://twitter.github.com/bootstrap/assets/img/bootstrap-docs-readme.png" width="100px">
+</a>
+
+# [Bootstrap v2.3.0](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap)
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat).
-To get started, checkout http://getbootstrap.com!
+To get started, checkout [http://getbootstrap.com](http://getbootstrap.com)!
@@ -22,7 +26,7 @@ You can use the SASS Twitter Bootstrap by dropping the compiled CSS into any new
Because SASS always outputs standard css, just link to the final output like normal:
-`<link rel="stylesheet" type="text/css" href="bootstrap-2.2.2.css">`
+`<link rel="stylesheet" type="text/css" href="bootstrap-2.3.0.css">`
For more info, refer to the docs!
@@ -34,7 +38,7 @@ You can learn more about SASS at:
[sass-lang.com](http://sass-lang.com)
-SASS runs as a local GEM on your system. You can run `sass --watch lib/bootstrap.scss:bootstrap-2.2.2.css`
+SASS runs as a local GEM on your system. You can run `sass --watch lib/bootstrap.scss:bootstrap-2.3.0.css`
@@ -52,7 +56,7 @@ And constructed with the following guidelines:
* New additions without breaking backward compatibility bumps the minor (and resets the patch)
* Bug fixes and misc changes bumps the patch
-For more information on SemVer, please visit http://semver.org/.
+For more information on SemVer, please visit [http://semver.org/](http://semver.org/).
@@ -120,13 +124,13 @@ Thanks!
**Mark Otto**
-+ http://twitter.com/mdo
-+ http://github.com/mdo
++ [http://twitter.com/mdo](http://twitter.com/mdo)
++ [http://github.com/mdo](http://github.com/mdo)
**Jacob Thornton**
-+ http://twitter.com/fat
-+ http://github.com/fat
++ [http://twitter.com/fat](http://twitter.com/fat)
++ [http://github.com/fat](http://github.com/fat)
@@ -183,7 +187,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this work except in compliance with the License.
You may obtain a copy of the License in the LICENSE file, or at:
- http://www.apache.org/licenses/LICENSE-2.0
+ [http://www.apache.org/licenses/LICENSE-2.0](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,
View
2 Rakefile
@@ -9,7 +9,7 @@ rescue Bundler::BundlerError => e
end
require 'rake'
-VERSION = "2.2.2"
+VERSION = "2.3.0"
BOOTSTRAP_CSS = "bootstrap-#{VERSION}.css"
BOOTSTRAP_MIN_CSS = "bootstrap-#{VERSION}.min.css"
BOOTSTRAP_RESPONSIVE_CSS = "bootstrap-responsive-#{VERSION}.css"
View
9 bootstrap-2.2.2.min.css
0 additions, 9 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
337 bootstrap-2.2.2.css → bootstrap-2.3.0.css
@@ -1,5 +1,5 @@
/*
- * Bootstrap v2.2.2
+ * Bootstrap v2.3.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
@@ -39,7 +39,7 @@ html {
}
a:focus {
- outline: thin dotted #333;
+ outline: thin dotted #333333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
@@ -143,7 +143,7 @@ textarea {
@media print {
* {
text-shadow: none !important;
- color: #000 !important;
+ color: black !important;
background: transparent !important;
box-shadow: none !important;
}
@@ -169,7 +169,7 @@ textarea {
pre,
blockquote {
- border: 1px solid #999;
+ border: 1px solid #999999;
page-break-inside: avoid;
}
@@ -216,7 +216,8 @@ a {
text-decoration: none;
}
-a:hover {
+a:hover,
+a:focus {
color: #005580;
text-decoration: underline;
}
@@ -230,7 +231,7 @@ a:hover {
.img-polaroid {
padding: 4px;
background-color: #fff;
- border: 1px solid #ccc;
+ border: 1px solid #cccccc;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
@@ -608,7 +609,8 @@ cite {
color: #999999;
}
-a.muted:hover {
+a.muted:hover,
+a.muted:focus {
color: gray;
}
@@ -616,7 +618,8 @@ a.muted:hover {
color: #c09853;
}
-a.text-warning:hover {
+a.text-warning:hover,
+a.text-warning:focus {
color: #a47e3c;
}
@@ -624,7 +627,8 @@ a.text-warning:hover {
color: #b94a48;
}
-a.text-error:hover {
+a.text-error:hover,
+a.text-error:focus {
color: #953b39;
}
@@ -632,7 +636,8 @@ a.text-error:hover {
color: #3a87ad;
}
-a.text-info:hover {
+a.text-info:hover,
+a.text-info:focus {
color: #2d6987;
}
@@ -640,10 +645,23 @@ a.text-info:hover {
color: #468847;
}
-a.text-success:hover {
+a.text-success:hover,
+a.text-success:focus {
color: #356635;
}
+.text-left {
+ text-align: left;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.text-center {
+ text-align: center;
+}
+
h1, h2, h3, h4, h5, h6 {
margin: 10px 0;
font-family: inherit;
@@ -740,6 +758,9 @@ ol.inline {
ul.inline > li,
ol.inline > li {
display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+ *zoom: 1;
padding-left: 5px;
padding-right: 5px;
}
@@ -810,9 +831,9 @@ blockquote {
}
blockquote p {
margin-bottom: 0;
- font-size: 16px;
+ font-size: 17.5px;
font-weight: 300;
- line-height: 25px;
+ line-height: 1.25;
}
blockquote small {
display: block;
@@ -884,7 +905,7 @@ pre {
white-space: pre;
white-space: pre-wrap;
background-color: #f5f5f5;
- border: 1px solid #ccc;
+ border: 1px solid #cccccc;
border: 1px solid rgba(0, 0, 0, 0.15);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
@@ -1090,7 +1111,7 @@ select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
- outline: thin dotted #333;
+ outline: thin dotted #333333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
@@ -1522,7 +1543,9 @@ select:focus:invalid:focus {
.input-append,
.input-prepend {
- margin-bottom: 5px;
+ display: inline-block;
+ margin-bottom: 10px;
+ vertical-align: middle;
font-size: 0;
white-space: nowrap;
}
@@ -1530,10 +1553,12 @@ select:focus:invalid:focus {
.input-append select,
.input-append .uneditable-input,
.input-append .dropdown-menu,
+.input-append .popover,
.input-prepend input,
.input-prepend select,
.input-prepend .uneditable-input,
-.input-prepend .dropdown-menu {
+.input-prepend .dropdown-menu,
+.input-prepend .popover {
font-size: 14px;
}
.input-append input,
@@ -1571,7 +1596,7 @@ select:focus:invalid:focus {
text-align: center;
text-shadow: 0 1px 0 white;
background-color: #eeeeee;
- border: 1px solid #ccc;
+ border: 1px solid #cccccc;
}
.input-append .add-on,
.input-append .btn,
@@ -1891,27 +1916,33 @@ table {
border-top: 0;
}
.table-bordered thead:first-child tr:first-child > th:first-child,
-.table-bordered tbody:first-child tr:first-child > td:first-child {
+.table-bordered tbody:first-child tr:first-child > td:first-child,
+.table-bordered tbody:first-child tr:first-child > th:first-child {
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
}
.table-bordered thead:first-child tr:first-child > th:last-child,
-.table-bordered tbody:first-child tr:first-child > td:last-child {
+.table-bordered tbody:first-child tr:first-child > td:last-child,
+.table-bordered tbody:first-child tr:first-child > th:last-child {
-webkit-border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
border-top-right-radius: 4px;
}
.table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child,
-.table-bordered tfoot:last-child tr:last-child > td:first-child {
+.table-bordered tbody:last-child tr:last-child > th:first-child,
+.table-bordered tfoot:last-child tr:last-child > td:first-child,
+.table-bordered tfoot:last-child tr:last-child > th:first-child {
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
}
.table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child,
-.table-bordered tfoot:last-child tr:last-child > td:last-child {
+.table-bordered tbody:last-child tr:last-child > th:last-child,
+.table-bordered tfoot:last-child tr:last-child > td:last-child,
+.table-bordered tfoot:last-child tr:last-child > th:last-child {
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
@@ -1948,8 +1979,8 @@ table {
background-color: #f9f9f9;
}
-.table-hover tbody tr:hover td,
-.table-hover tbody tr:hover th {
+.table-hover tbody tr:hover > td,
+.table-hover tbody tr:hover > th {
background-color: whitesmoke;
}
@@ -2035,29 +2066,29 @@ table th[class*="span"],
margin-left: 0;
}
-.table tbody tr.success td {
+.table tbody tr.success > td {
background-color: #dff0d8;
}
-.table tbody tr.error td {
+.table tbody tr.error > td {
background-color: #f2dede;
}
-.table tbody tr.warning td {
+.table tbody tr.warning > td {
background-color: #fcf8e3;
}
-.table tbody tr.info td {
+.table tbody tr.info > td {
background-color: #d9edf7;
}
-.table-hover tbody tr.success:hover td {
+.table-hover tbody tr.success:hover > td {
background-color: #d0e9c6;
}
-.table-hover tbody tr.error:hover td {
+.table-hover tbody tr.error:hover > td {
background-color: #ebcccc;
}
-.table-hover tbody tr.warning:hover td {
+.table-hover tbody tr.warning:hover > td {
background-color: #faf2cc;
}
-.table-hover tbody tr.info:hover td {
+.table-hover tbody tr.info:hover > td {
background-color: #c4e3f3;
}
@@ -2075,7 +2106,7 @@ table th[class*="span"],
margin-top: 1px;
}
-/* White icons with optional class, or on hover/active states of certain elements */
+/* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
@@ -2084,16 +2115,20 @@ table th[class*="span"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
-.dropdown-submenu:hover > a > [class*=" icon-"] {
+.dropdown-submenu:focus > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"],
+.dropdown-submenu:focus > a > [class*=" icon-"] {
background-image: url("../img/glyphicons-halflings-white.png");
}
.icon-glass {
- background-position: 0 0;
+ background-position: 0 0;
}
.icon-music {
@@ -2559,6 +2594,7 @@ table th[class*="span"],
.icon-folder-close {
background-position: -384px -120px;
+ width: 16px;
}
.icon-folder-open {
@@ -2696,7 +2732,7 @@ table th[class*="span"],
margin: 2px 0 0;
list-style: none;
background-color: white;
- border: 1px solid #ccc;
+ border: 1px solid #cccccc;
border: 1px solid rgba(0, 0, 0, 0.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
@@ -2723,7 +2759,7 @@ table th[class*="span"],
background-color: #e5e5e5;
border-bottom: 1px solid white;
}
-.dropdown-menu li > a {
+.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
@@ -2733,9 +2769,10 @@ table th[class*="span"],
white-space: nowrap;
}
-.dropdown-menu li > a:hover,
-.dropdown-menu li > a:focus,
-.dropdown-submenu:hover > a {
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
text-decoration: none;
color: white;
background-color: #0081c2;
@@ -2748,9 +2785,10 @@ table th[class*="span"],
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0);
}
-.dropdown-menu .active > a,
-.dropdown-menu .active > a:hover {
- color: #333333;
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: white;
text-decoration: none;
outline: 0;
background-color: #0081c2;
@@ -2763,12 +2801,14 @@ table th[class*="span"],
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0);
}
-.dropdown-menu .disabled > a,
-.dropdown-menu .disabled > a:hover {
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
color: #999999;
}
-.dropdown-menu .disabled > a:hover {
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none;
@@ -2937,7 +2977,7 @@ table th[class*="span"],
opacity: 0.2;
filter: alpha(opacity=20);
}
-.close:hover {
+.close:hover, .close:focus {
color: black;
text-decoration: none;
cursor: pointer;
@@ -2980,9 +3020,9 @@ button.close {
*background-color: #e6e6e6;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- border: 1px solid #bbbbbb;
+ border: 1px solid #cccccc;
*border: 0;
- border-bottom-color: #a2a2a2;
+ border-bottom-color: #b3b3b3;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
@@ -3002,7 +3042,7 @@ button.close {
.btn:first-child {
*margin-left: 0;
}
-.btn:hover {
+.btn:hover, .btn:focus {
color: #333333;
text-decoration: none;
background-position: 0 -15px;
@@ -3012,7 +3052,7 @@ button.close {
transition: background-position 0.1s linear;
}
.btn:focus {
- outline: thin dotted #333;
+ outline: thin dotted #333333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
@@ -3101,11 +3141,6 @@ input[type="button"].btn-block {
color: rgba(255, 255, 255, 0.75);
}
-.btn {
- border-color: #c5c5c5;
- border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
-}
-
.btn-primary {
color: white;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@@ -3307,13 +3342,15 @@ input[type="submit"].btn.btn-mini {
border-radius: 0;
}
-.btn-link:hover {
+.btn-link:hover,
+.btn-link:focus {
color: #005580;
text-decoration: underline;
background-color: transparent;
}
-.btn-link[disabled]:hover {
+.btn-link[disabled]:hover,
+.btn-link[disabled]:focus {
color: #333333;
text-decoration: none;
}
@@ -3491,8 +3528,6 @@ input[type="submit"].btn.btn-mini {
margin-left: 0;
}
-.btn-mini .caret,
-.btn-small .caret,
.btn-large .caret {
margin-top: 6px;
}
@@ -3503,6 +3538,11 @@ input[type="submit"].btn.btn-mini {
border-top-width: 5px;
}
+.btn-mini .caret,
+.btn-small .caret {
+ margin-top: 8px;
+}
+
.dropup .btn-large .caret {
border-bottom-width: 5px;
}
@@ -3645,7 +3685,8 @@ input[type="submit"].btn.btn-mini {
display: block;
}
-.nav > li > a:hover {
+.nav > li > a:hover,
+.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
@@ -3691,7 +3732,8 @@ input[type="submit"].btn.btn-mini {
}
.nav-list > .active > a,
-.nav-list > .active > a:hover {
+.nav-list > .active > a:hover,
+.nav-list > .active > a:focus {
color: white;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
background-color: #0088cc;
@@ -3742,7 +3784,7 @@ input[type="submit"].btn.btn-mini {
}
.nav-tabs {
- border-bottom: 1px solid #ddd;
+ border-bottom: 1px solid #dddddd;
}
.nav-tabs > li {
@@ -3754,19 +3796,18 @@ input[type="submit"].btn.btn-mini {
padding-bottom: 8px;
line-height: 20px;
border: 1px solid transparent;
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
+ @inculde border-radius(4px 4px 0 0);
}
-.nav-tabs > li > a:hover {
+.nav-tabs > li > a:hover, .nav-tabs > li > a:focus {
border-color: #eeeeee #eeeeee #dddddd;
}
.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover {
+.nav-tabs > .active > a:hover,
+.nav-tabs > .active > a:focus {
color: #555555;
background-color: white;
- border: 1px solid #ddd;
+ border: 1px solid #dddddd;
border-bottom-color: transparent;
cursor: default;
}
@@ -3782,7 +3823,8 @@ input[type="submit"].btn.btn-mini {
}
.nav-pills > .active > a,
-.nav-pills > .active > a:hover {
+.nav-pills > .active > a:hover,
+.nav-pills > .active > a:focus {
color: white;
background-color: #0088cc;
}
@@ -3800,7 +3842,7 @@ input[type="submit"].btn.btn-mini {
}
.nav-tabs.nav-stacked > li > a {
- border: 1px solid #ddd;
+ border: 1px solid #dddddd;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
@@ -3824,7 +3866,8 @@ input[type="submit"].btn.btn-mini {
border-bottom-left-radius: 4px;
}
-.nav-tabs.nav-stacked > li > a:hover {
+.nav-tabs.nav-stacked > li > a:hover,
+.nav-tabs.nav-stacked > li > a:focus {
border-color: #ddd;
z-index: 2;
}
@@ -3855,7 +3898,8 @@ input[type="submit"].btn.btn-mini {
margin-top: 6px;
}
-.nav .dropdown-toggle:hover .caret {
+.nav .dropdown-toggle:hover .caret,
+.nav .dropdown-toggle:focus .caret {
border-top-color: #005580;
border-bottom-color: #005580;
}
@@ -3875,13 +3919,15 @@ input[type="submit"].btn.btn-mini {
border-bottom-color: #555555;
}
-.nav > .dropdown.active > a:hover {
+.nav > .dropdown.active > a:hover,
+.nav > .dropdown.active > a:focus {
cursor: pointer;
}
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover {
+.nav > li.dropdown.open.active > a:hover,
+.nav > li.dropdown.open.active > a:focus {
color: white;
background-color: #999999;
border-color: #999999;
@@ -3889,14 +3935,16 @@ input[type="submit"].btn.btn-mini {
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret {
+.nav li.dropdown.open a:hover .caret,
+.nav li.dropdown.open a:focus .caret {
border-top-color: white;
border-bottom-color: white;
opacity: 1;
filter: alpha(opacity=100);
}
-.tabs-stacked .open > a:hover {
+.tabs-stacked .open > a:hover,
+.tabs-stacked .open > a:focus {
border-color: #999999;
}
@@ -3933,7 +3981,7 @@ input[type="submit"].btn.btn-mini {
}
.tabs-below > .nav-tabs {
- border-top: 1px solid #ddd;
+ border-top: 1px solid #dddddd;
}
.tabs-below > .nav-tabs > li {
@@ -3946,14 +3994,15 @@ input[type="submit"].btn.btn-mini {
-moz-border-radius: 0 0 4px 4px;
border-radius: 0 0 4px 4px;
}
-.tabs-below > .nav-tabs > li > a:hover {
+.tabs-below > .nav-tabs > li > a:hover, .tabs-below > .nav-tabs > li > a:focus {
border-bottom-color: transparent;
border-top-color: #ddd;
}
.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover {
- border-color: transparent #ddd #ddd #ddd;
+.tabs-below > .nav-tabs > .active > a:hover,
+.tabs-below > .nav-tabs > .active > a:focus {
+ border-color: transparent #dddddd #dddddd #dddddd;
}
.tabs-left > .nav-tabs > li,
@@ -3971,7 +4020,7 @@ input[type="submit"].btn.btn-mini {
.tabs-left > .nav-tabs {
float: left;
margin-right: 19px;
- border-right: 1px solid #ddd;
+ border-right: 1px solid #dddddd;
}
.tabs-left > .nav-tabs > li > a {
@@ -3981,20 +4030,22 @@ input[type="submit"].btn.btn-mini {
border-radius: 4px 0 0 4px;
}
-.tabs-left > .nav-tabs > li > a:hover {
+.tabs-left > .nav-tabs > li > a:hover,
+.tabs-left > .nav-tabs > li > a:focus {
border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}
.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover {
- border-color: #ddd transparent #ddd #ddd;
+.tabs-left > .nav-tabs .active > a:hover,
+.tabs-left > .nav-tabs .active > a:focus {
+ border-color: #dddddd transparent #dddddd #dddddd;
*border-right-color: white;
}
.tabs-right > .nav-tabs {
float: right;
margin-left: 19px;
- border-left: 1px solid #ddd;
+ border-left: 1px solid #dddddd;
}
.tabs-right > .nav-tabs > li > a {
@@ -4004,13 +4055,15 @@ input[type="submit"].btn.btn-mini {
border-radius: 0 4px 4px 0;
}
-.tabs-right > .nav-tabs > li > a:hover {
+.tabs-right > .nav-tabs > li > a:hover,
+.tabs-right > .nav-tabs > li > a:focus {
border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}
.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover {
- border-color: #ddd #ddd #ddd transparent;
+.tabs-right > .nav-tabs .active > a:hover,
+.tabs-right > .nav-tabs .active > a:focus {
+ border-color: #dddddd #dddddd #dddddd transparent;
*border-left-color: white;
}
@@ -4018,7 +4071,8 @@ input[type="submit"].btn.btn-mini {
color: #999999;
}
-.nav > .disabled > a:hover {
+.nav > .disabled > a:hover,
+.nav > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
cursor: default;
@@ -4080,7 +4134,7 @@ input[type="submit"].btn.btn-mini {
color: #777777;
text-shadow: 0 1px 0 white;
}
-.navbar .brand:hover {
+.navbar .brand:hover, .navbar .brand:focus {
text-decoration: none;
}
@@ -4093,7 +4147,7 @@ input[type="submit"].btn.btn-mini {
.navbar-link {
color: #777777;
}
-.navbar-link:hover {
+.navbar-link:hover, .navbar-link:focus {
color: #333333;
}
@@ -4111,7 +4165,9 @@ input[type="submit"].btn.btn-mini {
.navbar .btn-group .btn,
.navbar .input-prepend .btn,
-.navbar .input-append .btn {
+.navbar .input-append .btn,
+.navbar .input-prepend .btn-group,
+.navbar .input-append .btn-group {
margin-top: 0;
}
@@ -4338,7 +4394,7 @@ input[type="submit"].btn.btn-mini {
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
- border-bottom: 7px solid #ccc;
+ border-bottom: 7px solid #cccccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
top: -7px;
@@ -4356,7 +4412,7 @@ input[type="submit"].btn.btn-mini {
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
- border-top: 7px solid #ccc;
+ border-top: 7px solid #cccccc;
border-top-color: rgba(0, 0, 0, 0.2);
border-bottom: 0;
bottom: -7px;
@@ -4369,7 +4425,8 @@ input[type="submit"].btn.btn-mini {
top: auto;
}
-.navbar .nav li.dropdown > a:hover .caret {
+.navbar .nav li.dropdown > a:hover .caret,
+.navbar .nav li.dropdown > a:focus .caret {
border-top-color: #555555;
border-bottom-color: #555555;
}
@@ -4435,8 +4492,9 @@ input[type="submit"].btn.btn-mini {
color: #999999;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
-.navbar-inverse .brand:hover,
-.navbar-inverse .nav > li > a:hover {
+.navbar-inverse .brand:hover, .navbar-inverse .brand:focus,
+.navbar-inverse .nav > li > a:hover,
+.navbar-inverse .nav > li > a:focus {
color: white;
}
.navbar-inverse .brand {
@@ -4459,7 +4517,7 @@ input[type="submit"].btn.btn-mini {
.navbar-inverse .navbar-link {
color: #999999;
}
-.navbar-inverse .navbar-link:hover {
+.navbar-inverse .navbar-link:hover, .navbar-inverse .navbar-link:focus {
color: white;
}
.navbar-inverse .divider-vertical {
@@ -4472,7 +4530,8 @@ input[type="submit"].btn.btn-mini {
background-color: #111111;
color: white;
}
-.navbar-inverse .nav li.dropdown > a:hover .caret {
+.navbar-inverse .nav li.dropdown > a:hover .caret,
+.navbar-inverse .nav li.dropdown > a:focus .caret {
border-top-color: white;
color: white;
}
@@ -4603,6 +4662,7 @@ input[type="submit"].btn.btn-mini {
}
.pagination ul > li > a:hover,
+.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: whitesmoke;
@@ -4616,7 +4676,8 @@ input[type="submit"].btn.btn-mini {
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
-.pagination ul > .disabled > a:hover {
+.pagination ul > .disabled > a:hover,
+.pagination ul > .disabled > a:focus {
color: #999999;
background-color: transparent;
cursor: default;
@@ -4734,13 +4795,14 @@ input[type="submit"].btn.btn-mini {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
- border: 1px solid #ddd;
+ border: 1px solid #dddddd;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
-.pager li > a:hover {
+.pager li > a:hover,
+.pager li > a:focus {
text-decoration: none;
background-color: #f5f5f5;
}
@@ -4757,6 +4819,7 @@ input[type="submit"].btn.btn-mini {
.pager .disabled > a,
.pager .disabled > a:hover,
+.pager .disabled > a:focus,
.pager .disabled > span {
color: #999999;
background-color: #fff;
@@ -4784,15 +4847,15 @@ input[type="submit"].btn.btn-mini {
.modal {
position: fixed;
- top: 50%;
+ top: 10%;
left: 50%;
z-index: 1050;
width: 560px;
- margin: -250px 0 0 -280px;
+ margin-left: -280px;
background-color: white;
- border: 1px solid #999;
+ border: 1px solid #999999;
border: 1px solid rgba(0, 0, 0, 0.3);
- *border: 1px solid #999;
+ *border: 1px solid #999999;
/* IE6-7 */
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
@@ -4813,12 +4876,12 @@ input[type="submit"].btn.btn-mini {
top: -25%;
}
.modal.fade.in {
- top: 50%;
+ top: 10%;
}
.modal-header {
padding: 9px 15px;
- border-bottom: 1px solid #eee;
+ border-bottom: 1px solid #eeeeee;
}
.modal-header .close {
margin-top: 2px;
@@ -4844,7 +4907,7 @@ input[type="submit"].btn.btn-mini {
margin-bottom: 0;
text-align: right;
background-color: #f5f5f5;
- border-top: 1px solid #ddd;
+ border-top: 1px solid #dddddd;
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
@@ -4877,8 +4940,8 @@ input[type="submit"].btn.btn-mini {
z-index: 1030;
display: block;
visibility: visible;
- padding: 5px;
font-size: 11px;
+ line-height: 1.4;
opacity: 0;
filter: alpha(opacity=0);
}
@@ -4888,20 +4951,24 @@ input[type="submit"].btn.btn-mini {
}
.tooltip.top {
margin-top: -3px;
+ padding: 5px 0;
}
.tooltip.right {
margin-left: 3px;
+ padding: 0 5px;
}
.tooltip.bottom {
margin-top: 3px;
+ padding: 5px 0;
}
.tooltip.left {
margin-left: -3px;
+ padding: 0 5px;
}
.tooltip-inner {
max-width: 200px;
- padding: 3px 8px;
+ padding: 8px;
color: white;
text-align: center;
text-decoration: none;
@@ -4954,14 +5021,14 @@ input[type="submit"].btn.btn-mini {
left: 0;
z-index: 1010;
display: none;
- width: 236px;
+ max-width: 276px;
padding: 1px;
text-align: left;
background-color: white;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;