Compare commits

...

2060 Commits

Author SHA1 Message Date
Mark Otto 48938155eb Merge pull request #18479 from twbs/v4a2
v4 alpha 2
2015-12-08 09:51:50 -08:00
Mark Otto d1bb7639c5 Merge branch 'v4-dev' into v4a2 2015-12-08 09:51:02 -08:00
Mark Otto 7f595a3bde missed a grunt i think 2015-12-08 09:50:43 -08:00
Mark Otto 8ce5da3026 bump more versions in config 2015-12-08 09:38:58 -08:00
Mark Otto ef00fa0a6d grunt after version bump 2015-12-08 09:37:12 -08:00
Mark Otto 5d3144e8fb manually bump versions because npm script wasn't working for me 2015-12-08 09:36:08 -08:00
Chris Rebert 3b2be4701f Update docs for spacing utilities themselves to account for #18185
/fyi @mdo There might be prettier/better ways of explaining these,
        but for the sake of having accurate docs for tomorrow,
        this should do in a pinch.

[skip sauce]
2015-12-08 04:13:15 -08:00
Chris Rebert 85032786c3 Update examples to account for #18185
[skip sauce]
2015-12-08 03:41:51 -08:00
Chris Rebert 6faa260f84 Merge pull request #18185 from twbs/fix-18129
Refactor _utilities-spacing.scss
2015-12-08 01:33:03 -08:00
Mark Otto 223e3505ce Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-08 01:08:48 -08:00
Chris Rebert c7851ed20c Regenerate dist/css/bootstrap.css for diffing purposes
[skip validator]
[skip sauce]
2015-12-08 01:08:03 -08:00
Chris Rebert 5871be0ce6 Refactor _utilities-spacing.scss; fixes #18129 2015-12-08 01:08:03 -08:00
Mark Otto af8efad583 grunt 2015-12-08 01:07:14 -08:00
Chris Rebert 8d4f5c1c12 Make SCSS Lint happy
[skip sauce]
[skip validator]
2015-12-08 01:06:52 -08:00
Mark Otto 35389f46df order 2015-12-08 01:06:23 -08:00
Mark Otto 5073d07a47 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-08 00:49:42 -08:00
Mark Otto ac5be12f24 unfuck that border from rem to px 2015-12-08 00:49:31 -08:00
Chris Rebert 4e6e3860a6 docs/components/navbar.md: Nitpick phrasing
[ci skip]
2015-12-08 00:36:42 -08:00
Mark Otto 8fa5fb2857 fixes #17887: restore hover/focus for cover nav 2015-12-08 00:20:43 -08:00
Mark Otto 11c287d1d7 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-08 00:16:56 -08:00
Mark Otto 60ad55b8f7 fixes #17776 2015-12-08 00:16:46 -08:00
Mark Otto 9c55815898 Merge pull request #17930 from zalog/patch-12
v4 - .c-select shouldn't inherit white text color
2015-12-08 00:05:52 -08:00
Mark Otto 46fa32e397 Merge pull request #17946 from supergibbs/NuGet_badge_v4
Add NuGet badge
2015-12-08 00:05:31 -08:00
Mark Otto 1132e0c11d Merge pull request #17952 from supergibbs/NuGet_Support
Add NuGet support
2015-12-08 00:04:05 -08:00
Chris Rebert 8b0d737a56 scss/_pagination.scss: Reassert #18257
[skip sauce]
2015-12-08 00:01:58 -08:00
Mark Otto 30aad997d0 tweak comment 2015-12-07 23:52:10 -08:00
Mark Otto 834ac49eee Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-07 23:50:17 -08:00
Mark Otto 4fc721fe4a grunt 2015-12-07 23:49:29 -08:00
Chris Rebert bac09b7767 Add entry for pagination component changes to v4 migration guide
Refs #18110

[skip sauce]
2015-12-07 23:49:07 -08:00
Mark Otto 96dd9c57d2 Merge branch 'bassjobsen-patch-6' into v4-dev 2015-12-07 23:48:41 -08:00
Mark Otto 9e6d1c1ec6 Merge branch 'patch-6' of https://github.com/bassjobsen/bootstrap into bassjobsen-patch-6 2015-12-07 23:48:33 -08:00
Chris Rebert 9010ff8345 Fix header hierarchy in migration guide
[ci skip]
2015-12-07 23:47:13 -08:00
Mark Otto 04b3766452 grunt 2015-12-07 23:47:00 -08:00
Mark Otto 4dd60d8310 fix variable 2015-12-07 23:46:56 -08:00
Mark Otto a9f53f0fc0 Merge pull request #18110 from twbs/pagination-classes
Refactor pagination classes to avoid tag selectors & child selectors
2015-12-07 23:41:55 -08:00
Mark Otto 38847f564c grunt 2015-12-07 23:36:38 -08:00
Mark Otto 9e872efb3f rip out the .blockquote-* children classes for margin utils 2015-12-07 23:36:35 -08:00
Mark Otto 886bbe9bc0 Merge pull request #18138 from bassjobsen/patch-12
refactor blockqoutes to to avoid tag selectors & child selectors
2015-12-07 23:32:31 -08:00
Mark Otto 7303977c52 grunt 2015-12-07 23:31:06 -08:00
Mark Otto 515ff1aacb rewrite list-inline to use margin and simpler styles 2015-12-07 23:31:02 -08:00
Mark Otto d3c87d32fa Merge branch 'patch-11' of https://github.com/bassjobsen/bootstrap into bassjobsen-patch-11 2015-12-07 23:28:31 -08:00
Chris Rebert e7edf10473 .page => .page-item 2015-12-07 22:37:17 -08:00
Chris Rebert 0c1df9912f Refactor pagination code to remove unnecessary ancestor requirements in selectors 2015-12-07 22:37:17 -08:00
Chris Rebert 5f35ce2095 .page>{a,span => .page-link} 2015-12-07 22:37:17 -08:00
Chris Rebert a878c4f0c6 .pagination>{li => .page} 2015-12-07 22:37:17 -08:00
Mark Otto 7eadfbc9b2 ignore that 2015-12-07 22:31:16 -08:00
Mark Otto 1e9f0ab99e grunt 2015-12-07 22:11:27 -08:00
Mark Otto 7f8a05d3ef Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-07 22:10:38 -08:00
Mark Otto 3d45bd6106 fixes #18293: clean up sticky stuff 2015-12-07 22:05:37 -08:00
Mark Otto 0186ab5fff Merge pull request #18325 from twbs/tooltip-a-nowrap
Prevent anchors in tooltip example from splitting across lines
2015-12-07 21:58:35 -08:00
Mark Otto 5a6a128728 fixes #18330 2015-12-07 21:57:06 -08:00
Mark Otto e5b6922258 Merge pull request #18356 from lesleh/card-mixin
Card mixin
2015-12-07 21:55:26 -08:00
Mark Otto bd5d25da44 fixes #18281 2015-12-07 21:51:04 -08:00
Mark Otto c9eb483ca9 fixes #18320: pull in suit base reset for button focus styles in FF and IE 2015-12-07 21:47:40 -08:00
Mark Otto d36686afee spacing 2015-12-07 21:46:03 -08:00
Mark Otto 78d3a083a0 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-07 21:35:15 -08:00
Mark Otto 8f80b80c17 grunt 2015-12-07 21:35:05 -08:00
Mark Otto 4520b0f5d0 proper fix for #18439 w/ clippy placement and hover 2015-12-07 21:35:00 -08:00
Chris Rebert 5e3a20889f Merge pull request #18455 from twbs/fix-18424
Use $input-border-width for both .form-control and .btn borders
2015-12-07 20:48:56 -08:00
Chris Rebert 9dacdce42c Use $input-btn-border-width for both .form-control and .btn borders; fixes #18424
Both widgets need to use the same border width because of input groups.
Thus:
$btn-border-width   => $input-btn-border-width
$input-border-width => $input-btn-border-width

[skip sauce]
2015-12-07 20:41:51 -08:00
Chris Rebert ed0e6be863 Merge pull request #18460 from twbs/migration-stateful-btn
Add entry about stateful buttons to v4 migration guide
2015-12-07 17:02:48 -08:00
Chris Rebert e117083694 Add entry about stateful buttons to v4 migration guide
Refs #18459, #17178
[skip sauce]
2015-12-07 16:48:22 -08:00
Chris Rebert 5d4fd87bfa Consolidate duplicate "Buttons" section in v4 migration docs
[skip sauce]
2015-12-07 16:30:12 -08:00
Mark Otto afbaf43505 grunt 2015-12-07 10:08:39 -08:00
Mark Otto a22d2fb5a5 fixes #17433: improve borders on .list-group-flush to remove dupe borders when appropro 2015-12-07 10:05:53 -08:00
Mark Otto ef5b6a224e Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-12-07 09:25:28 -08:00
Mark Otto a78b835143 grunt 2015-12-07 09:24:54 -08:00
Chris Rebert 2f176821c3 Merge pull request #18453 from twbs/wkbug-151933
Add Wall of Browser Bugs entry related to #16028
2015-12-07 01:17:20 -08:00
Chris Rebert 6e8c7c9b2d Add Wall of Browser Bugs entry related to #16028
https://bugs.webkit.org/show_bug.cgi?id=151933

[skip sauce]
2015-12-07 01:09:56 -08:00
Chris Rebert 37955def29 Merge pull request #18452 from twbs/font-weight-utils
Tweak naming and docs of font utility classes
2015-12-07 00:14:51 -08:00
Chris Rebert d1a0af8b24 Tweak naming and docs of font utility classes
* `.font-normal` is too generic. Rename it to `.font-weight-normal` for clarity.
* Rename `.font-bold` to `.font-weight-bold` so as to parallel `.font-weight-normal`.
* In docs, gloss "weight" term in relation to fonts for the benefit of non-typographiles.

Refs #18433

[skip sauce]
2015-12-07 00:08:54 -08:00
Mark Otto eae036b755 Merge pull request #18451 from twbs/navbar-form-migrate
Add .navbar-form entry to v4 migration docs
2015-12-06 23:50:32 -08:00
Mark Otto 3c4bf98af6 links and clarification in navbar docs 2015-12-06 22:47:23 -08:00
Mark Otto e61eae4f9d stub out some more of the navbar docs to include navbar-nav options and navbar-brand options 2015-12-06 22:34:06 -08:00
Chris Rebert 28bbf42e26 Fix .font-italic utility class definition
Erratum from 26da610bd0
Refs #18001
2015-12-06 17:37:55 -08:00
Chris Rebert 7739ea8d85 Add .navbar-form entry to v4 migration docs; refs #18087
[skip sauce]
2015-12-06 17:32:24 -08:00
Chris Rebert da87424a79 Remove .navbar-form from example pages; refs #18087
[skip sauce]
2015-12-06 17:30:26 -08:00
Mark Otto dd2c784c92 fix up navbar examples with proper coloring 2015-12-06 17:09:49 -08:00
Mark Otto 21b15d450d fixes #18087: .navbar-form is no more 2015-12-06 16:59:33 -08:00
Mark Otto 49674a8eba fixes #18425 by using vars for 1px borders 2015-12-06 16:45:40 -08:00
Mark Otto 5a2318b68c fixes #18436 2015-12-06 16:41:38 -08:00
Mark Otto 26da610bd0 fixes #18433: add three new font utils 2015-12-06 16:39:55 -08:00
Mark Otto db0f2df59c Merge pull request #18426 from twbs/label-reboot-comment-grammar
Fix grammar of comment for <label> in Reboot
2015-12-06 16:29:56 -08:00
Mark Otto 239befe16b Merge branch 'list-inline-padding' into v4-dev 2015-12-06 16:29:35 -08:00
Mark Otto 873a9409a3 Merge pull request #18450 from twbs/more-font-weight-vars
Add 3 more font-weight variables
2015-12-06 16:24:31 -08:00
Chris Rebert 0759d76bd2 Add 3 more font-weight variables
Refs #14368

[skip sauce]
[skip validator]
2015-12-06 12:32:49 -08:00
Chris Rebert 451265bb76 Grunt: Factor out new docs-github task
Ports #18445 to v4.

[skip sauce]
[skip validator]
2015-12-06 12:11:10 -08:00
Chris Rebert 193b8306f0 Fix grammar in "Custom forms" docs
[ci skip]
2015-12-06 12:08:01 -08:00
Chris Rebert 23a7c6b1a6 Docs: Fix flavor text in input group example that got borked at some point
[skip sauce]
2015-12-06 12:02:54 -08:00
Chris Rebert 1ac1cf5952 Merge pull request #18448 from twbs/bugzilla-1139853
Add Wall of Browser Bugs entry for #15990
2015-12-06 03:08:27 -08:00
Chris Rebert 4120663c4b Add Wall of Browser Bugs entry for #15990
https://bugzilla.mozilla.org/show_bug.cgi?id=1139853
[skip sauce]
2015-12-06 03:02:40 -08:00
Chris Rebert e4cd726ad9 Merge pull request #18447 from twbs/moz-meta-bug
Mention Mozilla Firefox meta-bug on Wall of Browser Bugs
2015-12-06 02:27:03 -08:00
Chris Rebert 2268fda99c Mention Mozilla Firefox meta-bug on Wall of Browser Bugs
https://bugzilla.mozilla.org/show_bug.cgi?id=1230801

[skip sauce]
2015-12-06 02:07:29 -08:00
Chris Rebert b1acdd69cb Merge pull request #18442 from vsn4ik/v4-dev-form-icon-default
Use !default on $form-icon-* variables
2015-12-05 17:50:08 -08:00
vsn4ik ad698d124a v4 - Add default param for form-icon variables 2015-12-05 21:32:25 +03:00
XhmikosR b7b448a0e7 Run grunt.
[ci skip]
2015-12-05 12:59:13 +02:00
Chris Rebert 75c39f9138 Fix version numbers is JS files; fixes #18435
[skip sauce]
[skip validator]
2015-12-05 02:19:46 -08:00
XhmikosR 3cd8bd58e3 package.json: fix duplicate scripts property.
[skip sauce]
[skip validator]
2015-12-05 12:07:40 +02:00
XhmikosR 26af030b6c Merge pull request #18431 from twbs/v4-dev-xmr-docs-library-updates
V4 dev docs library updates
2015-12-05 11:44:19 +02:00
XhmikosR 34a0ce571e Run grunt.
[ci skip]
2015-12-05 11:43:23 +02:00
XhmikosR 4191288873 Update clipboard.js to v1.5.5.
[ci skip]
2015-12-05 11:41:34 +02:00
XhmikosR 58717fa2d8 Update anchor.js to v2.0.0.
[ci skip]
2015-12-05 11:41:34 +02:00
Chris Rebert 96562e3750 Merge pull request #18434 from twbs/update-shrinkwrap
Update shrinkwrap
2015-12-05 01:36:59 -08:00
XhmikosR e7a9a88c3c Merge pull request #18432 from twbs/v4-dev-xmr-jekyll-search
Fix docs/search.json.
2015-12-05 11:32:49 +02:00
XhmikosR 3afdbe426f Fix docs/search.json.
* only loop through `html_pages`
* skip pages without a title
* stop double escaping the title; use Jekyll's `jsonify` filter to output valid JSON
* remove `date` since we don't use it

[skip sauce]
2015-12-05 11:30:27 +02:00
Chris Rebert e5266a8058 Update shrinkwrap 2015-12-05 01:28:33 -08:00
Chris Rebert c7ea145df6 Merge pull request #18402 from twbs/fix-18338
s/grunt-sed/npm script/
2015-12-05 01:11:09 -08:00
XhmikosR 1f8a17ff36 Merge pull request #18378 from twbs/prefix-safari-8
Bump Safari to v8 in Autoprefixer settings
2015-12-05 11:05:33 +02:00
Chris Rebert 7d211536bb Bump Safari to v8 in Autoprefixer settings
The latest OS X Safari version is 9.0.1
Our prefixing policy dictates that we prefix 1 version back from the latest version.
9.0.1 - 1_major_version = 8.0

[skip validator]
2015-12-05 11:04:55 +02:00
Chris Rebert e95ab5c36e s/grunt-sed/npm script/ ; fixes #18338
[skip sauce]
[skip validator]
2015-12-05 01:03:52 -08:00
XhmikosR 458899dacb Merge pull request #18379 from twbs/prefix-ios-8
Bump iOS to v8 in Autoprefixer settings
2015-12-05 10:38:29 +02:00
XhmikosR 92d0a71fb6 Merge pull request #18391 from twbs/double-bitwise-not-comment
util.js: Add comment explaining ~~ trick
2015-12-05 10:37:27 +02:00
XhmikosR e94891fe24 Merge pull request #18395 from twbs/scsslint-pseudo-elems
SCSS Lint: explicitly enable PseudoElement check
2015-12-05 10:29:18 +02:00
XhmikosR 4e7c7f4b9d Update jekyll-search.min.js to v1.0.9.
Fixes the IE 9 error.

[ci skip]
2015-12-04 19:28:41 +02:00
XhmikosR 14772943a6 Rename jekyll-search.js to reflect that it's minified.
[ci skip]
2015-12-04 19:28:41 +02:00
Chris Rebert 8df2e850e6 Merge pull request #18427 from twbs/btn-group-18425
Use $border-width for .btn-group margins that make borders overlap
2015-12-04 02:12:51 -08:00
Chris Rebert e8dcb2f917 Add $list-inline-padding variable
[skip sauce]
[skip validator]
2015-12-04 01:56:49 -08:00
Chris Rebert 191c82dc38 Fix grammar of comment for <label> in Reboot 2015-12-04 01:46:45 -08:00
Chris Rebert 2fcb2e099f Use $border-width for .btn-group margins that make borders overlap
Fixes half of #18425
[skip sauce]
[skip validator]
2015-12-04 01:42:51 -08:00
Chris Rebert f6b9e0beb4 Merge pull request #18423 from twbs/unmin-local-docs
Use non-minified CSS when running docs locally
2015-12-04 01:18:57 -08:00
Chris Rebert 211ca58657 Use non-minified CSS when running docs locally
For easier debugging.
Just like we already do for the JS.

[skip sauce]
2015-12-04 00:45:37 -08:00
XhmikosR 8a1685fdee Run grunt.
[ci skip]
2015-12-03 08:51:57 +02:00
XhmikosR 28d85ab809 Update grunt-jscs. 2015-12-03 08:51:44 +02:00
XhmikosR 79a4273891 Tweak ESLint rules. 2015-12-03 08:41:46 +02:00
XhmikosR e55fcbcdfe tests: bump QUnit to v1.20.0.
[skip validator]
2015-12-03 08:41:46 +02:00
XhmikosR 713e53f105 Add back grunt-contrib-compress.
Should automate the release process.

[ci skip]
2015-12-03 08:41:44 +02:00
Patrick H. Lauke 78eafb8d06 Merge pull request #18401 from tpoulos/patch-1
Proposed better phrasing in the "images" section
2015-12-02 01:25:49 +00:00
Taylor Poulos 0021e7e5b4 Proposed better phrasing in the "images" section
Previously, this read "Bootstrap doesn’t apply this automatically as it causes complications to other image formats." 

In this sentence, the number of the subject and the verb don't agree, and the word "this" is unclear.
2015-12-01 19:21:12 -05:00
Chris Rebert c15e9fb9ad SCSS Lint: enable PseudoElement check 2015-12-01 02:05:37 -08:00
Chris Rebert a887a1207c util.js: Add comment explaining ~~ trick
[skip sauce]
[skip validator]
2015-11-30 23:47:56 -08:00
XhmikosR e458c7b0e6 Bump scss_lint to v0.43.2. 2015-12-01 08:49:01 +02:00
XhmikosR 607c398f4c Bump gems.
[skip sauce]
2015-12-01 08:49:01 +02:00
Chris Rebert 79c3dfec7a Merge pull request #18388 from vsn4ik/v4-dev-fix-responsive-classes-migration
Fix classes for responsive floats in migration
2015-11-30 16:06:23 -08:00
vsn4ik 81e0295098 Fix classes for responsive floats in migration
See a8dc4812a49d8467e8642abb510b523a9a51cd48#commitcomment-14677726

[skip sauce]
2015-12-01 01:01:02 +03:00
Chris Rebert 17d15959d5 Merge pull request #18383 from twbs/sauce-ms-edge
Add MS Edge to Sauce browser tests
2015-11-30 00:07:43 -08:00
Chris Rebert 6bfd7081ac Bump iOS to v8 in Autoprefixer settings
The latest iOS version is 9.1
Our prefixing policy dictates that we prefix 1 version back from the latest version.
9.1 - 1_major_version = 8.0

[skip validator]
2015-11-29 23:54:36 -08:00
Chris Rebert 4a51f28e2c Prevent anchors in tooltip example from splitting across lines
So as to decrease the number of future inquiries about said edge case (which is already documented).
Refs #18304
[skip sauce]
2015-11-29 23:54:13 -08:00
Chris Rebert fcec8c9512 Add MS Edge to Sauce browser tests
[skip validator]
2015-11-29 23:51:11 -08:00
Chris Rebert 74ddd041b5 Merge pull request #18377 from twbs/sauce-ios-9.1
SauceLabs tests: Bump iOS to v9.1
2015-11-29 23:47:44 -08:00
Chris Rebert ac0c2c2aa0 SauceLabs tests: Bump iOS to v9.1
[skip validator]
2015-11-29 23:21:57 -08:00
Chris Rebert acdf317674 Merge pull request #18376 from twbs/travis-disable-caching
Travis CI: Temporarily disable caching
2015-11-29 23:20:57 -08:00
Chris Rebert 548834e87f Merge pull request #18340 from twbs/responsive-pulls
Add responsive float classes
2015-11-29 21:47:49 -08:00
Mark Otto 23d7b7fe42 Merge pull request #18381 from twbs/file-input-width-var
Use $input-border-width for custom file input borders
2015-11-29 21:18:52 -08:00
Mark Otto b7e3e92d6b Merge pull request #18380 from twbs/card-border-var
Use $card-border-width for .card-inverse's header/footer border-bottom override
2015-11-29 21:18:40 -08:00
Chris Rebert 12d0f98507 Use $input-border-width for custom file input borders
Fixes part of #18150

[skip sauce]
[skip validator]
2015-11-29 21:13:19 -08:00
Chris Rebert 3f2943424f Remove reference to defunct Customizer from v3
[ci skip]
2015-11-29 20:54:45 -08:00
Chris Rebert 0b01c360fc Use $card-border-width for .card-inverse's header/footer border-bottom override
Refs #18150

[skip sauce]
[skip validator]
2015-11-29 20:48:33 -08:00
Chris Rebert 7ae7149f3f navs.md: Fix typo
[ci skip]
2015-11-29 20:24:33 -08:00
Mark Otto 543580eafe Merge pull request #18256 from twbs/print-border-widths
Use $border-width in misc border print styles
2015-11-29 20:03:02 -08:00
Mark Otto c1b79347b4 Merge pull request #18264 from twbs/input-group-btns-both-sides
Add input group example with btns on both sides for completeness+testing
2015-11-29 20:02:47 -08:00
Mark Otto f16ad22530 fixes #18188 2015-11-29 19:56:17 -08:00
Mark Otto 4005b316c6 rearrange comment lines for clarity 2015-11-29 19:55:51 -08:00
Mark Otto 0fa2c7c486 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-11-29 19:54:20 -08:00
Mark Otto c68019e5d0 Merge pull request #18257 from twbs/border-width-vars
Add more border width variables
2015-11-29 19:52:22 -08:00
Mark Otto 1f487f79d3 Merge pull request #18260 from twbs/fix-18259
Move viewport-dependent padding tweak into main .jumbotron block
2015-11-29 19:49:20 -08:00
Mark Otto 94d7a8f4ef Merge pull request #18265 from twbs/fix-v4-17007
Bring focused input group controls to front via z-index:3
2015-11-29 19:48:54 -08:00
Mark Otto 45632894d9 Merge pull request #18317 from twbs/redundant-text-aligns-18300
Remove non-responsive text alignment classes
2015-11-29 19:39:48 -08:00
Mark Otto 765c5e9c07 grunt 2015-11-29 19:38:53 -08:00
Mark Otto 389a284766 fixes #18295. improve .nav-inline usefulness and document the classes as well 2015-11-29 19:38:44 -08:00
Mark Otto 1a30d12525 clarify nav default display 2015-11-29 18:44:57 -08:00
Mark Otto 3140701b52 grunt 2015-11-29 18:41:12 -08:00
Mark Otto 9f40178112 fix ads background color 2015-11-29 18:41:08 -08:00
Mark Otto e28e73e531 grunt 2015-11-29 18:39:46 -08:00
Mark Otto 6421e27b6c darken docs nav selected state and un-semibold it so it's not dangling 2015-11-29 18:36:50 -08:00
Chris Rebert c2cf58b4a0 grunt dist
[ci skip]
2015-11-29 16:59:07 -08:00
Chris Rebert 7f98ad06fc Update shrinkwrap 2015-11-29 16:58:21 -08:00
Chris Rebert de86a08377 Merge pull request #18327 from twbs/prefixing
Gruntfile: Add comments explaining CSS prefixing policy
2015-11-29 16:46:38 -08:00
Chris Rebert 9ac40cc066 Travis CI: Temporarily disable caching
So that the build will stop failing due to https://github.com/travis-ci/travis-ci/issues/5092
2015-11-29 16:27:43 -08:00
Chris Rebert fd43ce255f Add Wall of Browser Bugs entry for #18365
See http://bugzil.la/1228802

[skip sauce]
[skip validator]
2015-11-28 20:54:15 -08:00
Chris Rebert a23cf74340 _dropdown.scss: Revise comments; fixes #18363
[skip sauce]
2015-11-27 20:12:37 -08:00
Chris Rebert a8dc4812a4 Add responsive float classes; fixes #13690 2015-11-26 22:13:26 -08:00
Leslie c050d1e2e4 Update _cards.scss 2015-11-26 13:33:54 +00:00
Leslie Hoare beb11714dd Use the new mixin. 2015-11-26 13:26:40 +00:00
Leslie Hoare cc814f4d76 Create a mixin for creating new card styles.
I'm aware that currently cards are a lot simpler than buttons right now
but this may change in future and it feels cleaner to be able to create
new card styles without needing to know the internals of how they're
implemented.
2015-11-26 13:21:07 +00:00
XhmikosR b4c4c0b129 Merge pull request #18351 from twbs/node_js-stable
Travis CI: Use Node.js 5 instead of "stable"
2015-11-26 08:39:16 +02:00
Chris Rebert 4bf6f0a7c7 Travis CI: Use Node.js 5 instead of "stable"
"stable" is deprecated by nvm
Refs https://github.com/twbs/grunt-bootlint/pull/61
[skip sauce]
2015-11-25 18:47:46 -08:00
Chris Rebert 48fc3d9aa7 browsers-devices.md: rm stray </p>
[skip sauce]
2015-11-24 22:37:38 -08:00
Martin Beeby 971845b763 Updating "Reporting upstream browser bugs" for IE
Adding Microsoft Edge and the rendering engine EdgeHTML.

Closes #18303
[skip sauce]
[skip validator]
2015-11-24 05:48:49 -08:00
Chris Rebert 5482e2cc96 Gruntfile: Add comments explaining CSS prefixing policy
[skip sauce]
2015-11-24 05:05:11 -08:00
Richard Kraaijenhagen c960169807 Add responsive embed class for 1:1 aspect ratio
Closes #18141
2015-11-23 19:54:55 -08:00
XhmikosR 569f86051e Run grunt.
[ci skip]
2015-11-23 18:51:32 +02:00
XhmikosR bc2d162fd1 Bump grunt-contrib-uglify.
[skip sauce]
2015-11-23 18:51:08 +02:00
Chris Rebert ade2ab1341 Remove non-responsive text alignment classes
These can be replaced by their `.text-xs-*` parallels.
This also avoids any complications from interactions between the responsive and non-responsive classes.
(e.g. `<div class="text-left text-md-right">`)

Refs #18300
[skip sauce]
2015-11-22 21:33:42 -08:00
Deilv 2c3a592a6e Add missing !important-s to responsive text alignment classes; fixes #18300
Closes #18314 by merging a tweaked version of it.
2015-11-22 20:41:34 -08:00
Patrick H. Lauke 4d92e2c7ec Merge pull request #18288 from twbs/revert-18286-patch-1
Revert "Added button subsection to the component section"
2015-11-19 14:17:08 +00:00
Patrick H. Lauke b67b52527d Revert "Added button subsection to the component section" 2015-11-19 14:16:23 +00:00
Patrick H. Lauke 76d793a1d5 Merge pull request #18286 from vanillajonathan/patch-1
Added button subsection to the component section
2015-11-19 12:10:13 +00:00
Jonathan f99f9eb524 Added button subsection to the component section 2015-11-19 13:05:50 +01:00
Chris Rebert c2159e0f7d Merge pull request #18285 from twbs/lint-visual-tests
Check HTML validity of JS visual tests too
2015-11-19 02:20:49 -08:00
Chris Rebert 580e2f7845 Remove stray </p> from js/tests/visual/scrollspy.html
[skip sauce]
2015-11-19 01:50:20 -08:00
Chris Rebert 7d2ee3c24c Check HTML validity of JS visual tests too
[skip sauce]
2015-11-19 01:49:16 -08:00
Chris Rebert 040f4c4a9b Merge pull request #18284 from twbs/tether-docs-fix
Docs: Separate Tether out from docs.min.js
2015-11-19 01:31:56 -08:00
Chris Rebert 9a5222ca31 Docs: Separate Tether out from docs.min.js
We can't include it in docs.min.js because docs.min.js includes application.js,
application.js depends on bootstrap.js,
and the tooltip portion of bootstrap.js depends on Tether.

So instead, we need to load Tether separately before bootstrap.js

[skip sauce]
2015-11-19 01:04:34 -08:00
XhmikosR eea6690d0e Run grunt.
[ci skip]
2015-11-16 10:03:57 +02:00
XhmikosR 1b645ef686 Update devDependencies.
Adapt uglify for the new version.
2015-11-16 10:01:34 +02:00
Chris Rebert ed624a805a Merge pull request #18267 from twbs/v4-dev-xmr-revert-jquery2-requirement
Revert "Make jQuery 2.0 the minimum supported version."
2015-11-16 00:00:21 -08:00
Chris Rebert 2a8b0ba1b2 Check for jQuery >= 3.
Reword jQuery version mismatch error message since jQuery v3 isn't supported.
2015-11-16 09:53:23 +02:00
XhmikosR add3ce38f7 Revert "Make jQuery 2.0 the minimum supported version."
This partially reverts commit 9eded912a0.
2015-11-16 09:28:28 +02:00
Chris Rebert 7a2ba9a224 docs/content/reboot.md: Just to avoid any ambiguity
[ci skip]
2015-11-15 17:24:46 -08:00
Chris Rebert 60511303a1 docs/content/reboot.md: Add MDN link and a comma 2015-11-15 17:18:31 -08:00
Chris Rebert a9198d8385 scss/_reboot.scss: Add link to nice new docs regarding touch-action:manipulation
[ci skip]
2015-11-15 17:16:50 -08:00
Patrick H. Lauke 7bf6081930 Merge pull request #18266 from patrickhlauke/reboot-touch-optimization
Docs: touch responsiveness optimization
2015-11-16 01:11:16 +00:00
Patrick H. Lauke 8ec7819725 Touch responsiveness optimization
Admittedly wordy info dump on why we use `touch-action:manipulation`

refs https://github.com/twbs/bootstrap/pull/18051#issuecomment-156375970
2015-11-16 01:08:20 +00:00
Chris Rebert 5923e6fc58 Merge pull request #18051 from twbs/impl-18044
Add touch-action:manipulation on interactive elements to avoid 300ms click delay
2015-11-15 17:08:01 -08:00
Chris Rebert 1e6f23ce92 Fix #17001 in v4
Refs #18253
[skip sauce]
2015-11-15 14:20:44 -08:00
Chris Rebert eaf3f16fc6 Add input group example with btns on both sides for completeness+testing
[skip sauce]
2015-11-15 14:15:36 -08:00
Chris Rebert ca68331b8b Add $list-group-border-width; refs #18150
[skip sauce]
2015-11-15 12:46:46 -08:00
Chris Rebert e54a9d7e8d $list-group-border => $list-group-border-color
[skip sauce]
2015-11-15 12:43:43 -08:00
Chris Rebert 9da0b7140a Move viewport-dependent padding tweak into main .jumbotron block
Refs #18259
[skip sauce]
2015-11-15 01:25:38 -08:00
Chris Rebert 85c9cc806b .form-control: Use $input-border-width instead of $border-width
[skip sauce]
2015-11-15 01:18:40 -08:00
Chris Rebert 6a66d2dd92 Add $table-border-width; refs #18150 2015-11-14 23:24:48 -08:00
Chris Rebert c174d7ab4e Add $popover-border-width; refs #18150 2015-11-14 23:11:20 -08:00
Chris Rebert 8b91f95d98 Use $border-width in misc border print styles
[skip sauce]
2015-11-14 23:06:40 -08:00
Chris Rebert e3eaeb96e8 Add $thumbnail-border-width; refs #18150 2015-11-14 22:56:20 -08:00
Chris Rebert 13ac07a862 $thumbnail-border => $thumbnail-border-color 2015-11-14 22:54:53 -08:00
Chris Rebert 203264d7af Add $pagination-border-width; refs #18150 2015-11-14 22:53:18 -08:00
Chris Rebert 5f45f652f7 Rename $pagination-border => $pagination-border-color for clarity 2015-11-14 22:51:18 -08:00
Chris Rebert 687610e6f1 Add $pager-border-width; refs #18150 2015-11-14 22:50:40 -08:00
Chris Rebert a4594bd445 $pager-border => $pager-border-color 2015-11-14 22:48:18 -08:00
Chris Rebert a420b66210 Add $nav-tabs-link-border-width; refs #18150 2015-11-14 22:40:43 -08:00
Chris Rebert 1f29c306a6 Add $input-border-width; refs #18150 2015-11-14 22:40:43 -08:00
Chris Rebert 2d02910e01 $input-border => $input-border-color 2015-11-14 22:40:43 -08:00
Chris Rebert 2ea8950b26 Add $dropdown-border-width; refs #18150 2015-11-14 22:40:43 -08:00
Chris Rebert 76f7056321 $dropdown-border => $dropdown-border-color 2015-11-14 22:28:45 -08:00
Mark Otto 01a44bfa93 Merge pull request #18255 from twbs/v4-block-cards
Block level cards
2015-11-14 21:41:20 -08:00
Mark Otto 0e77265c00 fixes #18170, make cards block level by default so anchors can be used as base element 2015-11-14 21:40:17 -08:00
Mark Otto 36b33bd145 fixes #18241: bump up border-radius values on .label-pill for when customization means the 1rem value doesn't cut it 2015-11-14 21:29:09 -08:00
Mark Otto fd0d7e28fe uncomment that, fixes #18219 2015-11-14 21:21:19 -08:00
Mark Otto 216e36aab6 Merge pull request #18254 from twbs/v4-text-classes
Document links with text emphasis classes
2015-11-14 21:13:42 -08:00
Mark Otto 2102ab4775 document links with text emphasis classes, fixes #18223 2015-11-14 21:12:41 -08:00
Jacob Thornton ece98f980c add undefined for now 2015-11-14 20:43:45 -08:00
Jacob Thornton d600831a15 add explicit error for lack of tether in tooltips - fixes #17273 2015-11-14 20:35:10 -08:00
Jacob Thornton a3d7f79ae9 Merge branch 'v4-dev' of github.com:twbs/bootstrap into v4-dev 2015-11-14 19:52:17 -08:00
Jacob Thornton 418f169999 Merge branch 'lincolndbryant-v4-dev' into v4-dev 2015-11-14 19:51:50 -08:00
Mark Otto 65b1d57386 Merge pull request #18249 from twbs/v4-ap
Autoprefixer callout in Build tools docs
2015-11-14 19:50:29 -08:00
Jacob Thornton 186c1c6d80 Merge branch 'v4-dev' of https://github.com/lincolndbryant/bootstrap into lincolndbryant-v4-dev 2015-11-14 19:49:48 -08:00
Mark Otto 7d9ddb844d grunt 2015-11-14 19:46:15 -08:00
Mark Otto 9e23bbc1bc fix broke markup 2015-11-14 19:46:03 -08:00
Mark Otto 925f0ca018 fix error to danger 2015-11-14 19:45:48 -08:00
Mark Otto f712e922d1 unfuck that class name change 2015-11-14 19:45:35 -08:00
Mark Otto 11dff583ce Merge pull request #18250 from twbs/v4-checkbox-markup
Checkbox validation markup (Take 2)
2015-11-14 19:40:08 -08:00
Chris Rebert 54a964ae19 s/error/danger/
[skip sauce]
2015-11-14 19:35:46 -08:00
Chris Rebert 37c2681e9f One more Autoprefixer shoutout
[skip sauce]
2015-11-14 19:31:41 -08:00
Mark Otto bbdd393003 contextual shoutout 2015-11-14 19:28:45 -08:00
Mark Otto 9e01f45656 consolidate links at the bottom of the file 2015-11-14 19:28:14 -08:00
Zac Echola 0462cd3d81 Simplifies markup for checkbox validation states 2015-11-14 19:26:13 -08:00
Mark Otto e10104cc35 Add note to build tools docs section about autoprefixer 2015-11-14 19:21:25 -08:00
Mark Otto 1a3acc8a4b Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-11-14 17:23:22 -08:00
Mark Otto 23e746d479 nuke unhelpful comments 2015-11-14 17:23:16 -08:00
Bass Jobsen 0d34169e1f Refactor figure image styles to use CSS class instead of child selector
Refactoring according the comments on https://github.com/twbs/bootstrap/pull/18104.
Closes #18131
2015-11-14 15:00:08 -08:00
Patrick H. Lauke e897eb4e04 Merge pull request #18244 from patrickhlauke/v4-ios-viewport-tweak3
Add shrink-to-fit to responsive meta section
2015-11-13 16:17:57 +00:00
Patrick H. Lauke 6c42c6dfa4 Add shrink-to-fit to responsive meta section 2015-11-13 16:16:17 +00:00
Chris Rebert 3236a4df69 Travis CI: Use npm@3 2015-11-13 01:27:43 -08:00
Chris Rebert a80f4e2e3c Update shrinkwrap 2015-11-13 01:27:43 -08:00
Bass Jobsen 50c43bc55a Replace grunt-autoprefixer with grunt-postcss + autoprefixer
Closes #18068
2015-11-13 01:27:43 -08:00
Chris Rebert 25e42ade42 Add touch-action:manipulation on interactive elements to avoid 300ms click delay
Fixes #18044

[skip sauce]
[skip validator]
2015-11-13 01:07:18 -08:00
Chris Rebert 6d591edcb7 .dropdown-menu: Swap color and font-size property order to make SCSS Lint happy 2015-11-13 00:21:43 -08:00
Chris Rebert 2315bc6052 scss/_nav.scss: Remove trailing whitespace
[ci skip]
2015-11-13 00:20:03 -08:00
Chris Rebert 98ec749117 Swap margin-right and margin-left ordering in .dropdown-toggle::after to make SCSS Lint happy
[ci skip]
2015-11-13 00:19:19 -08:00
Chris Rebert 0cdb204867 scss/_card.scss: Remove trailing whitespace
[ci skip]
2015-11-13 00:17:25 -08:00
Mark Otto 763cec82fb Merge pull request #18089 from almirsarajcic/v4-dev
Rename .help-block to .text-help
2015-11-12 23:57:22 -08:00
Mark Otto 0aec084cae Merge pull request #18093 from AndersMad/patch-1
Card fix static -> variable border radius
2015-11-12 23:56:45 -08:00
Mark Otto cbb5e25482 Merge pull request #17939 from chrisbell08/#17895_alert_border_width
#17895 Added $alert-border-width that defaults to $border-width
2015-11-12 23:50:51 -08:00
Chris Rebert 5abd4e0142 Ports c256aca13c to v4
Refs #15947, #17542

[ci skip]
2015-11-12 23:47:13 -08:00
Chris Rebert 920f7fd695 Revert "Drop cursor pointer for button role"
This reverts commit 61067304cd.

The normalize.css pull request (https://github.com/necolas/normalize.css/pull/379 )
was REJECTED, *NOT* merged!
2015-11-12 23:44:29 -08:00
Mark Otto 73b02c833d Merge pull request #17954 from risan/patch-1
[V4] Fixes #17953: Add migration docs of .btn-default removal
2015-11-12 23:43:32 -08:00
Mark Otto f25d709025 Merge pull request #18061 from mathisonian/patch-1
remove bro from comment
2015-11-12 23:37:02 -08:00
Mark Otto 92cdb0b562 Merge pull request #17808 from alberto/fix-17781
fixes #17781: Add migration docs note that .control-label is gone in v4
2015-11-12 23:36:37 -08:00
Mark Otto 97b0d37732 space 2015-11-12 23:33:15 -08:00
Mark Otto d18cc5f77b Merge branch 'reboot-cursor' of https://github.com/flexbox/bootstrap into flexbox-reboot-cursor 2015-11-12 23:31:19 -08:00
Mark Otto d917f474f4 Merge pull request #17708 from biokillos/feature/add-variable-for-card-link-hover-state
Add variable for card-link hover state
2015-11-12 23:29:48 -08:00
Mark Otto 99219bac55 Merge pull request #17317 from dmbaughman/v4-media-breakpoint-between
v4 - Added  mixin to handle media queries that span multiple breakpoints
2015-11-12 23:27:16 -08:00
Mark Otto 6a526d4890 Merge pull request #17596 from neilhem/remove-fallback-colors
remove not used popover fallback variables
2015-11-12 23:23:53 -08:00
Mark Otto 1c9b773293 Merge pull request #17733 from chrisbell08/v4
Fix for Issue #17711 - Added clearfix mixin to the nav-pills class.
2015-11-12 23:20:35 -08:00
Mark Otto 11cc63b511 Merge pull request #17545 from rbrs/disable-autocomplete
v4 - disabled browser autocomplete on search input in docs
2015-11-12 23:17:22 -08:00
Mark Otto ffa3b7c296 grunt 2015-11-12 23:15:38 -08:00
Mark Otto 9f66e7309c fix broke shit, ugh my bad 2015-11-12 23:15:31 -08:00
Chris Rebert 7757c46853 README: Tweak tooling setup link
Fixup #17505
[skip sauce]
2015-11-12 22:53:25 -08:00
Chris Rebert 02e8517916 Merge pull request #17505 from hkdobrev/v4-bundle-instructions
Recommend using bundle for running docs locally
[skip sauce]
2015-11-12 22:50:47 -08:00
Mark Otto 114a2d913e Merge pull request #17467 from Corbzilla/v4-dev-remove-holderjs-docs
V4 remove holderjs references from carousel and card docs
2015-11-12 22:45:53 -08:00
Mark Otto 6fd1c80d37 Merge pull request #17153 from kkirsche/patch-17
v4 — Change .has-error to .has-danger for uniformity.
2015-11-12 22:20:07 -08:00
Mark Otto c1af4aa227 Merge pull request #17277 from kkirsche/patch-5
v4 — Use the body color for dropdown menu text in navbars
2015-11-12 22:17:02 -08:00
Mark Otto fd8cd7ea88 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-11-12 22:15:09 -08:00
O'meid 677b7bd1c0 scss: move Figures from _type to _images 2015-11-12 22:13:13 -08:00
Mark Otto f29eb4d213 Merge pull request #17241 from tagliala/font-size-sm-fix
v4: Change the default value of $font-size-sm to .875rem
2015-11-12 22:07:06 -08:00
Mark Otto 078c7cac8d manually pull in #17212 from @azmenak 2015-11-12 22:02:35 -08:00
Mark Otto edce1b509a Merge pull request #17204 from petetnt/petetnt/v4-dev-patch-2
modal.md - wrapped rows to a .container-fluid, added .bd-example-row...
2015-11-12 21:36:45 -08:00
Mark Otto c28c380dd5 Merge pull request #17138 from kkirsche/patch-11
Provide V4 JSBin template in CONTRIBUTING.md
2015-11-12 21:33:11 -08:00
Mark Otto 8d46755f99 Merge pull request #17137 from kkirsche/patch-10
v4: Dropdown caret is not horizontally alligned
2015-11-12 21:32:22 -08:00
Chris Rebert 87b11578c3 Merge pull request #18235 from twbs/fix-18230
Move [hidden] style from _utilities.scss to _reboot.scss
2015-11-12 19:21:40 -08:00
Chris Rebert be5e223177 Move [hidden] style from _utilities.scss to _reboot.scss; fixes #18230
[skip sauce]
2015-11-12 19:15:54 -08:00
Chris Rebert fcbf49ae0a Merge pull request #18109 from twbs/color-utils-important
Add !important to text and background color utility classes
2015-11-12 17:02:56 -08:00
Chris Rebert 4f49654196 Merge pull request #18033 from twbs/invisible-important
Add !important to .invisible (visibility:hidden) utility class
2015-11-12 17:02:10 -08:00
Chris Rebert 019069a8b3 Merge pull request #18032 from twbs/text-transform-important
Add !important to text transform utility classes
2015-11-12 17:01:40 -08:00
Chris Rebert 8e34b21dab Merge pull request #18229 from twbs/fix-18224
Exclude unnecessary old Node.js combos from Travis CI build matrix
2015-11-12 01:09:59 -08:00
Chris Rebert cfbf036e84 Exclude unnecessary old Node.js combos from Travis CI build matrix; fixes #18224 2015-11-12 00:58:16 -08:00
XhmikosR 7b19dfc06f Travis CI: Use Ruby 2.2.
Fixes #18225.

[skip sauce]
2015-11-12 09:18:34 +02:00
XhmikosR f1223195b3 Run grunt.
[ci skip]
2015-11-12 09:17:52 +02:00
XhmikosR 5a26a13868 Downgrade grunt-contrib-uglify to fix the comments issue.
Fixes #18224.

[sauce skip]
2015-11-12 09:17:26 +02:00
Chris Rebert f4147c4da9 Merge pull request #17652 from twbs/v4-dev-xmr-node-4
Travis CI: test against Node.js 4 & stable
2015-11-11 17:03:45 -08:00
Chris Rebert cfd9c30eed Merge pull request #18182 from twbs/img-fluid-doc
Add comments explaining why we don't make `<img>`s responsive by default
2015-11-10 23:28:02 -08:00
Chris Rebert 91005397b3 Merge pull request #18094 from twbs/util-resp-comment
scss/_utilities-responsive.scss: Fix outdated comment heading
2015-11-10 23:26:46 -08:00
XhmikosR bf92923e9f Travis CI: test against node.js "4" and "stable". 2015-11-11 09:02:18 +02:00
XhmikosR a291d79ecb Run grunt.
[ci skip]
2015-11-11 09:00:47 +02:00
XhmikosR a8c04056fc Update devDependencies.
[sauce skip]
2015-11-11 09:00:19 +02:00
Chris Rebert c831e83ec8 Merge pull request #18215 from twbs/hN-simplify
Consolidate redundant heading style declaration
2015-11-10 21:25:44 -08:00
Chris Rebert d8d709da1f Consolidate redundant heading style declaration
[skip sauce]
[skip validator]
2015-11-10 21:19:35 -08:00
Chris Rebert 1a0a2186b8 scss/_carousel.scss: Add missing backticks in comment
[ci skip]
2015-11-05 16:30:57 -08:00
Chris Rebert be1232c580 Add comments explaining why we don't make <img>s responsive by default
Refs #18178

[ci skip]
2015-11-05 13:18:42 -08:00
Chris Rebert 4d17a04a27 Merge pull request #18148 from jontewks/patch-2
Adds linting error for undefined variables
2015-11-04 00:15:05 -08:00
Mark Otto 083ef3fda2 Merge pull request #18149 from davidjb/html-order-navs
Reorder HTML attributes in Navs documentation
2015-11-03 20:20:09 -08:00
David\ Beitey 206472e1e1 Reorder attributes in Navs documentation
Attribute order now adheres to the Code Guide
(http://codeguide.co/#html-attribute-order).
2015-11-04 09:58:19 +10:00
Chris Rebert 33103c0b52 http://wkbug.com/146244 has been fixed in WebKit Nightly
See http://trac.webkit.org/changeset/191954
Refs #15968

[ci skip]
2015-11-03 15:13:34 -08:00
Jon Tewksbury 2d87ec9a64 Add eslint no-undef rule and resolve errors 2015-11-03 15:04:26 -08:00
Chris Rebert 36d20a8514 Merge pull request #18081 from twbs/ie9-click-comment
Give better description of IE9 transparent click bug & workaround
2015-11-03 12:19:34 -08:00
Bass Jobsen 0fdfde7709 Update _type.scss 2015-11-03 10:52:18 +01:00
Bass Jobsen f1c7c3f599 Update typography.md 2015-11-03 10:25:17 +01:00
Bass Jobsen bffd2905b9 refactor blockqoutes to to avoid tag selectors & child selectors css v4 2015-11-03 10:17:21 +01:00
Bass Jobsen 2c7bac8f4f Update typography.md 2015-11-03 01:57:37 +01:00
Bass Jobsen 63ea4a38f8 refactor list-inlineto toavoid tag selectors & child selectors 2015-11-03 01:53:28 +01:00
Mark Otto bfa392b097 Merge pull request #18105 from twbs/simpler-retina
Simplify .img-retina mixin and add explanatory comments
2015-11-01 21:40:21 -08:00
Mark Otto 18d6e1a648 Merge pull request #18108 from twbs/split-bg
Move .bg-* utility classes into separate file
2015-11-01 21:39:56 -08:00
Mark Otto e7b8dc0b92 Merge pull request #18116 from bassjobsen/patch-8
linking to the color scheme directly
2015-11-01 21:39:34 -08:00
Chris Rebert 6f14f02fc5 http://crbug.com/523282 has been fixed in Chrome Canary
Refs #17913
[ci skip]
2015-11-01 21:15:21 -08:00
Chris Rebert f2e337cbdc grunt dist 2015-11-01 20:56:47 -08:00
Chris Rebert 43b130022b scss/_progress.scss: Add comments for IE9 CSS hacks
[skip sauce]
[skip validator]
2015-10-31 14:37:22 -07:00
Chris Rebert 5f21aabaf7 Merge pull request #18106 from twbs/autoprefix-edge
Add MS Edge to Autoprefixer config
2015-10-31 14:35:17 -07:00
Bass Jobsen ec23ccf9d4 linking to the color scheme directly
Because of a color scheme has a color and background color.
2015-10-31 01:54:33 +01:00
Chris Rebert 4026b6f8d9 Port #18111 to v4
Add http://wkbug.com/150715 to Wall of Browser Bugs

[skip sauce]
[skip validator]
2015-10-30 01:32:56 -07:00
Chris Rebert 97d0827556 Docs: Make pagination <span> example live
[skip sauce]
2015-10-29 22:40:12 -07:00
Chris Rebert 1dc8583bc5 grunt dist 2015-10-29 22:08:31 -07:00
Chris Rebert 8bcf60148a Add !important to text and background color utility classes
[skip sauce]
[skip validator]
2015-10-29 21:40:42 -07:00
Chris Rebert 9d201a8ef2 Move .bg-* utility classes into separate file
[skip sauce]
[skip validator]
2015-10-29 21:37:28 -07:00
Chris Rebert 6e8f08dc67 Remove Less->SCSS converter comment left over from bootstrap-sass 2015-10-29 20:45:34 -07:00
Chris Rebert 5c1aa6a555 Add MS Edge to Autoprefixer config
[skip sauce]
[skip validator]
2015-10-29 17:52:18 -07:00
Chris Rebert e0aa54c684 Simplify .img-retina mixin and add explanatory comments
[skip sauce]
[skip validator]
2015-10-29 17:33:22 -07:00
Chris Rebert 4e90b944ea update shrinkwrap 2015-10-29 14:12:37 -07:00
Chris Rebert 22e01efcbd Merge pull request #18095 from twbs/document.head
Trivially simplify IE10 Mobile viewport bug workaround
2015-10-29 12:58:57 -07:00
Bass Jobsen 54335d513c cards mixins 2015-10-29 13:44:41 +01:00
Bass Jobsen 7b10659ec3 import cards mixins 2015-10-29 13:38:35 +01:00
Bass Jobsen 2e92360b8b add variant mixins 2015-10-29 13:34:41 +01:00
Chris Rebert 53dddc6ed4 Merge pull request #18086 from twbs/v4-dev-jekyll3
Update to Jekyll v3.0.0.
2015-10-29 00:34:52 -07:00
Chris Rebert 7d766e4a94 Yes, we still need this. Silly IE9 😢
See the IE9 note in https://developer.mozilla.org/en-US/docs/Web/CSS/%3Ahover#Browser_compatibility
The prereqs to trigger the bug are still present in v4.
/fyi @mdo

[skip sauce]
[skip validator]
2015-10-29 00:32:20 -07:00
XhmikosR f564c683f7 Update devDependencies.
[skip sauce]
2015-10-29 08:18:37 +02:00
XhmikosR 608dead1fe Update to Jekyll v3.0.0.
[skip sauce]
2015-10-29 08:12:33 +02:00
Chris Rebert ee34e924dd IE10 Mobile viewport bug workaround: document.querySelector('head') => document.head
Per http://caniuse.com/#feat=documenthead , document.head is supported in IE Mobile 10+,
so slightly simplify the JS accordingly.

[skip sauce]
2015-10-28 15:09:57 -07:00
Chris Rebert ab84c1554a scss/_utilities-responsive.scss: Fix outdated comment heading
[skip sauce]
[skip validator]
2015-10-28 14:35:18 -07:00
Chris Rebert 364925f951 Fix typos in comments 2015-10-28 14:33:48 -07:00
AndersMad 61e9a01a28 Card fix static -> variable border radius
Changed card border radius image caps to use variable rather than static values
2015-10-28 21:54:56 +01:00
Chris Rebert 543ce86568 Merge pull request #18091 from twbs/wkbug-149935-fixed
Remove http://wkbug.com/149935 from Wall of Browser Bugs
2015-10-28 13:04:19 -07:00
Chris Rebert 4c69af22fd Remove http://wkbug.com/149935 from Wall of Browser Bugs
It's been fixed in WebKit Nightly!
See https://trac.webkit.org/changeset/191623 and http://wkbug.com/149366
Refs #17438, #14237

[ci skip]
2015-10-28 13:03:40 -07:00
Almir Sarajcic 4264621cee Fix #17768 2015-10-28 16:27:55 +01:00
Chris Rebert fd39d91058 Give better description of IE9 transparent click bug & workaround
[skip sauce]
[skip validator]
2015-10-27 12:47:04 -07:00
Chris Rebert 726525c0cf mixins/_progress.scss: Note that 0\0 media query hack is for IE9
[skip sauce]
[skip validator]
2015-10-27 12:34:26 -07:00
XhmikosR ec0c83f76b Merge pull request #17919 from marciovicente/v4-dev
Adding autocomplete attribute in docs input search
2015-10-27 21:06:33 +02:00
Chris Rebert 5ee0d22856 Capitalize header cells in option and method tables of JS docs
[skip sauce]
2015-10-27 11:42:41 -07:00
Chris Rebert c3834b8d5a Merge pull request #18038 from twbs/fix-16947
Make heading class styles trump heading element styles
2015-10-27 09:38:20 -07:00
Mark Otto 368eda788d Merge pull request #17749 from Prelc/patch-1
Remove empty line from _grid.scss
2015-10-27 08:49:04 -07:00
Mark Otto 21689186ca Merge pull request #18077 from kkirsche/patch-6
Change "$use-hover..." to proper "$enable-hover..."
2015-10-27 08:36:01 -07:00
Kevin Kirsche 936a3d5b34 Change "$use-hover..." to proper "$enable-hover..."
Fix #18076
2015-10-27 09:40:23 -04:00
XhmikosR 3c24bd89f7 Merge pull request #18039 from twbs/type-headings-trivial
Trivially simplify heading margin-bottom declarations
2015-10-27 07:41:34 +02:00
XhmikosR 9dfb999fae Run grunt.
[ci skip]
2015-10-27 07:31:49 +02:00
Chris Rebert ee92e6d44d Merge pull request #18031 from twbs/fix-16836
Add !important to text alignment utility classes
2015-10-26 21:33:12 -07:00
Mark Otto ee64b79a0c Merge pull request #18011 from kkirsche/patch-6
Use the `border-radius` mixin for `.label-pill`
2015-10-26 21:13:15 -07:00
Chris Rebert d47c353554 Merge pull request #18069 from davidjb/patch-3
Minor grammar tidy-up on Utilities doc page
[skip]
2015-10-26 18:20:19 -07:00
David Beitey c88d40dc5c Minor wording tidy-up on Utilities doc page 2015-10-27 11:12:19 +10:00
Chris Rebert 152c491898 https://webkit.org/b/150271 has been fixed!
See http://trac.webkit.org/changeset/191610
Refs #17913
[ci skip]
2015-10-26 16:44:21 -07:00
XhmikosR 7a85751144 Remove html5shiv and respond.js from test files. 2015-10-26 23:57:19 +02:00
Chris Rebert aedf1f9ad9 Merge pull request #17804 from audionerd/patch-1
Update typography docs re: global vars
[skip sauce]
2015-10-26 14:37:00 -07:00
Chris Rebert 944dce1c62 Merge pull request #18055 from davidjb/patch-2
Use Jekyll configuration for blog/slack URLs
[skip sauce]
2015-10-26 14:36:21 -07:00
XhmikosR b0aa10219c Merge pull request #17494 from twbs/v4-dev-xmr-jquery-2.x
Switch to jQuery 2.x.x.
2015-10-26 23:26:02 +02:00
Matthew Conlen 94043ac71c remove bro from comment 2015-10-26 13:40:08 -04:00
David Beitey 1f379a12ca Use Jekyll configuration for blog/slack URLs
This reuses the existing URLs in the docs Jekyll configuration rather than hard coding.
2015-10-26 10:38:56 +10:00
Chris Rebert 2332a3f536 http://crbug.com/544290 was marked duplicate of http://crbug.com/523282
Refs #17913
[ci skip]
2015-10-25 16:33:39 -07:00
Chris Rebert e929001260 Merge pull request #18050 from tshinnic/v4_docs_navbar_scheme_name_typos_1
v4 docs Missed navbar color scheme name changes
2015-10-24 21:27:46 -07:00
Thomas Shinnick af83f80a9b v4 docs Missed navbar color scheme name changes
Change d6b6a20a0d missed two doc mentions
of the previous names when changing to new:
    .navbar-default  -->  .navbar-light
    .navbar-inverse  -->  .navbar-dark
2015-10-24 22:19:34 -05:00
Chris Rebert 50df64797c https://github.com/necolas/normalize.css/pull/379 was rejected
Refs #15947
Somehow c256aca13c got lost during the SCSS translation...

[skip sauce]
2015-10-24 20:05:25 -07:00
XhmikosR 154ed73181 Update devDependencies.
[validator skip]
[sauce skip]
2015-10-24 19:25:22 +03:00
XhmikosR 9eded912a0 Make jQuery 2.0 the minimum supported version. 2015-10-24 19:09:33 +03:00
XhmikosR a50849f61b Switch to jQuery 2.1.4.
Now that we don't support IE 8 it's safe to do that.
2015-10-24 19:09:33 +03:00
XhmikosR f24636279d Merge pull request #17751 from twbs/v4-dev-xmr-clipboardjs
Replace ZeroClipboard with clipboard.js.
2015-10-24 19:07:47 +03:00
XhmikosR 270c0b1470 Run grunt. 2015-10-24 19:02:32 +03:00
Zeno Rocha e4590aca61 Fix the remaining issues for the clipboard.js switch. 2015-10-24 19:01:03 +03:00
XhmikosR c343b9f59d Replace ZeroClipboard with clipboard.js.
Things left:
1. clear the selection after copy
2. add messages for success and error
2015-10-24 19:01:02 +03:00
Thomas Shinnick e544bf4cf8 Remove unnecessary .bd-popover class from docs
Also one spelling typo corrected.

Closes #18043
2015-10-23 23:20:43 -07:00
Chris Rebert 4461884f69 Rename docs-specific static tooltip/popover classes for clarity; refs #18043
[skip sauce]
2015-10-23 23:17:19 -07:00
Chris Rebert 25d724b279 _forms.scss: Copy over iOS <input> type compatibility note from v3
Refs b6e6a05b95
We ought to re-check this for iOS 9.1 at some point...

[skip sauce]
[skip validator]
2015-10-23 23:05:13 -07:00
Chris Rebert e2fd019ece Merge pull request #18042 from twbs/cdn-sri
Add SRI hashes to CDN links in docs
2015-10-23 22:41:10 -07:00
Chris Rebert 3bc5fb947d Port #17729 to v4: Add SRI hashes to CDN links in docs
[skip sauce]
2015-10-23 22:35:22 -07:00
Chris Rebert 5f30f2740b Trivially simplify heading margin-bottom declarations
[skip sauce]
[skip validator]
2015-10-23 19:23:06 -07:00
Chris Rebert deeb74e321 Make heading class styles trump heading element styles; fixes #16947
[skip sauce]
[skip validator]
2015-10-23 17:03:33 -07:00
Chris Rebert a30a5bb9b5 _grid.scss: Declare left margin before right margin for uniformity; refs #18036
[skip sauce]
[skip validator]
2015-10-23 15:58:10 -07:00
Chris Rebert aff3fce63b bootstrap.scss: Cleanup comments; refs #18036
[skip sauce]
[skip validator]
2015-10-23 15:39:07 -07:00
Chris Rebert e78cf3231c Add !important to .invisible (visibility:hidden) utility class
[skip sauce]
[skip validator]
2015-10-23 12:30:56 -07:00
Chris Rebert 62aecae328 Add !important to text transform utility classes 2015-10-23 12:26:31 -07:00
Chris Rebert 66039030e4 Add !important to text alignment utility classes
Refs #16836
[skip sauce]
[skip validator]
2015-10-23 12:25:03 -07:00
Chris Rebert 7e88a6a998 Merge pull request #18029 from twbs/fix-18026
Stop hardcoding grid tiers in flexbox alignment & ordering classes
2015-10-23 12:18:52 -07:00
Chris Rebert f730162072 Stop hardcoding grid tiers in flexbox alignment & ordering classes; fixes #18026
[skip sauce]
[skip validator]
2015-10-23 12:09:00 -07:00
Chris Rebert a19bcaef96 grunt dist 2015-10-23 12:06:24 -07:00
Chris Rebert 77f565a608 Merge pull request #18028 from twbs/fix-18027
Stop hardcoding grid breakpoints in responsive alignment utility classes
2015-10-23 11:55:42 -07:00
Chris Rebert d3cb2ca43c Stop hardcoding grid breakpoints in responsive alignment utility classes; fixes #18027
[skip sauce]
[skip validator]
2015-10-23 11:49:46 -07:00
Kevin Kirsche fbbadaff3c Use $enable-rounded for .label-pill
Fix #18002
2015-10-22 08:05:47 -04:00
Chris Rebert 807fb8847a Merge pull request #18013 from vsn4ik/rm_unused_sass_repo
v4 - Remove unused sass_repo variable
2015-10-21 14:47:02 -07:00
vsn4ik 84553c0779 Remove unused sass_repo variable 2015-10-22 00:01:14 +03:00
Chris Rebert 0ccac4a6e0 Fix Hound's JS config
Per https://github.com/twbs/bootstrap/pull/17997#discussion_r42564175 ; thanks @vsn4ik !
Refs #17769
/fyi @croaky

[ci skip]
2015-10-20 15:58:09 -07:00
Chris Rebert dd78e75991 docs/getting-started/javascript.md: Hyperlink preventDefault() mention
[skip sauce]
2015-10-19 23:45:26 -07:00
Chris Rebert 5b113b2c71 Anonymous table bug is still present in Safari 9.0, but should be fixed in the next version 2015-10-19 19:27:37 -07:00
Chris Rebert 058802d02b Merge pull request #17970 from hzoo/update-jscs
v4 - Update grunt-jscs to 2.1.0 to use JSCS 2.x
2015-10-19 13:13:21 -07:00
Chris Rebert 3f947357d4 Merge pull request #17980 from tshinnic/v4_docs_typos_1
Fix three small typos
2015-10-19 10:20:43 -07:00
Thomas Shinnick 5b71753763 Fix three small typos 2015-10-19 11:37:19 -05:00
Henry Zhu 8924b5044e update grunt-jscs to 2.1.0 to use jscs 2.x 2015-10-19 08:17:13 -04:00
Chris Rebert 1f4401fd10 Merge pull request #17955 from twbs/bug-wall-17913
Add #17913 to Wall of Browser Bugs
2015-10-17 00:40:54 -07:00
Chris Rebert 44fbe4282f Add #17913 to Wall of Browser Bugs
Refs https://code.google.com/p/chromium/issues/detail?id=544290
Refs https://bugs.webkit.org/show_bug.cgi?id=150271
Closes #17913
[ci skip]
2015-10-17 00:39:45 -07:00
Risan Bagja Pradana 081d5f9d7c [V4] Fixes #17953: Update migration docs of .btn-default replacement
[V4 Docs] Update migration docs to point out the .btn-default replacement.
2015-10-17 07:00:17 +02:00
Risan Bagja Pradana 2cc81a19e0 [V4] Fixes #17953: Add migration docs of .btn-default removal
V4 Docs - Updates to migration docs to pointed out the removal of .btn-default class and an addition of the new .btn-secondary class.
2015-10-17 06:35:27 +02:00
Supergibbs d0ebe80c3d Added nuspec files so MyGet can build and publish NuGet packages 2015-10-16 13:33:18 -07:00
Chris Rebert 54ff87adf3 Merge pull request #17949 from darkdiesel/v4-dev
Fix typo in docs for tooltips.
2015-10-16 10:56:57 -07:00
Peshkov, Igor 9598f98a48 Fix docs for tooltips. 2015-10-16 15:24:53 +03:00
Patrick H. Lauke df33a43bbd Merge pull request #17945 from patrickhlauke/docs-redundant-sr
Remove redundant `<span class="sr-only">...</span>` for close buttons
2015-10-16 09:50:18 +01:00
Supergibbs 470ec4cece Added NuGet version badge 2015-10-15 17:09:32 -07:00
Patrick H. Lauke 68189e2269 Add "keyboard users" to heading for sr-only-focusable 2015-10-16 00:57:49 +01:00
Patrick H. Lauke 9302fd4fd4 Remove redundant .sr-only text for Close buttons
Since `aria-label` is used, it's not necessary anymore.
2015-10-16 00:56:59 +01:00
Chris Bell be1bb9ec3e #17895 Added $alert-border-width that defaults to $border-width 2015-10-15 15:57:15 +01:00
Catalin Zalog fec2a1d10f v4 - .c-select on background inherits white
This:
```
<div class="bg-info">
	<select class="c-select">
		<option selected>Open this select menu</option>
		<option value="1">One</option>
		<option value="2">Two</option>
		<option value="3">Three</option>
	</select>
</div>
```
render this:
http://s.zalog.ro/2015-10-14-19-45-11.png
2015-10-14 19:50:03 +03:00
Marcio Vicente c46d1d65f1 Adding autocomplete attribute in docs input search 2015-10-13 22:56:54 -03:00
XhmikosR 724bf86288 Run grunt.
[ci skip]
2015-10-14 00:49:31 +03:00
XhmikosR fe0ad82159 Update devDependencies. 2015-10-14 00:49:05 +03:00
XhmikosR 7e418d1bba Update gems.
[skip validator]
[skip sauce]
2015-10-14 00:45:14 +03:00
Marko Prelec d5e47c57f1 Extract list-unstyled mixin; closes #17792
/fyi @mdo
2015-10-13 01:24:11 -07:00
Mark Otto 8cb00d6420 Merge pull request #17701 from lesleh/patch-1
Reset iOS rounded inputs
2015-10-13 00:34:15 -07:00
Mark Otto ee4a7f384e Merge pull request #17817 from kkirsche/patch-29
Remove double bottom border on sub header in dashboard example
2015-10-13 00:32:10 -07:00
Mark Otto abe9922fc7 Merge pull request #17896 from twbs/text-capitalize-doc
Tweak .text-capitalize example to show what happens to interior capital letters
2015-10-13 00:31:27 -07:00
Mark Otto 9a2cd376c8 Merge pull request #17903 from twbs/card-border-radius-default
Make $card-border-radius default to $border-radius
2015-10-13 00:31:03 -07:00
Mark Otto ffc38b3376 Merge pull request #17900 from kkirsche/patch-34
Use .blockquote class in V4 examples page
2015-10-13 00:30:49 -07:00
Chris Rebert 96f21a804b Merge pull request #17906 from twbs/wkbug-150079
Add Wall of Browser Bugs entry for #14975
2015-10-12 19:12:24 -07:00
Chris Rebert 9a3d72f659 Add Wall of Browser Bugs entry for #14975
See https://bugs.webkit.org/show_bug.cgi?id=150079
Closes #14975
[ci skip]
2015-10-12 19:11:30 -07:00
Chris Rebert 2feaf0a27c Make $card-border-radius default to $border-radius
They already share the same value (`.25rem`)
Refs #17597
[skip sauce]
2015-10-12 16:32:15 -07:00
Chris Rebert e24f10e0d8 Merge pull request #17902 from twbs/wkbug-138167-fixed
Remove #9774's entry from Wall of Browser Bugs
2015-10-12 16:22:57 -07:00
Chris Rebert 5a1bfc0655 http://wkbug.com/138167 has been fixed!
See http://trac.webkit.org/changeset/190893
Refs #9774, #14907
[ci skip]
2015-10-12 16:20:53 -07:00
Kevin Kirsche a05008cb09 Use .blockquote class in V4 examples page
Fix #17888
2015-10-12 16:56:01 -04:00
Chris Rebert 684300058e Tweak .text-capitalize example to show what happens to interior capital letters; refs #17893
[ci skip]
2015-10-12 11:18:11 -07:00
Chris Rebert ba16aa44d0 Mention ScrollPos-Styler in the migration docs; closes #17819 2015-10-11 15:32:53 -07:00
Chris Rebert b301129f02 Add docs for #17710 2015-10-11 15:20:12 -07:00
Johann-S 817d997b75 Use Page Visibility API in Carousel; fixes #17706
Avoids cycling carousels when the page isn't visible.
Closes #17710
Refs #15566
2015-10-11 15:10:49 -07:00
Chris Rebert 9b12e5f495 docs/examples/cover/cover.css: Fix "inheritence" typo 2015-10-11 12:42:35 -07:00
Chris Rebert 977365f6f9 Merge pull request #17881 from twbs/wkbug-149935
Add Wall of Browser Bugs entry for Safari related to #17438 / #14237
2015-10-10 17:02:58 -07:00
Chris Rebert bac1eb9ca5 Add Wall of Browser Bugs entry for Safari related to #17438 / #14237
https://bugs.webkit.org/show_bug.cgi?id=149935
[skip sauce]
2015-10-10 16:57:30 -07:00
Chris Rebert 313635350a Remove em media queries note in Migration docs; no longer accurate as of #17403
[ci skip]
2015-10-10 15:36:07 -07:00
Chris Rebert b74536fa8c grunt dist 2015-10-09 21:03:57 -07:00
Patrick H. Lauke c989fcc857 Merge pull request #17875 from patrickhlauke/v4-ios-viewport-tweak2
Add shrink-to-fit to getting started
2015-10-09 21:03:58 +01:00
Patrick H. Lauke 6ebd6c4aab Add shrink-to-fit to getting started
See https://github.com/twbs/bootstrap/pull/17793#issuecomment-146960473
2015-10-09 21:01:21 +01:00
Chris Rebert 93e56a0c64 Merge pull request #17775 from twbs/font-migration
Add Glyphicons migration guidance
[skip sauce]
2015-10-08 19:51:18 -07:00
Chris Rebert 04ba9f3cb4 Merge pull request #17820 from twbs/chrome-bug-534750
Add Wall of Browser Bugs entry for #17438 / #14237
2015-10-08 13:49:41 -07:00
Chris Rebert 7777b240bf Add Wall of Browser Bugs entry for #17438 / #14237
https://code.google.com/p/chromium/issues/detail?id=534750
Closes #17438
Closes #14237
[skip sauce]
2015-10-08 13:45:19 -07:00
Chris Rebert a180a3362a Move border-radius mixin from scss/_mixins.scss to scss/mixins/_border-radius.scss
Reunites the family.
Closes #17791
2015-10-08 08:56:13 -04:00
Kevin Kirsche 5858b3fc9d Remove double bottom border on sub header
The table includes a border between the two making this unnecessary
2015-10-08 08:43:45 -04:00
alberto e0bf6d87cb fixes #17781: Add migration docs note that .control-label is gone in v4 2015-10-07 23:35:37 +02:00
Chris Rebert 3137eec370 Move border-radius mixin from scss/_mixins.scss to scss/mixins/_border-radius.scss
Reunites the family.
Closes #17791
2015-10-07 00:07:48 -07:00
Chris Rebert 781916cab6 browsers-devices.md: Tweak indentation in IE9 table
[skip sauce]
2015-10-06 22:57:11 -07:00
Chris Rebert b6d70bb017 Getting Started docs: Add MDN links for features not supported in IE9
[skip sauce]
2015-10-06 21:00:03 -07:00
Chris Rebert f62a1518a1 Merge pull request #17803 from a-moses/patch-1
IE 9 not supported list - flexbox
2015-10-06 20:54:57 -07:00
Eric Skogen 90388f4e49 Update typography.md re: where to find global vars
Docs should indicate that `_reboot.scss` uses the variables, but to see their values users would look in `_variables.scss`.
2015-10-06 20:39:55 -05:00
a-moses d22c0176a9 IE 9 not supported list v4 flexbox
add flexbox to the not supported list 

https://github.com/twbs/bootstrap/issues/17802
2015-10-07 03:04:20 +03:00
Patrick H. Lauke 2db8b5f36d Merge pull request #17793 from patrickhlauke/v4-ios-viewport-tweak
Add shrink-to-fit viewport directive (fixes potential iOS9 issues)
2015-10-06 12:41:37 +01:00
Patrick H. Lauke 872eadeb99 Add shrink-to-fit viewport directive
Fixes potential problems with iOS9's new viewport behavior - see for
instance https://forums.developer.apple.com/thread/13510
2015-10-06 12:35:39 +01:00
Chris Rebert 8b4925f0d8 Add Glyphicons migration guidance
[skip sauce]
2015-10-04 11:10:11 -07:00
Chris Rebert d53943d858 Merge pull request #17769 from croaky/hound
Add SCSS configuration for Hound
2015-10-04 10:58:02 -07:00
Dan Croak a7b37dc08d Add SCSS configuration for Hound
This change uses Bootstrap's existing `scss/.scss-lint.yml` file
to configure Hound's hosted SCSS-Lint instance.

On each pull request to Bootstrap,
Hound will comment on any SCSS style violations in-line, like this:

![screenshot](https://images.thoughtbot.com/hound/scss-example.png)

If you update the pull request to adopt a suggestion,
the comment will be hidden.

It leaves the existing linting done by Grunt + Travis.

Hound is free for open source projects
and is open source itself:

https://github.com/thoughtbot/hound
2015-10-03 22:39:20 -07:00
Chris Rebert 10f6e97ec2 Merge pull request #17616 from Johann-S/ThrowError
Fix #17612: Throw explicit error when a nonexistent method is invoked
2015-10-02 01:18:16 -07:00
Johann-S 21a65f181e Add throw error for undefined method on plugins 2015-10-02 10:01:24 +02:00
Chris Rebert a89bfc6525 Port #17753 to v4
Remove http://bugzil.la/1048279 entry from Wall of Browser Bugs
https://bugzilla.mozilla.org/show_bug.cgi?id=1048279 has been closed as WONTFIX.
Refs #14124.
[skip sauce]
2015-10-01 10:47:57 -07:00
Chris Rebert a599eec822 Port #16994 to v4
[skip sauce]
2015-10-01 10:39:41 -07:00
Chris Rebert 472cb85b82 Merge pull request #17270 from jdanyow/patch-1
Update jspm package configuration
2015-10-01 10:30:56 -07:00
Marko Prelec 12c53ff609 Update _grid.scss
Removed empty row.
2015-10-01 14:33:10 +02:00
XhmikosR f66d1631f5 Merge pull request #17662 from twbs/v4-dev-xmr-rm-tooltip-example
Make the tooltip-viewport example work
2015-10-01 08:45:26 +03:00
XhmikosR d50e4a7274 Make tooltip-viewport example work.
[ci skip]
2015-10-01 08:34:14 +03:00
Chris Rebert 6afd695159 Copy ecc35ae over to v4 2015-09-30 22:26:23 -07:00
Chris Rebert ae6fffb491 Merge pull request #17746 from Liamraystanley/patch-1
Remove random trailing less-than symbol
2015-09-30 21:46:59 -07:00
Liam Stanley ed9a011a88 Remove random trailing less-than symbol 2015-10-01 00:05:07 -04:00
Chris Rebert 2872ae5de1 Merge pull request #17737 from nextgenthemes/v4-dev
Rename .scsslint.yml to .scss-lint.yml
2015-09-29 16:15:49 -07:00
nextgenthemes f7f29645a6 Rename .scsslint.yml to .scss-lint.yml 2015-09-30 00:50:45 +02:00
nextgenthemes f80fdf2da5 add dash to .scsslint.yml 2015-09-30 00:48:56 +02:00
Chris Bell 67665241fa Removed trailing whitespace 2015-09-29 20:55:30 +01:00
Chris Bell 49379fd5f7 Fix for Issue #17711 - Added clearfix mixin to the nav-pills class. 2015-09-29 16:13:02 +01:00
Chris Rebert 9f95b592ce Merge pull request #17727 from tomkel/docs-fade-fix-v4
v4-dev - Clarify the purpose of CSS class .in to .fade
[skip sauce]
2015-09-28 14:37:06 -07:00
Tommy Kelly 808fb03cf7 Clarify the purpose of CSS class .in to .fade 2015-09-28 16:59:21 -04:00
Chris Rebert 215d4c19f7 Merge pull request #17725 from twbs/curly-quotes
Use backticks/<code> for JS snippets in docs headings
2015-09-28 12:30:03 -07:00
Chris Rebert a9f24fc59f Use backticks/<code> for JS snippets in docs headings; closes #17192
[skip sauce]
2015-09-28 12:24:41 -07:00
Mark Otto fabba295c3 Merge pull request #17626 from wolfika/v4-dev
Add <h3> header example to Cards docs
2015-09-27 23:01:28 -07:00
Mark Otto 0240136e01 Merge pull request #17403 from twbs/use-px-for-window-sizes
Change grid and container sizes to px
2015-09-27 22:58:45 -07:00
Chris Rebert a9a2912877 Merge pull request #17716 from michael-k/placeholder
Filled leftover placeholder in docs
2015-09-27 12:53:15 -07:00
Michael Käufl b7bdde3d4c Filled leftover placeholder 2015-09-27 17:32:06 +02:00
Gleb Mazovetskiy eabed0edf8 Change grid and container sizes to px
Changes grid and container sizes to `px`, as the
viewport pixel size does not depend on the font size.

The actual em values were inconsistent with the docs,
while the docs were not the same as the comments:

* `sm` breakpoint was 34em (544px) not 480px.
* `lg` container max-width was 60rem (960px), less gutter than `md`.
  Changed to 940px, same as Bootstrap 3.
* `xl` container max-width was 72.25rem which is 1140px not 1156px.
  Changed to 1140px matching the comment but not the docs.

Addresses #17070 and #17388.
2015-09-27 14:39:17 +01:00
Chris Rebert 3497d9937a Merge pull request #17713 from twbs/chrome-meta-v4
Port #17712 over to Bootstrap v4
2015-09-27 01:33:02 -07:00
Chris Rebert ff2f9cd36c Port #17712 over to Bootstrap v4
[skip sauce]
2015-09-27 01:28:40 -07:00
Chris Rebert ef5cc0bfa9 Merge pull request #17689 from twbs/fix-17169-more
Docs: Clarify [hidden] & .hidden
2015-09-27 00:34:12 -07:00
Chris Rebert eab8907006 Merge pull request #17707 from alberto/docs-contributing-normalize-issues
Docs: Fix typo in contributing regarding normalize.css
[ci skip]
2015-09-26 11:06:40 -07:00
Andrey 55994f3274 Add variable for card-link hover state 2015-09-26 14:57:13 +02:00
alberto bb859c2173 Docs: Fix typo in contributing regarding normalize.css 2015-09-26 01:44:31 +02:00
Chris Rebert 172bba0222 Merge pull request #17704 from twbs/htmllint-travis-only
Only run htmllint on Travis
2015-09-25 15:57:44 -07:00
Chris Rebert c8cc0a7f9a Update shrinkwrap 2015-09-25 15:34:55 -07:00
Chris Rebert 74cc05c032 Only run htmllint on Travis
So as to avoid any dependence on Java for normal users of the Gruntfile.

[skip sauce]
2015-09-25 15:34:31 -07:00
Chris Rebert 2a1597af5d Migration docs: capitalization; hyperlink Less and SCSS
[ci skip]
2015-09-25 14:56:40 -07:00
Johann-S 5a15971920 Use correct default value of constraints in Tooltip docs; fixes #17671
Closes #17699
2015-09-25 14:25:08 -07:00
XhmikosR 4cee3fd5d9 Update scsslint gem to v0.42.1.
[skip sauce]
[skip validator]
2015-09-25 21:54:10 +03:00
Leslie b13ef4a3d2 Reset iOS rounded inputs
They can be rounded later on if $enable-rounded: true.
2015-09-25 14:19:28 +01:00
Chris Rebert c240dd3549 Merge pull request #17688 from twbs/fix-17552
Travis: install npm dependencies using shrinkwrap
2015-09-24 20:20:18 -07:00
XhmikosR 22c8c1e887 Specify root: true for ESLint.
That way, ESLint won't look in parent dirs for configuration files.
2015-09-24 20:24:38 +03:00
Chris Rebert 7d712bb4a5 Travis: install npm dependencies using shrinkwrap; fixes #17552 2015-09-23 23:26:23 -07:00
Chris Rebert f22f7beead Move {test-infra=>grunt}/npm-shrinkwrap.json 2015-09-23 23:26:23 -07:00
XhmikosR ca5c2457ee Merge pull request #17646 from twbs/v4-dev-xmr-deps
Update devDependencies.
2015-09-24 09:21:53 +03:00
XhmikosR 6f8a94b7f5 Merge pull request #17687 from twbs/v4-dev-xmr-gems
Update Rubygems.
2015-09-24 09:20:01 +03:00
Chris Rebert c91e4f5162 Clarify [hidden] attr docs; closes #17169
[ci skip]
2015-09-23 18:58:40 -07:00
Chris Rebert 6f025183d5 Move v3 .hidden note into Migration docs 2015-09-23 18:32:10 -07:00
XhmikosR c9a72a7d71 Update Rubygems.
[skip sauce]
2015-09-24 00:39:48 +03:00
XhmikosR b93c16341d Run grunt. 2015-09-23 09:39:13 +03:00
XhmikosR 6f9b0ba6ce Update devDependencies. 2015-09-23 09:39:11 +03:00
Mark Otto eefd1a959e Merge pull request #17682 from Xerkus/feature/card-bg-variable
[V4]Add variable for card background color
2015-09-22 20:09:47 -07:00
Aleksey Khudyakov 7ad9d233f2 Add variable for card background color 2015-09-23 09:40:34 +10:00
Daniel Opitz 835e2a7fbe Update StackOverflow tag to bootstrap-4; closes #17675 2015-09-22 15:38:24 -07:00
Mark Otto 918d0c7122 Merge pull request #17589 from vsn4ik/use_scss_if_not
v4 - Use "@if not $bool" expression
2015-09-22 15:26:28 -07:00
Chris Rebert c21679ceeb Merge pull request #17670 from petetnt/petetnt/docs-fix-2
Rename placeholders in forms.md according to the classes specified
2015-09-22 02:30:30 -07:00
petetnt c0b5aba3fc Rename placeholders according to the classes specified 2015-09-22 11:31:04 +03:00
Haralan Dobrev 4b1c2c3d92 Recommend using bundle for running docs locally
Closes https://github.com/twbs/bootstrap/issues/17493
2015-09-21 17:38:08 +01:00
Chris Rebert 81435adff8 Merge pull request #17655 from zalog/patch-10
_alert.scss: add missing space between arguments
2015-09-20 16:38:26 -07:00
Catalin Zalog c72a76e1fd Just some spaces... 2015-09-21 01:07:48 +03:00
XhmikosR a503474645 Remove unneeded trailing whitespace.
[ci skip]
2015-09-20 19:04:54 +03:00
Mark Otto 64cdb791df Merge pull request #17522 from twbs/v4-dev-xmr-ie9-gradient
docs: IE9 gradient.
2015-09-19 12:07:01 -07:00
XhmikosR 7399607a03 Specify a filter gradient for IE 9. 2015-09-19 09:41:25 +03:00
XhmikosR 2c7e65a680 Use the individual background properties instead of the shorthand.
[ci skip]
2015-09-19 09:41:25 +03:00
wolfika e305455ef0 Add <h3> header example to Cards docs
resolves #17609
2015-09-16 21:28:04 +02:00
Chris Rebert 62199b96dc Merge pull request #17613 from Johann-S/fixTooltipDestroy
Fix #17544: Update doc for tooltips and popover about dispose method
2015-09-16 11:41:28 -07:00
Johann-S c9597b1c54 Fix doc for tooltips and popover method dispose 2015-09-16 09:40:26 +02:00
Mark Otto c34fdd415e grunt 2015-09-15 21:11:19 -07:00
Mark Otto 85f08df3b0 fixes border-width issues when customizing font-size by using 1px instead of .0625rem as default -width 2015-09-15 21:11:15 -07:00
Chris Rebert 3c4b61583f Merge pull request #17608 from rtack/patch-1
grammar. you're your way --> you're on your way
2015-09-15 13:50:16 -07:00
Raphael Ackermann cf965734cd grammar. you're your way --> you're on your way 2015-09-15 22:41:08 +02:00
Rakhat Jabagin 73b056ae50 remove not used popover fallback variables 2015-09-14 14:37:47 +06:00
vsn4ik d73d79a7a0 Use "@if not $bool" selector 2015-09-13 16:02:58 +03:00
Mark Otto 87308ba2f6 Merge pull request #17576 from zacechola/install_docs
Adds current version to packages.
2015-09-12 12:41:22 -07:00
Mark Otto 339130c040 fixes #17583: only include clearfix on make-container mixin when not in flex mode 2015-09-12 12:30:57 -07:00
Zac Echola 2c81a2eb0f Adds current version to packages. 2015-09-11 14:15:31 -05:00
Gleb Mazovetskiy b811f8cf96 Merge pull request #17549 from davidjb/v4-dev-bundle-ignore
Add `vendor/bundle` to gitignore
2015-09-10 19:52:30 +01:00
Mark Otto 9f594cfe59 Merge pull request #17553 from rbrs/form-inline
v4 - fixed incorrect inline form class in docs
2015-09-10 08:49:29 -07:00
Mark Otto c9dc0b9228 Merge pull request #17558 from gjsduarte/v4-dev
Border width variable in list group items
2015-09-10 08:48:45 -07:00
Guilherme Duarte df040671bb Border width variable in list group items
Added usage of $border-width variable in all _list-group.scss references
2015-09-10 14:16:23 +02:00
Rolandas Barysas 99aadb92f8 v4 - fixed incorrect inline form class in docs 2015-09-10 10:46:26 +03:00
Chris Rebert 4ee6d99c9d Merge pull request #17551 from twbs/env-vars
Remove Travis env vars used for defunct custom caching system
2015-09-09 23:04:40 -07:00
Chris Rebert b14eef054c rm Travis env vars used for defunct custom caching system
Reverts part of 42697a4ecb
2015-09-09 22:48:29 -07:00
Chris Rebert 67852107d9 rm Travis env vars for giving Savage access to defunct custom caching system
Reverts a1c170ed37
2015-09-09 22:40:48 -07:00
David\ Beitey c000d1f053 Add vendor/bundle to gitignore
Ensure this directory is ignored so that any installed resources from
Bundler aren't handled by Git.
2015-09-10 15:20:36 +10:00
Rolandas Barysas 253740eab5 disabled browser autocomplete on search input in docs 2015-09-09 21:52:16 +03:00
David Leuliette 61067304cd Drop cursor pointer for button role 2015-09-09 17:14:34 +02:00
XhmikosR a91d267a21 Merge pull request #17519 from twbs/v4-dev-xmr-jekyll-sitemap
Use jekyll-sitemap instead of our custom solution.
2015-09-09 09:44:40 +03:00
XhmikosR d84c15f1d0 Merge pull request #17520 from davidjb/v4-dev-relative-grunt
Specify configBridge as relative path to source for Jekyll
2015-09-09 09:44:09 +03:00
Jesse Mandel f5ab82c7eb Added NuGet install instructions to docs
Closes #17214.
2015-09-08 16:44:21 -07:00
Chris Rebert 64301a1e4c README: Update version number in download link
[ci skip]
2015-09-08 01:57:19 -07:00
Chris Rebert 21dadc870a Merge pull request #17521 from vsn4ik/rm_v3_theme
v4 - Remove dropped v3 bootstrap-theme
2015-09-07 23:20:16 -07:00
vsn4ik d99bc3fe62 Remove dropped v3 bootstrap-theme
[ci skip]
2015-09-08 08:58:03 +03:00
XhmikosR 0113ecc6c4 Use jekyll-sitemap instead of our custom solution. 2015-09-08 08:18:52 +03:00
XhmikosR 36e4c9bffc Add missing end of file newlines.
[ci skip]
2015-09-08 08:16:54 +03:00
David\ Beitey 7a2fa5e60a Specify configBridge as relative path to source
This adjusts the load path for the ``configBridge.json`` file from one
that's relative to the user running the command (eg ``jekyll serve``),
to one that's relative to the ``source`` configuration setting for
Jekyll.

The result is that the user can now have a (customised) ``_config.yml``
for Jekyll anywhere on her filesystem and point to Bootstrap's
``docs`` directory to use as the ``source``.  Previously, in order to
customise it, the original ``_config.yml`` needed to be modified inside
(a forked) Bootstrap, and the ``jekyll`` command could only be run at
the root of the Bootstrap package as the original file path to
``configBridge.json`` was only valid there.

The existing behaviour is not affected.
2015-09-08 14:36:00 +10:00
XhmikosR 8cea452e12 Merge pull request #17518 from twbs/v4-dev-xmr-rm-test-infra
Remove the now unused test-infra files.
2015-09-08 07:24:50 +03:00
XhmikosR fd00c178c3 Remove the now unused test-infra files. 2015-09-08 07:14:14 +03:00
Corbzilla 2dce4740cf Add JS to fix indeterminate checkbox example in docs
Fixes #17196
Closes #17510
2015-09-07 13:41:45 -07:00
Patrick H. Lauke 9a61cfb3d1 Merge pull request #17509 from Zearin/v4-dev-DOCS
Fix usage of “its” and “it’s” (v4 docs)
2015-09-07 16:57:59 +02:00
Zearin 8e29c43c46 Fix usage of “its” and “it’s” 2015-09-07 10:07:35 -04:00
Mark Otto ec5b8eaa90 Merge pull request #17500 from mauricew/v4-dev-examplefixes
v4 Fixes to examples
2015-09-06 16:25:38 -07:00
Maurice Wahba 5c4fa4f0f6 Fixes to examples 2015-09-06 18:01:41 -04:00
Chris Rebert efac54c2a4 Merge pull request #17495 from vsn4ik/mv_text_hide
v4 - Rename file with text-hide mixin
2015-09-06 14:03:10 -07:00
XhmikosR 85ab83136e Add missing jQuery local fallback.
[ci skip]
2015-09-06 20:34:35 +03:00
XhmikosR 55258e9923 Use jQuery 1.11.3 everywhere.
[ci skip]
2015-09-06 20:32:40 +03:00
Mark Otto dee38e33b5 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-09-06 09:36:40 -07:00
Mark Otto 0d0edebea6 grunt 2015-09-06 09:36:24 -07:00
Mark Otto 741f7d4b5a Fixes #17486: start work on responsive cards for decks, groups, and columns 2015-09-06 09:36:19 -07:00
Thomas McDonald 1ebf852236 Merge pull request #17491 from twbs/v4-dev-xmr-travis-no-gem-install
Remove `gem install scss_lint` from Travis.
2015-09-06 09:09:43 -07:00
vsn4ik de44d2a3dd Rename file with text-hide mixin 2015-09-06 14:40:19 +03:00
XhmikosR dde20e9345 Merge pull request #17492 from twbs/v4-dev-xmr-docs-js
Clean up inclusion of IE-specific JS files.
2015-09-06 14:31:07 +03:00
XhmikosR 87a3fdd1b7 Clean up inclusion of IE-specific JS files.
Move them to footer, and remove duplicate ones.

[ci skip]
2015-09-06 13:33:52 +03:00
XhmikosR f14113133d Remove gem install scss_lint from Travis.
Instead, use `bundleExec: true` for grunt-scss-lint.
2015-09-06 12:28:35 +03:00
Mark Otto 8f16abb669 grunt 2015-09-05 20:58:31 -07:00
Mark Otto 584cfdd72b Fixes #17230: Renames .navbar-static-top to .navbar-full and adds docs for it 2015-09-05 20:58:28 -07:00
Mark Otto 180f97d7b2 grunt 2015-09-05 20:56:46 -07:00
Mark Otto c0b5f71874 remoe comment /cc @cvrebert 2015-09-05 20:54:25 -07:00
Patrick H. Lauke e859b4b216 Merge pull request #17477 from patrickhlauke/v4-skippy
Port skiplink styling from v3 to v4
2015-09-05 18:37:27 +02:00
XhmikosR fec2cedfd4 Merge pull request #17369 from twbs/v4-dev-xmr-docs-img
Compress images.
2015-09-05 17:17:00 +03:00
Gleb Mazovetskiy 79aebf6c1d Merge pull request #17364 from twbs/avoid-parent-selector-suffix2
Remove all uses of `selector &` to support nested import
2015-09-05 10:14:59 +01:00
Patrick H. Lauke 6a37ec3767 Port skiplink styling from v3 to v4 2015-09-05 08:56:47 +01:00
Mark Otto 336bfa41e6 Merge pull request #17404 from vincent4j/patch-1
add Chinese translations website boot4.com
2015-09-04 23:39:45 -07:00
XhmikosR 380e200523 Merge pull request #17436 from twbs/v4-dev-xmr-deps
Update dependecies.
2015-09-05 08:19:35 +03:00
XhmikosR f0840c893b Run grunt. 2015-09-05 08:13:43 +03:00
XhmikosR a3d0a2c045 Update htmllint rules for the new version. 2015-09-05 08:13:43 +03:00
XhmikosR db86b0ff17 Update devDependencies. 2015-09-05 08:13:43 +03:00
XhmikosR 07286c98a9 Merge pull request #17373 from twbs/v4-dev-xmr-holderjs
Update Holder.js to v2.8.2.
2015-09-05 07:53:26 +03:00
XhmikosR 1ba807f15d Update Holder.js to v2.8.2.
[ci skip]
2015-09-05 07:51:14 +03:00
Mark Otto cab79b13ca grunt 2015-09-04 21:28:06 -07:00
Mark Otto b8c77aaf3b float the breadcrumb items to deal with that pesky inline-block madness 2015-09-04 21:28:01 -07:00
Mark Otto dd5e096f4e clean up nav.yml, nullifies #17470 2015-09-04 20:31:17 -07:00
Corbzilla 1f31077122 removes holder.js references from example docs 2015-09-03 18:54:01 +00:00
Mark Otto 1a6aad4548 only apply border radius mixins if rounded corners are enabled; alternate fix to #17426 2015-09-03 09:04:51 -07:00
muzige2000 3af4560c67 Modals: Fix bad paddingRight calculation; fixes #17399
We want to sum two numbers, not concatenate their stringifications.
Closes #17457 by merging a tweaked version of it.
2015-09-03 01:25:38 -07:00
Chris Rebert 1872aeba79 Merge pull request #17456 from davidjb/v4-img-responsive
Document migration for img-responsive to img-fluid
2015-09-03 01:17:30 -07:00
David\ Beitey 047fe5699c Document img-responsive to img-fluid change from #17166 2015-09-03 17:37:54 +10:00
David\ Beitey 3c86d7f00c Document btn-info-outline as an example 2015-09-03 17:37:54 +10:00
Chris Rebert 562e6257b5 Merge pull request #17451 from vsn4ik/rm_form_horizontal
Remove dropped form-horizontal from forms.md
2015-09-02 22:46:01 -07:00
vsn4ik 88d004f6e1 Remove dropped form-horizontal from forms.md 2015-09-03 07:48:15 +03:00
Mark Otto 3df8ded19c Merge pull request #17448 from lukeb-uk/navbar_toggleable_md
Add .navbar-toggleable-md class
2015-09-02 18:00:49 -07:00
Luke Bonaccorsi 319009a72b Added .navbar-toggleable-md class
In Bootstrap 3, the menu collapsed on the -sm- breakpoint, I believe the equivalent of this breakpoint in Bootstrap 4 is actually the -md- breakpoint. The navbar currently has no option to collapse at the -md- breakpoint and I'd like to add this.
2015-09-02 22:08:52 +01:00
Chris Rebert d13c4b35d4 Merge pull request #17447 from Stavrus/sass-license-header
Add a license header to bootstrap.scss
2015-09-02 13:09:14 -07:00
Xavier Gallardo 750656fc9c Add a license header to bootstrap.scss 2015-09-02 15:08:21 -04:00
David Baughman b1fa07b1f7 Adding new line to end of file 2015-09-02 10:09:55 -07:00
Mark Otto e0a2b9ed4c fixes #17441 2015-09-02 09:35:43 -07:00
Mark Otto 5fc4b35349 Merge pull request #17168 from kkirsche/patch-19
v4 - Rename .img-responsive class to .img-fluid
2015-09-02 00:33:26 -07:00
Mark Otto 0c0f675b94 Merge pull request #17183 from kkirsche/patch-26
v4 - Fix Navbar at top of v4 Offcanvas example
2015-09-02 00:33:12 -07:00
Mark Otto d4467837b8 Merge pull request #17435 from twbs/v4-dev-xmr-anchors
Fix missing anchors and 404 errors.
2015-09-02 00:32:37 -07:00
Mark Otto 8e74675c16 Merge pull request #17320 from EspadaV8/form-doc-control-label
Replace instances of 'control-label' with 'form-control-label'
2015-09-02 00:30:42 -07:00
XhmikosR 19e5cf226d Fix missing anchors and 404 errors.
[skip sauce]
2015-09-02 09:37:38 +03:00
Andrew Smith b424626e97 Update all usages of 'control-label' with 'form-control-label' in docs 2015-09-02 15:01:02 +10:00
Chris Rebert bf3bd2e037 Update Gemfile.lock in hopes of fixing scss-lint error 2015-09-01 21:37:37 -07:00
Chris Rebert cd6107a287 Port #17332 to v4 2015-09-01 21:25:14 -07:00
Kevin Kirsche 57943ed8ee Use the body color for dropdown menu text
Fix #17276
2015-09-01 21:23:43 -07:00
Mark Otto 57998dc274 linter 2015-09-01 21:23:26 -07:00
Mark Otto cf70fce245 mention overrides too 2015-09-01 21:20:35 -07:00
Mark Otto f8e13cb35f Merge pull request #17358 from tomByrer/patch-1
clarifies that normalize.css is a dependency of reboot
2015-09-01 21:19:12 -07:00
Kevin Kirsche cec7902d42 Fix Navbar at top of v4 Offcanvas example
Fix #17173
2015-09-01 21:19:07 -07:00
Mark Otto 468a9d9359 fixes #17379: override search input box-sizing to match our global overrides 2015-09-01 21:16:26 -07:00
Mark Otto 8f9e50c02d fixes #17385: add var for default link decoration 2015-09-01 21:14:51 -07:00
Kevin Kirsche 54fba7cbe5 Rename .img-responsive class to .img-fluid
Fix #17166
2015-09-01 21:12:28 -07:00
Mark Otto 7f18d02e56 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-09-01 21:12:06 -07:00
Mark Otto 29c3eddaeb fixes #17412: reverse display heading classes to match h1-h6 headings 2015-09-01 21:11:53 -07:00
Mark Otto 003f507de3 Merge pull request #17334 from neilhem/media-flex-align
Media vertical align flexbox classes
2015-09-01 21:01:45 -07:00
Mark Otto d119800489 fix #17356 2015-09-01 21:01:12 -07:00
Mark Otto d9125290ed Merge pull request #17207 from kkirsche/patch-9
v4 - Force linebreaks after grid tier names in v4 grid docs
2015-09-01 20:53:31 -07:00
Mark Otto f47f261597 Merge pull request #17181 from kkirsche/patch-25
v4 - Fix link to narrow jumbotron example
2015-09-01 20:29:51 -07:00
Mark Otto b17f5cadd5 Merge pull request #17353 from dmbaughman/v4-navbar-example
v4 - Updated default navbar example to use responsive navbar
2015-09-01 20:29:07 -07:00
Mark Otto b5c93eafb8 Merge pull request #17333 from neilhem/combine-size-mixins
Combine size & square mixins into one
2015-09-01 20:25:25 -07:00
Mark Otto 3221563228 Merge pull request #17359 from caleb/patch-1
Update static form control example
2015-09-01 20:23:35 -07:00
Mark Otto 750295306a Merge pull request #17370 from twbs/v4-dev-xmr-rm-csslint-references
Remove CSSLint references.
2015-09-01 20:23:13 -07:00
Mark Otto 0537c5a455 Merge pull request #17336 from petetnt/petetnt/v4-dev-patch-3
Document utility class .bg-inverse
2015-09-01 20:17:09 -07:00
Mark Otto a748e251fd Merge pull request #17259 from twbs/v4gc
v4: Conditional predefined grid classes
2015-09-01 20:16:22 -07:00
Mark Otto c053f23fe6 Merge pull request #17362 from omeid/v4-container-mixin
Semantic grid: add make-container-breakpoint
2015-09-01 20:13:52 -07:00
Mark Otto 5d5398afdb Merge pull request #17389 from Gupocca/link-fixing
Fix several erroneous links in docs.
2015-09-01 20:06:00 -07:00
Chris Rebert d258559f11 Merge pull request #17427 from supergibbs/v4-docs-nav-link-in-scrollspy
Fixed link to nav component from scrollspy documentation
2015-09-01 18:01:39 -07:00
Mark Otto 88ec75b6e6 Merge pull request #17428 from abitdodgy/docs-fix
Adds table-responsive class to docs table
2015-09-01 16:49:52 -07:00
Mohamad El-Husseini b994b1f999 adds table-responsive class to table 2015-09-01 20:26:11 -03:00
Supergibbs 9d30cb38d9 Fixed link to nav component from scrollspy documentation
(reported by ianhernandez in Slack)
2015-09-01 15:45:02 -07:00
Mark Otto 82168e4014 Merge pull request #17393 from twbs/v4-dev-xmr-rm-gfonts
Remove the unused Google fonts.
2015-09-01 13:22:44 -07:00
Chris Rebert 4bd671a70b Merge pull request #17418 from zalog/patch-6
Apply !default to SCSS variables
2015-09-01 02:42:23 -07:00
Catalin Zalog 18395219cc Apply !default to SCSS variables
Missed one variable :(
2015-09-01 11:26:01 +03:00
Gleb Mazovetskiy 33a510c63c Merge pull request #17402 from twbs/pr-14552-v4
Accept elements as the tooltip / popover content
2015-08-31 13:03:09 +01:00
Vincent 4J 1ca33002d4 add Chinese translations website boot4.com 2015-08-31 11:27:14 +08:00
Gleb Mazovetskiy c7d8e7a077 Accept elements as the tooltip / popover content
When a DOM node is passed to an HTML tooltip, the `title` node is only
moved if it is not already in the tooltip. Otherwise, `empty()` is used
instead of `detach()` before appending the `title` to avoid memory
leaks. If a DOM node is passed to a plain text tooltip, its text is
copied via jQuery `.text()`.

Replaces `.detach()` with `.empty()`, as `.detach()` is almost never
useful but instead leaks memory. The difference between `empty` and
`detach` is that the latter keeps all the attached jQuery events/data.
However, since we do not return the previous children, the user would
have to keep these themselves, thus they can `detach()` if necessary.

This is a port of https://github.com/twbs/bootstrap/pull/14552 to v4.
2015-08-31 01:06:13 +01:00
XhmikosR 74a1648bf7 Remove the unused Google fonts.
[ci skip]
2015-08-30 13:32:42 +03:00
XhmikosR 8941bdfbda Merge pull request #17392 from twbs/v4-dev-xmr-https
Use `https` when possible.
2015-08-30 13:31:05 +03:00
Chris Rebert 8ad1f8ddbe Merge pull request #17331 from twbs/fix-17323
rm unused $state param from form-control-validation mixin
2015-08-29 15:55:45 -07:00
XhmikosR 22a10a1096 Tabs to spaces.
[ci skip]
2015-08-30 00:05:02 +03:00
XhmikosR fc35ea815e grunt/configBridge.json: Remove unused autoprefixer config.
[ci skip]
2015-08-30 00:05:02 +03:00
XhmikosR 6e732ace2c Run grunt.
[ci skip]
2015-08-30 00:01:30 +03:00
XhmikosR 647ad1cbed Merge pull request #17384 from twbs/v4-dev-xmr-jekyll-search
Fix the JS errors due to jekyll-search.
2015-08-29 23:59:10 +03:00
Chris Rebert d7a62d52f6 Merge pull request #17394 from twbs/v4-dev-xmr-rm-jade
Remove the now unused grunt-contrib-jade references.
2015-08-29 13:39:03 -07:00
Gupocca 34932d71b4 Fix several erroneous links in docs.
Related to #17314.
2015-08-29 10:59:04 -07:00
XhmikosR 5998b93859 Enforce LF for .py files too.
[ci skip]
2015-08-29 18:57:36 +03:00
XhmikosR 48f50ab913 Remove the now unused grunt-contrib-jade references.
[skip sauce]
[skip validator]
2015-08-29 18:54:49 +03:00
XhmikosR 8328344212 Use https when possible.
[ci skip]
2015-08-29 18:50:20 +03:00
Mohamad El-Husseini 81806703e5 removes table-responsive div from components/navs 2015-08-28 11:35:11 -03:00
XhmikosR 3fef66eaf5 Fix the JS errors due to jekyll-search.
1) Update it to v1.0.8
2) Include jekyll-search where it's used only

[ci skip]
2015-08-28 14:28:47 +03:00
David Baughman e481c8fff2 Merge branch 'v4-dev' into v4-media-breakpoint-between 2015-08-27 13:41:24 -07:00
XhmikosR 232469549c Merge pull request #17368 from twbs/v4-dev-xmr-qunit
Update QUnit to v1.18.0.
2015-08-27 19:00:59 +03:00
XhmikosR 7da2d3c68a Lossy compress the 2 new images.
Before: 538 KB (551.052 bytes)
After:  179 KB (183.296 bytes)

[ci skip]
2015-08-27 18:49:39 +03:00
XhmikosR 4631b229fb Losslessly compress images.
Before: 1,28 MB (1.351.880 bytes)
After:  1,27 MB (1.341.411 bytes)

[ci skip]
2015-08-27 18:49:39 +03:00
XhmikosR 73c61199a1 Remove CSSLint references. 2015-08-27 18:49:08 +03:00
O'meid c42d0e10f4 scss: semantic grid: add make-container-breakpoint
Signed-off-by: O'meid <public@omeid.me>
2015-08-28 00:48:06 +10:00
Gleb Mazovetskiy f7b27a02ce Remove all uses of selector &
If we want to support namespaced import:

```scss
.twbs {
  @import 'bootstrap';
}
```

We cannot use `selector &`, see sass/sass#1817.

`fieldset[disabled] &` is not needed as we no longer support IE8.
2015-08-27 13:11:14 +01:00
XhmikosR 4dd9a5a6dc Update QUnit to v1.18.0. 2015-08-27 08:15:19 +03:00
XhmikosR 3e66427127 Less to Sass typos.
[ci skip]
2015-08-27 08:14:39 +03:00
XhmikosR 1029240b2d Update Anchor.js to v1.2.1.
[ci skip]
2015-08-27 08:14:39 +03:00
XhmikosR 0269da3c50 .travis.yml: cleanup old variables.
[ci skip]
2015-08-27 08:11:11 +03:00
XhmikosR 13e33e329c Remove the obsolete JSHint references. 2015-08-27 08:11:11 +03:00
XhmikosR 97f0da3239 Update Rubygems. 2015-08-27 08:11:10 +03:00
Caleb Land ec83b06d55 Update static form control example
Use the `row` class on the `form-group`, and change the `control-label` class to `form-control-label`
2015-08-26 23:47:50 -04:00
Tom Byrer d2930ce1ad clarifies normalize.css is a dependency
Perhaps I'm a little slow & need to have things spelled out :)
https://github.com/twbs/bootstrap/issues/17301#issuecomment-134469886
2015-08-26 18:59:08 -06:00
Chris Rebert bdc10b4a5b Merge pull request #17357 from twbs/responsive-visibility-rip
Remove defunct responsive-(in)visibility mixins
2015-08-26 15:35:25 -07:00
Chris Rebert c6e648d79b rm responsive-invisibility mixin since it's only used once
inline the one remaining usage into .hidden-print's definition
rm now-empty scss/_utilities-responsive.scss file

[skip sauce]
[skip validator]
2015-08-26 15:31:36 -07:00
Chris Rebert 4bc8b495fb Merge pull request #17257 from twbs/clear-translations
Clear out non-v4 docs translations
2015-08-26 15:30:32 -07:00
Chris Rebert 19e996c623 tree shaking: rm unused responsive-visibility mixin
[skip sauce]
[skip validator]
2015-08-26 15:06:09 -07:00
Chris Rebert db2ba70970 Merge pull request #17346 from Sapphire64/patch-2
Bump year in jumbotron example
2015-08-26 13:43:33 -07:00
David Baughman 1eea52b263 Updated default navbar example to use responsive navbar 2015-08-26 13:03:47 -07:00
Anton Vlasenko 9234bb630b Bump year in jumbotron example 2015-08-26 20:22:37 +02:00
petetnt 6aebac8e38 Document .bg-inverse 2015-08-26 16:01:34 +03:00
Rakhat Jabagin 56aadd25da add media vertical flexbox classes 2015-08-26 16:50:24 +06:00
Rakhat Jabagin 865911c35d combine size & square mixins into one 2015-08-26 16:17:00 +06:00
Chris Rebert 5c239aae7d rm unused $state param from form-control-validation mixin; fixes #17323
[skip sauce]
[skip validator]
2015-08-26 01:32:26 -07:00
Chris Rebert 7ff9b1979c grunt dist 2015-08-26 01:28:48 -07:00
Chris Rebert d06f79e2f7 grunt babel:dev 2015-08-26 01:27:45 -07:00
Chris Rebert 3de3dac0b0 Merge pull request #17330 from twbs/vejersele-bugfix/innerText
Rebased & tweaked version of #17272
2015-08-26 01:11:03 -07:00
Jelle Versele 54c4eb950b fixes #17097: Go back to using jQuery's text and html methods since innerText is nonstandard and not present in Firefox
Closes #17272 by merging a tweaked version of it.

[skip validator]
2015-08-26 01:00:46 -07:00
Chris Rebert 6d42a23039 Merge pull request #17329 from twbs/babel-dev-sauce
Add babel:dev to Sauce Grunt subtasks so we don't test stale JS
2015-08-26 01:00:02 -07:00
Chris Rebert 631f3eca4b Add babel:dev to Sauce Grunt subtasks so we don't test stale JS
Refs #17328
2015-08-26 00:58:39 -07:00
Chris Rebert ab4b463304 Merge pull request #17328 from twbs/babel-dev
Add babel:dev to dist-js so `grunt test` doesn't use stale JS
2015-08-26 00:35:38 -07:00
Chris Rebert 6c8bf4ca88 Add babel:dev to dist-js Grunt task so that grunt test doesn't use stale JS
[skip sauce]
2015-08-25 23:59:22 -07:00
David Baughman bf31c8b9d9 For now, add hacky <div id="navbar"> to avoid HTML validation error in Dashboard example
Closes #17319 by merging it.
2015-08-25 23:39:05 -07:00
Chris Rebert 8644ce0d7e Merge pull request #17326 from twbs/build/rm-gem
rm broken bundle update task & defunct custom RubyGem caching scheme
2015-08-25 23:18:44 -07:00
Chris Rebert 3cc25428be rm broken bundle update task & defunct custom RubyGem caching scheme
[skip sauce]
2015-08-25 23:00:18 -07:00
Chris Rebert 8bc2e21754 Gruntfile: rm reference to defunct customizer
[skip sauce]
2015-08-25 22:51:21 -07:00
Chris Rebert 4b33684cd6 Merge pull request #17318 from splendido/v4-meteor-fix
[v4] Fix for Meteor package: removed font files
2015-08-25 14:48:37 -07:00
Chris Rebert 2a671cc186 migration.md: fix typo in TODO 2015-08-25 14:16:49 -07:00
Chris Rebert 927f0227cf Use non-broken Sass link in docs; fixes part of #17314
[skip sauce]
2015-08-25 14:14:41 -07:00
Luca Mussi 71c595454c removed font files 2015-08-25 23:10:50 +02:00
David Baughman 026682bf0d Added mixin to handle media queries that span multiple breakpoints 2015-08-25 12:53:14 -07:00
Thomas McDonald 210e2b8100 Merge pull request #17050 from twbs/fix-travis-v4
v4 Travis Build

sets up infra to properly build Bootstrap
2015-08-25 10:01:10 -07:00
Thomas McDonald 75374ce511 Merge branch 'v4-dev' into fix-travis-v4 2015-08-25 10:00:36 -07:00
Thomas McDonald 757e71252f strip out old caching 2015-08-25 09:58:32 -07:00
XhmikosR ab4c07dbdd Bump year.
[ci skip]
2015-08-25 18:52:27 +03:00
XhmikosR 606393502d Specify Internet Explorer 9 as the minimum supported version. 2015-08-25 18:52:27 +03:00
Mark Otto 5fc3b1d540 Merge pull request #17113 from JanStevens/v4-fix-retina-mixin
Fixes the _image mixing by prefixing the parameters with $
2015-08-25 07:45:02 -07:00
XhmikosR 0873e9afa8 Fix validation errors. 2015-08-25 15:38:20 +03:00
XhmikosR 366e51df3f Enforce LF for .rb files too. 2015-08-25 15:38:20 +03:00
XhmikosR 9420297dc2 SCSS lint fixes.
[ci skip]
2015-08-25 15:38:20 +03:00
Mark Otto b11034d780 Merge pull request #17292 from twbs/ff-esr
Explicitly document existing de facto policy of supporting ESR Firefox
2015-08-25 00:28:45 -07:00
Mark Otto ebc0a56c6f Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-08-25 00:27:44 -07:00
Mark Otto 37b00133ae Merge pull request #17295 from twbs/dropdown-design
Document that dropdowns are intentionally click-based rather than hover-based
2015-08-25 00:25:24 -07:00
Mark Otto a05c2d152e Merge pull request #17305 from wangsai/footer-links
fix footer links to proper pages
2015-08-25 00:24:57 -07:00
wangsai 3b415db33f fix footer links 2015-08-25 14:49:02 +08:00
XhmikosR 7e2eb9e74a js/.eslintrc: sort rules by name.
[ci skip]
2015-08-25 08:45:07 +03:00
XhmikosR 4fae5a6f4b Fix grunt validate-html task. 2015-08-25 08:43:47 +03:00
Mark Otto facb3a0c3c grunt 2015-08-24 22:34:46 -07:00
XhmikosR 108ef992d9 grunt/bs-commonjs-generator.js: reapply the fix for Windows slashes.
[ci skip]
2015-08-25 08:27:01 +03:00
XhmikosR a0ba1f1f62 .gitattributes: enforce LF for scss files.
[ci skip]
2015-08-25 08:04:30 +03:00
Mark Otto 9fa2f64717 Merge pull request #17299 from davidjb/v4-dev
Replace docs reference to iconography
2015-08-24 21:23:19 -07:00
David\ Beitey b60c94925c Replace docs reference to iconography 2015-08-25 12:43:04 +10:00
Heinrich Fenkart 9d684a935d Merge pull request #17294 from unehub/patch-1
PropertySortOrder
2015-08-25 02:20:05 +02:00
Chris Rebert 275989e64f Document that dropdowns are intentionally click-based rather than hover-based
And link to a relevant blog post w/ more info.
Refs #16966
[skip sauce]
2015-08-24 16:43:42 -07:00
Thomas McDonald 0db77cc19a remove dupe jekyll 2015-08-24 16:23:00 -07:00
Thomas McDonald 1332ba3ac7 update pip installation 2015-08-24 16:19:47 -07:00
Thomas McDonald 22717a1242 Merge branch 'v4-dev' into fix-travis-v4 2015-08-24 16:19:19 -07:00
Heinrich Fenkart 0da684ff85 Merge pull request #17275 from mattez/fix-docs-layout-grid
Fix anchors, fix naming consistency
2015-08-25 00:21:39 +02:00
Felipe 67995d034e PropertySortOrder
Properties should be ordered border-top, border-bottom
2015-08-24 16:44:55 -05:00
Chris Rebert d10c889fee Merge pull request #17293 from twbs/fix-17263
Replace remaining instances of defunct .visible* classes in docs
2015-08-24 14:44:48 -07:00
Chris Rebert 1ec0c49358 Replace remaining instances of defunct .visible* classes in docs
.visible-xs(-block) => .hidden-sm-up

Fixes #17263.
[skip sauce]
2015-08-24 14:42:21 -07:00
Jeremy Danyow 1ba4577cc6 Update jspm package configuration
Related to https://github.com/jspm/registry/pull/534
2015-08-24 17:34:19 -04:00
Chris Rebert 168cba1701 Explicitly document existing de facto policy of supporting ESR Firefox
Refs #17237
[skip sauce]
2015-08-24 14:32:58 -07:00
Gleb Mazovetskiy 535b1c4b37 Merge pull request #17289 from kkirsche/patch-12
Fix accidental triple colon from :before to ::before conversion
2015-08-24 21:27:48 +01:00
Kevin Kirsche 29e4dd2fba Fix accidental triple colon from :before to ::before conversion
Fix #17288 — Sorry about that!
2015-08-24 15:47:04 -04:00
Mark Otto 46a524f302 Merge pull request #17058 from kkirsche/patch-6
Use double colons for psuedo elements
2015-08-24 11:08:55 -07:00
Kevin Kirsche d51f0a4f81 Use double colons for psuedo elements
Fix #17052
2015-08-24 13:22:10 -04:00
Matěj Kříž a1b38092e2 Fix anchors, fix naming consistency
I found non working anchors and some naming in consistency. I hope I fixed well. Have a nice day.
2015-08-24 16:30:46 +02:00
Mark Otto c8ab0a56c2 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-08-23 23:16:18 -07:00
Mark Otto 7d194a9bd3 wrap box-shadows in mixin in custom forms. fixes #17242 2015-08-23 23:13:14 -07:00
Mark Otto e27e9d863b Merge pull request #17253 from wangsai/jekyll-redirect-from
Add jekyll-redirect-from plugin in Gemfile
2015-08-23 23:08:24 -07:00
Mark Otto 2dddf997a9 my bad, fix those values
/cc @cvrebert
2015-08-23 23:03:58 -07:00
Mark Otto 80435ee656 Merge pull request #17187 from kkirsche/patch-31
v4 - Document migration from panels to cards
2015-08-23 23:03:05 -07:00
Mark Otto 19deadda95 shorter 2015-08-23 23:00:47 -07:00
Mark Otto 02069152a2 Merge pull request #17147 from kkirsche/patch-14
v4 - Dropup caret direction incorrect
2015-08-23 22:59:43 -07:00
Mark Otto 7633d4c603 Make predefined grid classes conditional
- Add explicit -grid-classes variable and set to true by default
- Wrap .row and .col generation in the boolean var
2015-08-23 22:13:58 -07:00
Chris Rebert 0d59ff81c9 Clear out non-v4 docs translations
After v4.0.0 stable gets released, as existing translations get updated or completely new v4 translations get created, we can start adding entries back to the list.
2015-08-23 21:34:47 -07:00
Chris Rebert 096ed52e06 Merge pull request #17255 from wangsai/translation-zh-new-url
New URL for Chinese translation of Bootstrap 4.x
2015-08-23 20:09:42 -07:00
wangsai d72fdc8093 New URL for Chinese translation of Bootstrap 4.x :
http://v4.bootcss.com
2015-08-24 07:55:25 +08:00
wangsai 134c1ba467 Add jekyll-redirect-from plugin in Gemfile, ohterwise report ".../jekyll/plugin_mannager.rb:29:in require: cannot load such file -- jekyll-redirect-from (LoadError)" when jekyll build 2015-08-24 07:45:12 +08:00
Mark Otto c37ae146d4 Merge pull request #17252 from zalog/patch-5
Apply !default to SCSS variables
2015-08-23 15:51:54 -07:00
Catalin Zalog 793db36640 Apply !default to SCSS variables
!default to all variables.
2015-08-24 01:44:16 +03:00
Mark Otto e75504366d Merge pull request #17120 from kkirsche/patch-5
Add white background to cards by default
2015-08-23 14:44:53 -07:00
Kevin Kirsche e707a45b1f v4 - Dropup caret direction incorrect
Fix #17144
2015-08-23 08:12:56 -04:00
Kevin Kirsche 44acff459b Add white background to cards
Fix #17117
2015-08-23 08:10:55 -04:00
Geremia Taglialatela 0376146d71 Change the default value of $font-size-sm to .875rem 2015-08-23 11:35:00 +02:00
Mark Otto 4b63173a41 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-08-23 01:12:12 -07:00
Mark Otto e7ed4ff283 grunt 2015-08-23 01:12:06 -07:00
Mark Otto a5bfbe0fca fix remaining scss lint errors 2015-08-23 01:12:00 -07:00
Mark Otto 6f8f4cc92c there is no standard appearance property 2015-08-23 01:03:51 -07:00
Mark Otto 3453f55ec5 grunt 2015-08-23 01:00:29 -07:00
Mark Otto b2dccb15d7 fix majority of scss linter errors 2015-08-23 01:00:22 -07:00
Chris Rebert fd72dfe6cf Rephrase/copyedit IE [hidden] compatibility docs
Fixes grammatical erratum from cf7819d8d5
2015-08-23 00:44:54 -07:00
Mark Otto 47d5168dc8 grunt 2015-08-23 00:28:58 -07:00
Mark Otto 27e4e97840 there is no navbar default for this 2015-08-23 00:28:02 -07:00
Mark Otto 95292fd0e7 grunt 2015-08-23 00:26:03 -07:00
Mark Otto 24fee99e0e remove another margin-top: 0 2015-08-23 00:25:58 -07:00
Mark Otto 683472d6e2 remove a margin-top: 0 reset since we nuke headings' top margins now in reboot 2015-08-23 00:24:59 -07:00
Mark Otto d4e7252a83 grunt 2015-08-23 00:18:35 -07:00
Mark Otto 27f97e328b shorter clearfix 2015-08-23 00:18:28 -07:00
Mark Otto b857ff45e5 slightly better dashboard example 2015-08-22 23:49:46 -07:00
Mark Otto cf7819d8d5 mention the IE compatability for hidden attr per #17169 2015-08-22 23:17:46 -07:00
Mark Otto db87ffb0db grunt 2015-08-22 21:46:49 -07:00
Mark Otto 54a5fbe0c1 fix #17149: correct syntax in list-group variant mixin; nullifies #17154 2015-08-22 21:46:46 -07:00
Mark Otto 018eef9894 Merge pull request #17140 from kkirsche/patch-12
v4 - Rendered example bin in grid docs should use sass
2015-08-22 20:28:01 -07:00
Heinrich Fenkart 44f2e73421 Docs: fix typo from 9c52e03 2015-08-23 04:56:09 +02:00
Mark Otto f22b1b6736 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-08-22 19:12:51 -07:00
Mark Otto 0644ce3703 grunt 2015-08-22 19:12:40 -07:00
Mark Otto b3c4ea52cd Merge pull request #17221 from maxbeatty/docs-preprocessor
Update Preprocessor section of homepage
2015-08-22 19:07:05 -07:00
Mark Otto 2638b10d28 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-08-22 19:06:03 -07:00
Mark Otto 1f153b640d re-fix #16154 in v4-dev /cc #17101 2015-08-22 19:05:43 -07:00
Mark Otto 421a1393bc grunt 2015-08-22 19:01:14 -07:00
Mark Otto 990d646bcd fix shadows on btns to use mixin 2015-08-22 19:01:11 -07:00
Mark Otto 5bb03b794d Merge pull request #17220 from cornedor/fix-17066
Removed mixin from focus outline box-shadow fixes #17066
2015-08-22 18:59:16 -07:00
Mark Otto 16075cc068 Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 2015-08-22 18:58:07 -07:00
Mark Otto 9c52e03d31 avoid mentioning css block level in cards docs /cc #17158 #17103 2015-08-22 18:58:02 -07:00
Mark Otto 818e1243cf add responsive typography note /cc #17095 2015-08-22 18:56:28 -07:00
Mark Otto 37c84f144b nuke that page since it's now unused 2015-08-22 18:51:06 -07:00
Mark Otto d65486270c Merge pull request #17059 from kkirsche/patch-7
State Edge support instead of IE 11 as latest
2015-08-22 18:47:36 -07:00
Mark Otto a93c42bbbe grunt 2015-08-22 18:36:48 -07:00
Mark Otto 1e7c42d2c0 fixes #17035 2015-08-22 18:36:43 -07:00
Mark Otto 912637f0d0 homepage docs callout 2015-08-22 18:32:18 -07:00
Mark Otto 6e5e9225fd grunt 2015-08-22 18:25:20 -07:00
Chris Rebert 8d26e26eb4 Merge pull request #17235 from kkirsche/patch-28
Add btn-info to buttons examples
2015-08-22 13:32:48 -07:00
Chris Rebert 5bc6990be2 Merge pull request #17236 from vsn4ik/remove_outdated_btn_group_xs
Remove outdated btn-xs and btn-group-xs
2015-08-22 13:27:08 -07:00
vsn4ik 2965adfea0 Remove dropped btn-xs and btn-group-xs from docs 2015-08-22 21:16:05 +03:00
Kevin Kirsche 6b45c9234a Add btn-info to buttons examples
Fix #17234
2015-08-22 13:52:27 -04:00
Heinrich Fenkart 0b585b2ffe Merge pull request #17216 from Kevinci/patch-1
v4 - Fix broken holder.min.js link in album example
2015-08-22 17:55:13 +02:00
Corné Dorrestijn c49503165a Added comment explaining why there is no mixin here 2015-08-22 01:04:16 +02:00
Max Beatty 2c58bd5294 Update Preprocessor section of homepage 2015-08-21 15:02:11 -07:00
Corné Dorrestijn ac3fbdad36 Removed mixin from focus ouline box-shadow fixes #17066 2015-08-21 22:21:20 +02:00
Kevin Imig 3b2b6f4a05 update broken holder.min.js link
update broken holder.min.js link
2015-08-21 20:23:00 +02:00
Kevin Kirsche cf5284f235 v4 - Force linebreaks after grid tier names in v4 grid docs
Fix #17176

Sorry, I f'd up the rebase in #17186
2015-08-21 08:04:44 -04:00
petetnt 3f81cf6093 modal.md - wrapped rows to a .container-fluid, added .bd-example-row for better visualization 2015-08-21 12:23:41 +03:00
Chris Rebert 69f9240863 forms.md: Fix link to disabled buttons docs 2015-08-20 22:35:58 -07:00
Chris Rebert 0372cc656d forms.md: Fix rebooted form styles link 2015-08-20 22:23:19 -07:00
Chris Rebert 5404ed5946 Fix options link in Tooltip docs 2015-08-20 22:16:16 -07:00
Chris Rebert d3d04e8fe6 Fix options link in Popover docs 2015-08-20 22:15:31 -07:00
Chris Rebert d29c34c2f6 Popover docs: Fix "Tether" capitalization 2015-08-20 22:14:25 -07:00
Chris Rebert 136e8a4806 tooltips.md: Fix capitalization of "Tether" more 2015-08-20 22:13:39 -07:00
Chris Rebert 7fa1341b47 tooltips.md: Fix capitalization of "Tether" 2015-08-20 22:12:14 -07:00
Chris Rebert 30cc2c4815 Modal docs: Add MDN autofocus docs link 2015-08-20 22:05:55 -07:00
Chris Rebert 6623ad2e9b <progress> docs: Add MDN link 2015-08-20 22:02:54 -07:00
Mark Otto ba6cf4839b Merge pull request #17069 from kkirsche/patch-9
Card variables should be in _variables.scss
2015-08-20 22:02:35 -07:00
Chris Rebert 6524e53dbb Pagination docs: Fix "pager alternative" link 2015-08-20 21:59:39 -07:00
Chris Rebert e39d9a7941 Breadcrumb docs: Add MDN CSS doc links 2015-08-20 21:57:49 -07:00
Mark Otto d2a2664404 Merge pull request #17084 from thejameskyle/tjk/3
v4 - Use doge instead of css for <pre> example
2015-08-20 21:09:56 -07:00
Mark Otto bf2781d758 Merge pull request #17146 from kkirsche/patch-13
v4 - Add pixel values for the rem breakpoints and column sizes
2015-08-20 21:09:19 -07:00
Mark Otto c961723184 Merge pull request #17178 from twbs/die-stateful-btn
rm docs references to nuked stateful button feature
2015-08-20 21:08:57 -07:00
Mark Otto b7fe55d064 Merge pull request #17188 from kkirsche/patch-32
v4 - Add new table variants not in V3 to What's new
2015-08-20 21:08:42 -07:00
Mark Otto f8fcc3d60d Merge pull request #17184 from kkirsche/patch-28
v4 - Fix Broken link in text alignment section of v4 Card docs
2015-08-20 21:07:33 -07:00
Mark Otto 9bd01fc3d4 Merge pull request #17185 from kkirsche/patch-29
v4 - Fix broken link in Sass mixins section of v4 docs
2015-08-20 21:07:19 -07:00
Mark Otto f0929435fd Merge pull request #17161 from kkirsche/patch-22
v4 - Use border-radius mixin in form-control-sm and form-control-lg
2015-08-20 21:07:04 -07:00
Mark Otto 90a14fdfc6 Merge pull request #17189 from kkirsche/patch-33
v4 - Add new table functionality to table migration section
2015-08-20 21:05:58 -07:00
Mark Otto e87bf39b94 Merge pull request #17190 from kkirsche/patch-24
v4 - Remove weird extra border from GitHub follow buttons on v4 Team page
2015-08-20 21:05:37 -07:00
Kevin Kirsche b35fc603fd v4 - Remove weird extra border from GitHub follow buttons on v4 Team page
Fix #17175

X-Ref Original Against Wrong Branch: #17179
2015-08-20 23:09:19 -04:00
Kevin Kirsche dc4bfcdf44 Add new table functionality to table migration section
Calls out the new `.table-inverse`, `.table-reflow`, `.thead-default` and `.thead-inverse`
2015-08-20 22:42:18 -04:00
Kevin Kirsche 7a35231a92 Add new table variants not in V3
Audit the new table variants in V4 that aren't in V3
2015-08-20 22:38:47 -04:00
Kevin Kirsche bcc16d0754 Document migration from panels to cards
X-Ref: #17120 for `.panel-default` replacement
2015-08-20 22:31:48 -04:00
Kevin Kirsche 5536facc68 Broken link in Sass mixins section of v4 docs
Fix #17177

Simplest example is using horizontal variants using rows.
2015-08-20 22:13:53 -04:00
Chris Rebert 85fac53cc8 navs.md: Fade effect: add missing backtick 2015-08-20 19:12:37 -07:00
Chris Rebert 55168ff93e Card Columns docs: Link to MDN multi-column CSS docs 2015-08-20 19:06:31 -07:00
Kevin Kirsche 61b8d83feb Fix Broken link in text alignment section of v4 Card docs
Fix #17182
2015-08-20 22:06:06 -04:00
Chris Rebert 92ce5431be Card Columns docs: Put IE<=9 warning on its own line
Otherwise the "Heads up!" is at the end of the previous line, making the connection to the warning unclear.
2015-08-20 19:03:22 -07:00
Kevin Kirsche 4a4f48acfd v4 Fix link to narrow jumbotron example
Fix #17174
2015-08-20 21:54:37 -04:00
Chris Rebert d24a15d2b0 rm docs references to nuked stateful button feature
[skip sauce]
2015-08-20 18:47:41 -07:00
Chris Rebert e3899b4fa8 reboot.md: fix typo: "to a minimal" [sic] 2015-08-20 18:37:20 -07:00
Chris Rebert 8e6972b170 docs/layout/grid.md: Fix responsive utilities link 2015-08-20 18:34:59 -07:00
Chris Rebert 911e58ed63 introduction.md: Fix typo: "started template" 2015-08-20 18:21:35 -07:00
Heinrich Fenkart 3c17c9e90c Docs: link to tooling setup on download page 2015-08-21 02:38:36 +02:00
Heinrich Fenkart 66be25917a Docs: various fixes
Mostly links.
Fixes #17056.
2015-08-21 02:15:17 +02:00
Heinrich Fenkart 3895bfa388 Docs: Fix "read more about x-ua" link
Fixes #17096
2015-08-21 01:28:41 +02:00
Heinrich Fenkart c585ea5bdf Merge pull request #17027 from n1c/patch-1
Title on Figures page should be Figures and not Images?
2015-08-21 01:20:51 +02:00
Heinrich Fenkart 67af7ca69a Docs: Update CDN links
Fixes #17028
Closes #17042
2015-08-21 01:16:55 +02:00
Heinrich Fenkart 29496ada60 Merge pull request #17065 from kkirsche/patch-8
Fix link to .table section in Reboot
2015-08-21 01:09:51 +02:00
Heinrich Fenkart 233ae8164f Merge pull request #17085 from thejameskyle/tjk/4
v4 - Fix urls ./helpers => ./utilities
2015-08-21 01:08:48 +02:00
Heinrich Fenkart 666617109f Merge pull request #17086 from thejameskyle/tjk/5
v4 - Fix text utilities link
2015-08-21 01:08:10 +02:00
Heinrich Fenkart 12df7622a0 Merge pull request #17025 from hebbet/v4-dev
fix broken link to flexbox
2015-08-21 01:02:03 +02:00
Heinrich Fenkart a5bed79459 Fix link to wall of browser bugs; closes #17107 2015-08-21 00:45:09 +02:00
Heinrich Fenkart 2fb4e182c6 Docs: a little bit of love for the wall of browser bugs 2015-08-21 00:41:18 +02:00
Heinrich Fenkart ff5218a08e Merge pull request #17172 from twbs/v4-docs-dropdowns
Docs: Update all dropdowns to new HTML structure
2015-08-21 00:34:16 +02:00
Heinrich Fenkart 73a88dbe86 Docs: Update all dropdowns to new HTML structure 2015-08-21 00:18:55 +02:00
Mark Otto 70e4c72066 Merge branch 'v4' into v4-dev 2015-08-20 15:16:41 -07:00
Mark Otto b3808f833d this sucks, but it's needed for now due to the grunt build control plugin 2015-08-20 15:08:43 -07:00
Mark Otto 705fb5361e grunt 2015-08-20 15:06:36 -07:00
Thomas McDonald ec523617a3 add jekyll plugins to gemfile 2015-08-20 14:16:28 -07:00
Heinrich Fenkart d211654e55 Merge pull request #17156 from kkirsche/patch-19
v4 Docs - Fix scroll spy navbar example
2015-08-20 23:14:09 +02:00
Thomas McDonald be17600d7c run jekyll with bundle exec 2015-08-20 14:09:56 -07:00
Thomas McDonald 0409024266 install scss-lint in system 2015-08-20 13:54:54 -07:00
Chris Rebert 4e63f0b729 Merge pull request #17164 from twbs/shrinkwrap
Update shrinkwrap to help fix Travis build
2015-08-20 13:48:47 -07:00
Chris Rebert 59011ccf7a Update shrinkwrap to help fix Travis build 2015-08-20 13:43:51 -07:00
David Richardson 42792682ac Fix use of LESS var syntax in docs when referencing SCSS
Example:
> ... SCSS variables (e.g., `@enable-gradients: true`) ...
Referenced SCSS but used the LESS syntax. Changed to:
> ... SCSS variables (e.g., `$enable-gradients: true`) ...

Closes #17114
2015-08-20 13:03:12 -07:00
Kevin Kirsche 477790c672 Use border-radius mixing in form-control-sm and form-control-lg
Fix #17160
2015-08-20 15:53:41 -04:00
Kevin Kirsche df734852ee v4 Docs - Fix scroll spy navbar example
Fix #17125
2015-08-20 15:24:07 -04:00
Heinrich Fenkart d16144cf2f Merge pull request #17152 from zacechola/popover_container_example
v4 - Fix container option example code
2015-08-20 21:15:55 +02:00
Zac Echola 8bfb295c1b Fix container option example code 2015-08-20 13:46:49 -05:00
Kevin Kirsche ca9fdcee9c Add pixel values for the rem breakpoints and column sizes
Fix: #17145
2015-08-20 12:39:21 -04:00
Heinrich Fenkart d07782ca2a Merge pull request #17139 from coliff/patch-6
v4 Docs - Fix tether typo
2015-08-20 17:49:58 +02:00
Kevin Kirsche 5c03882aff Rendered example bin in grid docs should use sass
Fix #17129
2015-08-20 11:48:27 -04:00
Christian Oliff 9471ad7533 Fix tether typo
Fix tether typo
2015-08-21 00:43:34 +09:00
Kevin Kirsche be85284793 Provide V4 JSBin template
provide V4 JSBin template for users to use when sending bug reports.
2015-08-20 11:38:32 -04:00
Kevin Kirsche b093f010df v4: Dropdown caret is not horizontally alligned
Fix #17135
2015-08-20 11:29:23 -04:00
Heinrich Fenkart 0771881935 Merge pull request #17133 from zacechola/btn_xs_removal
Remove btn-xs from dropdown docs
2015-08-20 16:48:04 +02:00
Zac Echola 8dec4e8995 Remove btn-xs from dropdown 2015-08-20 09:18:11 -05:00
Heinrich Fenkart 761364f64f Merge pull request #17132 from zacechola/jquery_cdn_link
Add jquery cdn link
2015-08-20 16:08:25 +02:00
Zac Echola 0cc0e1bccd Add jquery cdn link 2015-08-20 09:00:59 -05:00
Heinrich Fenkart b591d232a6 Merge pull request #17115 from benjamindean/patch-1
Fix "background-variants" anchor
2015-08-20 13:24:52 +02:00
Benjamin Dean b381af5e65 Fix "background-variants" anchor 2015-08-20 12:53:35 +03:00
Jan Stevens b7b8f98c86 Fixes the _image mixing by prefixing the parameters with $ 2015-08-20 11:35:00 +02:00
Boris Kaiser 463837c1c7 Remove duplicate "spaced-comment" in eslintrc
Closes #17100
2015-08-20 01:27:47 -07:00
Gleb Mazovetskiy f88cbe7ee4 Fix -flex compile on Sass Ruby #17046 2015-08-20 08:38:02 +01:00
lbryant 8b15b5a262 _removeTetherClasses is no longer referenced 2015-08-20 01:22:16 -04:00
lbryant 926fb11158 use Tether addTargetClasses: false option instead of manually removing them 2015-08-20 01:03:29 -04:00
Manoj Kumar 6b1cf58d58 Add more compatibility info and caniuse links to Flexbox docs
Closes #17091
2015-08-19 20:33:07 -07:00
James Kyle 5d8751274d Use .example-element instead of doge 😢 2015-08-19 16:52:24 -07:00
Heinrich Fenkart 136461b5b6 Merge pull request #17064 from paulirish/patch-1
reboot.scss typo  (shttp --> http)
2015-08-20 01:06:41 +02:00
Paul Irish 291910402b reboot.scss: typo 2015-08-19 16:02:57 -07:00
James Kyle 8be18f32ac Fix text utilities link 2015-08-19 15:42:41 -07:00
Heinrich Fenkart 6ce530a1c4 Merge pull request #17083 from thejameskyle/tjk/2
v4 - fix after => :after
2015-08-20 00:35:31 +02:00
James Kyle 459b9fa0e0 Fix urls ./helpers => ./utilities 2015-08-19 15:33:35 -07:00
Heinrich Fenkart 1f6c4859fe Merge pull request #17081 from gps035/patch-1
Correct presented class for outline buttons
2015-08-20 00:33:27 +02:00
Heinrich Fenkart c0fe7400e5 Merge pull request #17080 from thejameskyle/tjk/1
v4 - Add display typography code example
2015-08-20 00:30:51 +02:00
James Kyle 4540ad38af Use doge instead of css for <pre> example 2015-08-19 15:28:49 -07:00
James Kyle 3a2c798397 v4 - fix after => :after 2015-08-19 15:21:42 -07:00
gps035 d868eb2825 Correct presented class for outline buttons 2015-08-19 23:17:19 +01:00
James Kyle 56eefe2ab4 Add code example to display typography 2015-08-19 15:16:13 -07:00
Chris Rebert 43a6765fbe Merge pull request #17079 from SidRoberts/patch-1
Fixed a typo in buttons (disaabled)
2015-08-19 15:12:06 -07:00
Sid Roberts 6cc6f201af Fixed a typo (disaabled). 2015-08-19 23:09:17 +01:00
Heinrich Fenkart d46ab6bf3a Merge pull request #17063 from chrisbell08/v4-dev
Fix spelling mistake.
2015-08-19 23:57:10 +02:00
Kevin Kirsche 9e8bd818b2 Card variables should be in _variables.scss
Fixes #17061
2015-08-19 17:35:34 -04:00
Kevin Kirsche 805d4874f0 Fix link to .table section in Reboot
Fix #17062
2015-08-19 17:30:48 -04:00
Kevin Kirsche b6e0481c32 State Edge support instead of IE 11 as latest
Fix #17055
2015-08-19 17:23:50 -04:00
Paul Irish 604dba1803 reboot.scss typo 2015-08-19 14:16:09 -07:00
Chris Bell 333be22824 Update _variables.scss
Fixed spelling mistake. Changed table of "ontents" to "Contents".
2015-08-19 22:06:39 +01:00
Chris Rebert 1efb07dad9 Merge pull request #17047 from petetnt/petetnt-v4-dev-patch-1
Fixed couple of formatting errors in modal.md (v4)
2015-08-19 13:11:27 -07:00
Thomas McDonald b027b50452 try enabling travis-ci caching 2015-08-19 13:11:24 -07:00
Chris Rebert 7102ac6e6c Merge pull request #17034 from chrisrowe/patch-1
Fixed "Srollspy" typo in component title
2015-08-19 13:10:22 -07:00
Chris Rebert 7bc5af2628 Merge pull request #17030 from swaincreates/v4-dev-spelling-fix
V4 dev spelling fix in docs/getting-started/flexbox.md
2015-08-19 13:09:12 -07:00
Thomas McDonald 255f941bca try and install ruby 2015-08-19 12:54:26 -07:00
Thomas McDonald c9a5f82357 Merge pull request #17038 from supergibbs/tehter-spelling
tehter spelling
2015-08-19 12:40:37 -07:00
Thomas McDonald 67f459b949 Merge pull request #17033 from bvleur/patch-1
v4: Fix Typo in Forms docs
2015-08-19 12:38:19 -07:00
Pete Nykänen 66a9ed278e Fixed couple of formatting errors in modal.md
One extra `</p>` was out of place, plus couple of issues with `'s which caused some odd formatting.
2015-08-19 21:43:16 +03:00
Chris Rowe 95999a13b4 Fixed "Srollspy" typo in component title 2015-08-19 19:29:21 +01:00
Bram van Leur 7ec40d25cd v4: Fix Typo in Forms docs 2015-08-19 20:22:55 +02:00
Supergibbs b071e6e03c tehter -> tether 2015-08-19 11:01:11 -07:00
Thomas McDonald 323b9b1320 remove .btn-xs reference in docs 2015-08-19 10:38:22 -07:00
swaincreates 1e8d186f33 change flexbix to flexbox in docs/getting-started/flexbox.md 2015-08-19 13:30:18 -04:00
Nic 83acf0573b Title on Figures page should be Figures and not Images? 2015-08-19 19:03:33 +02:00
Pascal Herbert 547e6e8af8 fix broken link to flexbox 2015-08-19 18:46:05 +02:00
Thomas McDonald e7b0d726db remove gem badge 2015-08-19 09:37:13 -07:00
Mark Otto 980d8ea2d8 docs tweaks for responsive 2015-08-19 00:07:59 -07:00
Mark Otto 624723f4c3 links, disable downloads, alert package manager downloads 2015-08-18 23:51:59 -07:00
Mark Otto 1020297f0a remove cdn link from home for now 2015-08-18 23:46:56 -07:00
Mark Otto 5a905ef8a5 basic responsive top nav hacks for docs 2015-08-18 23:44:18 -07:00
Mark Otto 923677013d themes link 2015-08-18 23:19:38 -07:00
Mark Otto 0de6584eda register task 2015-08-18 22:49:26 -07:00
Mark Otto cf8bb8882e grunt build control for pushing it all 2015-08-18 22:47:26 -07:00
Mark Otto f9cbfa016d custom cname for v4 alpha 2015-08-18 22:47:18 -07:00
Mark Otto fc5d996e10 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-18 22:23:44 -07:00
Jacob Thornton 08d2041c45 redo js dists 2015-08-18 22:07:45 -07:00
Jacob Thornton 03e732708c rewrite tab with new active shit 2015-08-18 22:03:34 -07:00
Jacob Thornton 4e45e2363c Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-18 21:23:53 -07:00
Jacob Thornton fd65b9f32e some minor alert shit 2015-08-18 20:33:57 -07:00
Mark Otto d52755b3eb comment out versions for now 2015-08-18 20:31:27 -07:00
Mark Otto 6211641f69 more grunt 2015-08-18 20:28:45 -07:00
Mark Otto 9ccf308fd1 remove commented out nav styles 2015-08-18 20:28:41 -07:00
Mark Otto 3dd48b8d47 js grunt 2015-08-18 20:28:28 -07:00
Mark Otto 1c19ded8c1 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-18 20:25:48 -07:00
Mark Otto 0df8fae725 grunt 2015-08-18 20:25:35 -07:00
Mark Otto c8306d2f70 rewrite active and disabled styles for navs 2015-08-18 20:25:31 -07:00
Mark Otto d2f4c35061 rewrite some button group docs 2015-08-18 20:25:18 -07:00
Mark Otto e18d6b691d note to the migration page 2015-08-18 20:03:03 -07:00
Mark Otto f83ca1c6b0 ads colors 2015-08-18 19:56:28 -07:00
Mark Otto 7de3b3eced fix footer to use new dropdown markup 2015-08-18 19:51:21 -07:00
Jacob Thornton 8cfde5ef29 fix modal visual example for js 2015-08-18 19:50:32 -07:00
Jacob Thornton efae761c39 fix dropdown js visual example 2015-08-18 19:42:27 -07:00
Mark Otto 1ee84d4a1c help text tweaks 2015-08-18 19:36:01 -07:00
Mark Otto a79e7db6bd document some help text examples to the docs 2015-08-18 19:30:22 -07:00
Mark Otto c369409a54 grunt 2015-08-18 19:26:21 -07:00
Mark Otto 58d1297fcb overhaul custom selects with latest from primer, shoutout 2015-08-18 19:26:18 -07:00
Jacob Thornton 18ff57a183 js tests passing + eslint 2015-08-18 19:22:46 -07:00
Mark Otto 15b7ce59df grunt 2015-08-18 18:45:12 -07:00
Mark Otto 5ebc46cec3 fix dropdown fonts in header 2015-08-18 18:45:08 -07:00
Jacob Thornton f1827e5f9c add polyfil for bind for tether.js 2015-08-18 17:06:17 -07:00
Jacob Thornton e07071416b Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-18 17:02:24 -07:00
Jacob Thornton 19e43b62ed use proxy not bind in alert 2015-08-18 17:01:56 -07:00
Mark Otto 2685475919 downsize that nav 2015-08-18 01:27:33 -07:00
Mark Otto ff72ea6b81 navbar positioning 2015-08-18 01:18:21 -07:00
Mark Otto 4c7e4e4454 grunt 2015-08-18 01:06:40 -07:00
Mark Otto a3eecaadb0 fix main docs nav to use latest navbar changes 2015-08-18 01:06:36 -07:00
Mark Otto b96f2b4c5b tweak navbar nav spacing 2015-08-18 01:06:14 -07:00
Mark Otto e8e7b2303f grunt 2015-08-18 00:59:48 -07:00
Mark Otto 47d334b28f shoutout navbar-divider 2015-08-18 00:59:44 -07:00
Mark Otto 03f21a75e5 grunt 2015-08-18 00:47:15 -07:00
Mark Otto a84e51a2dc don't let that interfere with the navbar 2015-08-18 00:47:10 -07:00
Mark Otto d6b6a20a0d rewrite navbar once more for lower key styles and a new take on modifiers for improved customization 2015-08-18 00:46:29 -07:00
Mark Otto d073a3beaa rename .inverse to .bg-inverse, add .bg-faded 2015-08-18 00:45:32 -07:00
Mark Otto a4e9a6845a space out form control sizing examples 2015-08-17 23:44:17 -07:00
Mark Otto f1e10c37fd rewrite navbar bits some more 2015-08-17 23:43:59 -07:00
Mark Otto 82615e9919 no bg-color to start on outline buttons so they're easier to use on light and dark color schemes 2015-08-17 23:43:25 -07:00
Mark Otto dcc92778d5 really temporarily disable those heights 2015-08-17 23:42:58 -07:00
Mark Otto 609c1ac2ff tighten up padding on inputs and buttons, disable fixed heights for now 2015-08-17 23:42:39 -07:00
Mark Otto 34f24ddd20 docs grunt 2015-08-17 21:31:23 -07:00
Mark Otto b68acc8938 redo hella docs scss
- clean out commented out code
- break apart homepage.scss into sub files by component
- rename a few files to reflect their new component names
2015-08-17 21:31:17 -07:00
Mark Otto 38efe5ae59 rip commented out old anchor js css 2015-08-17 21:24:39 -07:00
Mark Otto 84a862e75f rebuild docs js 2015-08-17 21:24:25 -07:00
Mark Otto cd592725cb restore docs kill links js 2015-08-17 21:21:39 -07:00
Mark Otto 03b6c35b5d restore docs anchor js 2015-08-17 21:20:36 -07:00
Mark Otto b430ed19d8 docs grunt 2015-08-17 21:16:12 -07:00
Mark Otto 1654f2a6e1 tweak docs spacing 2015-08-17 21:16:09 -07:00
Mark Otto c9ed01d972 grunt 2015-08-17 21:13:54 -07:00
Mark Otto f0a8e56f80 tweak heading sizes 2015-08-17 21:13:52 -07:00
Mark Otto 5dd88488d4 stub out docs links 2015-08-17 21:08:30 -07:00
Mark Otto 78d18c82c7 rip gauges tracking 2015-08-17 21:08:15 -07:00
Mark Otto 8cb0cd3106 tweak that margin 2015-08-17 21:08:07 -07:00
Mark Otto 86f7ee0184 grunt 2015-08-17 20:41:13 -07:00
Mark Otto 8d8f3aa078 fix ads display on homepage 2015-08-17 20:41:10 -07:00
Mark Otto 4cb324afab add redirects for all top level docs sections 2015-08-17 20:34:11 -07:00
Mark Otto abc9f26558 grunt 2015-08-17 18:33:38 -07:00
Mark Otto c3373df95f clean out comments that aren't all that helpful 2015-08-17 18:33:34 -07:00
Mark Otto d2a29b5643 typo 2015-08-17 18:21:59 -07:00
Mark Otto be34e2fde6 grunt 2015-08-17 18:20:33 -07:00
Mark Otto 29b4031db5 allow <button> elements as .dropdown-item's 2015-08-17 18:18:37 -07:00
Mark Otto f6925475dc grunt 2015-08-17 11:21:13 -07:00
Mark Otto 1d222a596e un-nest .dropdown-divider 2015-08-17 11:21:10 -07:00
Mark Otto 9a243f2b66 grunt 2015-08-17 11:19:22 -07:00
Mark Otto e558f490dd Rewrite dropdowns
- Remove nested > selectors for dropdown items
- Update docs examples to use all the new markup
2015-08-17 11:19:14 -07:00
Mark Otto 5d114f8cb4 grunt 2015-08-17 11:18:35 -07:00
Mark Otto 9970983b6b copy 2015-08-17 00:42:41 -07:00
Mark Otto 461b37b034 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-17 00:12:58 -07:00
Mark Otto bce36ae026 narrow homepage grid cols 2015-08-17 00:12:20 -07:00
Mark Otto c6d6135e26 reformat that 2015-08-17 00:12:07 -07:00
Mark Otto 0048e3a32e grunt 2015-08-16 18:20:10 -07:00
Mark Otto 053853a4f5 custom padding on homepage 2015-08-16 18:11:23 -07:00
Mark Otto 18cbb7d695 semibold buttons 2015-08-16 18:11:10 -07:00
Mark Otto 0a78c48064 darken gradient 2015-08-16 18:10:53 -07:00
Mark Otto a52b0d7b03 darken gradient 2015-08-16 18:10:31 -07:00
Jacob Thornton 409ede0a35 rebuild js 2015-08-15 12:19:11 -07:00
Jacob Thornton 05c7a37507 fix dropdown test 2015-08-15 12:17:13 -07:00
Jacob Thornton c830956d17 change modal.js to use is-fixed classes to target padding-right 2015-08-15 12:10:24 -07:00
Jacob Thornton db14bac42f update tooltip/popover docs 2015-08-15 12:07:06 -07:00
Mark Otto c064eef67b Massive cleanup
- Simpler main nav on all pages
- Back to purple masthead on homepage instead of dark graphite
- Active link styles on the main nav
- Cleaned up sidebar nav
- New docs layout name
- Homepage copy edits
- Updated bright purple docs color
2015-08-14 22:45:55 -07:00
Mark Otto b388778f1f restyle zeroclipboard doodad 2015-08-14 00:47:41 -07:00
Mark Otto 31cddd11c6 bump headings 2015-08-14 00:36:47 -07:00
Mark Otto 43e1678bf3 update utils, use important 2015-08-14 00:36:26 -07:00
Mark Otto 6a75d07e0c Use -* vars for .bg-* and .text-* utilities
- Simplifies variables usage
- Makes components and brand variable usage more consistent (dark bg and white text throughout instead of some mixed light and dark bgs)
- Very likely means lower contrast and thus no more AA compliance (we'll want to fix that eventually obviously)
2015-08-13 23:47:47 -07:00
Mark Otto b2f9fe4a3e grunt it 2015-08-13 23:18:58 -07:00
Mark Otto 1da01e68ba variables cleanup
- new vars for .lead size and weight (previously had none)
- new var for default margin-bottom on h1-h6 elements (previously had none)
- rearranged vars to combine two typography sections into one in variables.scss
- reassigned border-width var to hr-border-width
- made hr-border more specific as hr-border-color
2015-08-13 23:18:32 -07:00
Mark Otto d734653c3d use conditional mixin for transitions on buttons 2015-08-13 23:13:54 -07:00
Mark Otto 27fbc77ecb add note about variable structure 2015-08-13 23:13:38 -07:00
Mark Otto 9b1ee31567 nuke the shared padding vars and assign to individual components
- no real need for everything to be 100% shared
- padding looked and felt too large for inputs but not for buttons
- tying forms and buttons seems fine, but throwing in pagination feels wrong
2015-08-13 23:04:16 -07:00
Mark Otto 879114a808 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-12 22:56:56 -07:00
Mark Otto 6af9412674 move form validation icon vars to variables file 2015-08-12 22:39:46 -07:00
Thomas McDonald d8acb36777 fix breadcrumbs libsass content 2015-08-12 22:14:58 -07:00
Mark Otto 28d399c436 grunt 2015-08-12 22:14:38 -07:00
Mark Otto faacbdb49f Remove .help-block entirely
- Fixes #13267 somewhat.
- Instead of a single, block-level class, let's use a combination of existing elements and classes.
- For block-level help text, use p.text-muted.
- For inline-level help text, use span.text-muted or small.text-muted.
2015-08-12 22:14:31 -07:00
Thomas McDonald dd0fa97856 clarify ie8- 2015-08-12 22:03:32 -07:00
Thomas McDonald 454fc7c03a add example for disabled pager link 2015-08-12 21:17:33 -07:00
Mark Otto 5e928c7c2b Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-12 21:16:56 -07:00
Jacob Thornton 7ba24450be Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-12 21:18:36 -07:00
Jacob Thornton 17ba95c201 rebuild stuff 2015-08-12 21:17:43 -07:00
Mark Otto a0ae458a8a grunt 2015-08-12 21:15:23 -07:00
Mark Otto 067311f44b basic docs fix for badges in list group, still needs more changes 2015-08-12 21:15:19 -07:00
Mark Otto 699f307112 fix fat's broke js... jk it was my shitty css 2015-08-12 21:14:59 -07:00
Jacob Thornton f2ae3ea043 Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-12 21:12:23 -07:00
Jacob Thornton 11abb0f7e9 fix modal 2015-08-12 21:12:03 -07:00
Thomas McDonald 35f064f96c Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-12 21:09:44 -07:00
Thomas McDonald a8023edf16 Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-12 21:09:19 -07:00
Thomas McDonald 1d631e6ca3 remove .badge class from buttons 2015-08-12 21:07:41 -07:00
Mark Otto b1a74195c8 simpler type, docs callout for reproducing the v3 style headings and small text 2015-08-12 20:45:21 -07:00
Mark Otto 314161cb17 remove hella vars from the jumbotron 2015-08-12 20:28:46 -07:00
Mark Otto 0babe3568c simpler gruntfile watch 2015-08-12 20:14:14 -07:00
Mark Otto 3406e2fd7f Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-12 20:01:38 -07:00
Mark Otto 46fbaab5ef unfuck all that watch shit 2015-08-12 20:01:15 -07:00
Jacob Thornton 9bdb6d13f6 Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-12 20:00:33 -07:00
Jacob Thornton 23d05f1585 get the js working for docs 2015-08-12 19:59:55 -07:00
Thomas McDonald a7e36a1f1b Merge branch 'v4' of github.com:twbs/derpstrap into v4 2015-08-12 19:49:21 -07:00
Thomas McDonald 9305fd378f fix scrollspy example 2015-08-12 19:49:08 -07:00
Mark Otto bbd62031f2 fix blockquote docs 2015-08-12 18:47:15 -07:00
Mark Otto 786b1682a5 small vars change 2015-08-12 18:22:02 -07:00
Mark Otto 2375bb55b0 fix homepage btn classes 2015-08-12 17:50:02 -07:00
Mark Otto 575a886437 fix general page and page header layout 2015-08-12 17:45:47 -07:00
Mark Otto 8e8f8f54cd property order 2015-08-12 17:23:44 -07:00
Mark Otto 37eb1e1d8b fix well to card 2015-08-11 12:28:28 -07:00
Mark Otto 58051f959f tweak collapse docs 2015-08-11 09:50:36 -07:00
Mark Otto eb41c812e4 fix config for ignoring assets source scss 2015-08-10 23:48:33 -07:00
Mark Otto 2e98fd872c compile latest 2015-08-10 23:43:32 -07:00
Mark Otto a90f6c7093 reorder variables, rename -color to -color 2015-08-10 23:38:41 -07:00
Mark Otto 67765587d9 no more use for that 2015-08-10 23:30:13 -07:00
Mark Otto 8c173cd4f8 remove unused badge vars 2015-08-10 23:29:54 -07:00
Mark Otto c871e4c130 clarify comment 2015-08-10 23:29:36 -07:00
Mark Otto 8e0324362e remove unused variable 2015-08-10 23:29:04 -07:00
Mark Otto 9998556556 fix widths on container diagrams 2015-08-10 23:18:45 -07:00
Mark Otto 28bcf047c8 container illustrations 2015-08-10 23:07:50 -07:00
Mark Otto 1624c5b594 remove commented out code 2015-08-10 22:47:50 -07:00
Mark Otto d7f4985639 addresses #14217, add responsive text alignment classes 2015-08-10 22:47:08 -07:00
Mark Otto b814a96aba ads spacing 2015-08-10 16:50:48 -07:00
Mark Otto d1f06ffe83 light gray on docs search input 2015-08-10 16:47:43 -07:00
Mark Otto f5008769a5 really fix that spacing and nesting 2015-08-10 16:46:21 -07:00
Mark Otto d02017e0e5 more margin there 2015-08-10 16:44:47 -07:00
Mark Otto c74e47a139 rewrite alerts docs a bit 2015-08-10 16:36:44 -07:00
Mark Otto 121615ceba dropdown fixes and dropdown docs tweaks 2015-08-10 16:31:28 -07:00
Mark Otto 9fe6b85c32 rewrite dropdown events in markdown 2015-08-10 16:16:39 -07:00
Mark Otto 80a1b69ce5 compile latest docs css 2015-08-10 16:11:49 -07:00
Mark Otto 03c91b83bd simplify some button docs copy 2015-08-10 16:11:44 -07:00
Mark Otto c78965b47d clean up spacing of table of contents links in docs 2015-08-10 15:56:05 -07:00
Mark Otto de2971c9cc update nav 2015-08-10 15:49:41 -07:00
Mark Otto 84f544b1f2 rename 2015-08-10 15:39:32 -07:00
Mark Otto 292ac7f302 rewrite some grid docs 2015-08-10 15:37:27 -07:00
Mark Otto e76d1677cb move containers.md to overview.md, merge in media queries as new section 2015-08-10 12:47:02 -07:00
Mark Otto 04b5e3010b missing todo 2015-08-10 11:18:40 -07:00
Mark Otto b1d9df0043 stub out a best practices page 2015-08-10 11:18:06 -07:00
Mark Otto 39a8402b65 rip community as separate page, move to intro and restore table of contents on intro 2015-08-10 11:11:35 -07:00
Mark Otto 7c87b75499 remove two pages that are now elsewhere 2015-08-10 11:03:03 -07:00
Mark Otto b58e4dc3cd remove that snippet 2015-08-10 11:02:54 -07:00
Mark Otto 131fec0f5b mention globals in intro page 2015-08-10 11:02:39 -07:00
Mark Otto e839b093a0 move compilting to build-tools, rewrite some grunt stuff, add local docs with jekyll section based on readme's more detailed walkthrough 2015-08-10 10:29:35 -07:00
Mark Otto 510522039b tweak options, renamed from customize 2015-08-10 10:05:38 -07:00
Mark Otto 6191e5e696 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-10 00:15:31 -07:00
Mark Otto 58e03cd4bf tweak buttons docs 2015-08-10 00:05:40 -07:00
Thomas McDonald 24dd18c043 Merge pull request #135 from twbs/force-expanded
specify expanded output style for generated css with libsass
2015-08-10 00:02:30 -07:00
Mark Otto 743717fbce really fix those outline buttons 2015-08-09 23:45:36 -07:00
Mark Otto eaeee93fa3 docs rearrange 2015-08-09 23:38:16 -07:00
Thomas McDonald b84bb4e218 Merge branch 'v4' into force-expanded 2015-08-09 23:33:52 -07:00
Thomas McDonald 0ef0825d01 specify expanded output style for generated css with libsass
(also fix license banner generator bug)
2015-08-09 23:16:43 -07:00
Mark Otto 317c667d1c rewrite browser and device support 2015-08-09 23:12:09 -07:00
Mark Otto 491cc512ad build 2015-08-09 22:50:04 -07:00
Mark Otto 3c64005317 nav update 2015-08-09 22:49:59 -07:00
Mark Otto 5d11eaa1de update description 2015-08-09 22:49:52 -07:00
Mark Otto 74ee24db1e treat old .btn-outline docs button as a true .btn modifier 2015-08-09 22:49:42 -07:00
Mark Otto e7b1123310 update button borders to match bgs for easier outline button styling 2015-08-09 22:49:21 -07:00
Mark Otto ce22176624 rewrite downloads page 2015-08-09 22:49:03 -07:00
Mark Otto 68e4d897ba shoutout to outline buttons 2015-08-09 22:48:48 -07:00
Mark Otto 91d236664d new getting started intro overview doodad 2015-08-09 22:48:33 -07:00
Mark Otto f651338a88 disable the custom builds generation for now: 2015-08-09 21:45:08 -07:00
Mark Otto 08d6dc5b71 add basic figure support 2015-08-09 21:42:47 -07:00
Mark Otto 253bb378e2 fix downloads link on homepage 2015-08-09 21:19:25 -07:00
Mark Otto 7a50a2cbe8 introduce display heading classes 2015-08-09 21:17:27 -07:00
Mark Otto 44fe355ec2 un-affix top navbar 2015-08-09 20:31:16 -07:00
Mark Otto 31a47369bb content 2015-08-09 20:28:46 -07:00
Mark Otto c6d5fee88a transitions and text changes 2015-08-08 21:37:48 -07:00
Mark Otto 8a92a9ab3b fix broke example 2015-08-08 16:54:46 -07:00
Mark Otto bf465da2d9 more than images tbh 2015-08-08 16:53:25 -07:00
Mark Otto 7370885338 grid docs tweaks 2015-08-08 16:51:13 -07:00
Mark Otto e592a23eb7 docs twerks 2015-08-08 14:57:12 -07:00
Mark Otto 66305c5b02 correct url 2015-08-08 14:22:46 -07:00
Mark Otto 7936455907 tweak that, link to downloads 2015-08-08 14:22:31 -07:00
Mark Otto ee747f4adf tweak getting started quickstart docs 2015-08-08 14:20:38 -07:00
Mark Otto 7c3f5b6d59 rewrite some forms docs, use new validation styles and icons 2015-08-08 14:15:09 -07:00
Mark Otto 14d8c29596 fix broken markup 2015-08-05 23:50:27 -07:00
Mark Otto cdb06e544c fix list group button variation by including text-align inherit and a width 100% 2015-08-05 23:49:39 -07:00
Mark Otto ee133a9cd4 fix ads styles 2015-08-05 23:26:10 -07:00
Mark Otto 0173b553d5 fix broken table in the forms docs 2015-08-05 23:19:15 -07:00
Mark Otto 36800a2740 primary btn there as well 2015-08-05 23:15:12 -07:00
Mark Otto be299c1b8b switch to primary button there 2015-08-05 23:14:53 -07:00
Mark Otto f534cabc7e wider horizontal padding 2015-08-05 23:14:41 -07:00
Mark Otto 72fc441738 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-08-05 17:50:19 -07:00
Mark Otto fed0d8a2d4 restore page headers, use partial and page frontmatter to organize it 2015-08-05 17:47:45 -07:00
Mark Otto daa21c3634 start in on new headers 2015-08-05 16:21:28 -07:00
Mark Otto be3f8d9bcc simple layout for examples 2015-08-05 00:57:35 -07:00
Mark Otto bc88c90b2c footer overhaul again 2015-08-05 00:54:30 -07:00
Mark Otto 97bcfb9e7f rip badges 2015-08-05 00:48:42 -07:00
Mark Otto 8a7e08ebd2 docs twerks 2015-08-05 00:46:27 -07:00
Mark Otto 9330c4a947 Run just as fast as I can
To the middle of nowhere
To the middle of my frustrated fears
And I swear you're just like a pill
Instead of makin' me better,
You keep makin' me ill
You keep makin' me ill

adds .label-pill to replace .badge
2015-08-05 00:45:41 -07:00
Mark Otto d80f26fe49 unaffix sidebar and simplify styles of docs side nav to be more like v3 2015-08-05 00:38:36 -07:00
Mark Otto 0156fc1c9d mathematical! 2015-08-05 00:16:00 -07:00
Mark Otto 6848ee2484 top level examples link 2015-08-05 00:12:26 -07:00
Mark Otto 6836530f72 account for nav on docs pages 2015-08-05 00:10:15 -07:00
Mark Otto b728fe2bbd tweak homepage copy and layout 2015-08-05 00:05:05 -07:00
Mark Otto 95b0ec18f4 new global navbar for all docs pages 2015-08-04 23:39:51 -07:00
Mark Otto 60a045634c grunt 2015-08-04 23:24:22 -07:00
Mark Otto 5e8baa3004 yay 2015-08-04 22:47:22 -07:00
Mark Otto 4b506b9b11 color function that shiz 2015-08-04 22:46:49 -07:00
Mark Otto 042b5fc7eb tweak footer styles 2015-08-04 22:39:54 -07:00
Mark Otto d318d64c08 grunt 2015-08-04 22:31:18 -07:00
Mark Otto 1ddc3f5e21 Merge branch 'master' into v4m 2015-08-04 22:29:45 -07:00
Chris Rebert 8ee9da2f54 Merge pull request #134 from twbs/fix-license
correct package.json license field
2015-07-25 11:33:47 -07:00
Thomas McDonald 2f56b52542 correct package.json license field
"bootstrap@4.0.0-alpha license should be a valid SPDX license expression"
2015-07-25 11:28:00 -07:00
Mark Otto b451104bcd use mixin on input transition 2015-07-03 18:35:53 -07:00
Mark Otto 4665b9dd6f Add new variable for -box-shadow 2015-07-03 18:35:46 -07:00
Mark Otto 932ac79611 remove -darker 2015-07-03 18:33:31 -07:00
Mark Otto 847470ca09 grunt 2015-06-22 23:25:18 -07:00
Mark Otto b5bfc7c252 line-height-base in docs 2015-06-22 23:25:14 -07:00
Mark Otto 18da568b8b rewrite some navbar stuff, clean out some commented out code 2015-06-22 23:24:55 -07:00
Mark Otto ed42fc9b76 line-height-base to line-height var 2015-06-22 23:24:32 -07:00
Mark Otto 03a5ff6b82 remove commented out var 2015-06-22 22:52:14 -07:00
Mark Otto 057f82f8c3 indentation 2015-06-22 22:52:09 -07:00
Mark Otto acca337ced Remove var 2015-06-22 19:02:30 -07:00
Mark Otto 75cf69a1ab drop more -base, clean up var spacing 2015-06-22 18:57:56 -07:00
Mark Otto 0ca9b21c34 drop the base (hahaha), no but seriously drop the -base from our vars since it's cleaner 2015-06-22 18:53:04 -07:00
Mark Otto d703396bce comment 2015-06-22 17:37:52 -07:00
Mark Otto 278804fa31 grunt 2015-06-22 16:33:23 -07:00
Mark Otto 4565281df3 rename -horizontal and -vertical vars to -x and -y for consistency 2015-06-22 16:33:17 -07:00
Mark Otto 96e7ceed90 grunt 2015-06-22 16:30:56 -07:00
Mark Otto 9b5fe0ca46 clarify some stuff about small navbar; also renamed navbar-condensed to -sm 2015-06-22 16:30:52 -07:00
Mark Otto ce9c0f0125 tweak small forms, small inputs; trying to equalize their rendered dimensions 2015-06-22 16:30:31 -07:00
Mark Otto 5f20106784 fix margin again 2015-06-22 16:17:18 -07:00
Mark Otto bfd0267c1e Merge pull request #130 from twbs/v4_builds
Custom v4 CSS builds
2015-06-19 20:41:20 -07:00
Mark Otto bc29c016b7 Merge branch 'v4' into v4_builds 2015-06-19 16:26:33 -07:00
Mark Otto 3df2d085ed fix scsslint.yml path 2015-06-19 00:14:52 -07:00
Mark Otto eaa67a82d3 fix scss linting 2015-06-19 00:14:36 -07:00
Mark Otto 930ed8df32 nuke unused .csslintrc 2015-06-19 00:05:40 -07:00
Mark Otto c8f74b804b remove less dir 2015-06-19 00:02:51 -07:00
Mark Otto e4d72c914d fix vars, grunt that shit 2015-06-19 00:01:57 -07:00
Mark Otto ecc7d9ba26 fix placement of mixin 2015-06-19 00:00:21 -07:00
Mark Otto 169d2a4a78 Merge branch 'master' into v4 2015-06-18 23:56:43 -07:00
Mark Otto df2ca92d77 Use percentages in responsive embed modifiers
- Credit: @adammacias
- Originally proposed in #16499 with previous commit
2015-06-18 16:03:48 -07:00
Mark Otto 331b8d2250 Add 21x9 responsive embed modifier
- Credit: @adammacias
- Fixes #16499
2015-06-18 16:01:52 -07:00
Mark Otto b39ce7d6c0 grunt 2015-06-18 15:48:54 -07:00
Mark Otto 8410afe0e1 Create new stylesheets for optional builds and add them to Gruntfile tasks 2015-06-18 10:19:50 -07:00
Mark Otto e615ae053c overhaul nav and shit again
- drop the index pages save for examples
- comment out the extend section for now
- fix up spacing fix on team list
2015-06-13 14:05:25 -07:00
Mark Otto ea803e55ff album example added 2015-06-13 13:26:10 -07:00
Mark Otto 6e3054be68 components index 2015-06-13 13:26:05 -07:00
Mark Otto 840938f09d tweak code styles 2015-06-09 16:28:17 -07:00
Mark Otto 5acefab4cf spec out variables customize docs 2015-06-09 16:28:09 -07:00
Mark Otto 960cbe6162 some download changes 2015-06-09 16:09:33 -07:00
Mark Otto cbdfdd5a9e copy editing on homepage 2015-06-09 15:45:40 -07:00
Mark Otto 07c7d2d1de remove commented out css 2015-06-09 15:24:28 -07:00
Mark Otto 7f37ec1be3 grunt 2015-06-09 15:23:21 -07:00
Mark Otto 393ccd12d8 hide the brand on small viewports 2015-06-09 15:23:18 -07:00
Mark Otto 6b1c9ee8d5 redo most of the css for the masthead, page headers, and ads 2015-06-09 15:22:57 -07:00
Mark Otto 2d094f9d0f grunt 2015-06-08 21:14:54 -07:00
Mark Otto 9863eb75d2 move spacing utils to separate file, document them a bit 2015-06-01 01:19:02 -07:00
Mark Otto c1a84e38c7 grunt 2015-05-31 23:53:14 -07:00
Mark Otto 97a6275e54 add updated scss lint yml file 2015-05-31 20:17:57 -07:00
Mark Otto cb8304e4c4 clarify ie8- support 2015-05-30 15:30:44 -07:00
Mark Otto 7783ef8fab remove utils from media alignment 2015-05-29 16:05:42 -07:00
Mark Otto ed4e873fe1 comment out third level of nav 2015-05-29 14:05:42 -07:00
Mark Otto 7c552d70fc fix utils ToC listing by unnesting headings 2015-05-29 14:05:31 -07:00
Mark Otto e6bc8da426 fix thumbnails for everywhere 2015-05-29 14:05:14 -07:00
Mark Otto 933639729f enforce line-height on badges at all times 2015-05-29 14:05:02 -07:00
Mark Otto 163dd5296e move flexbox to getting started 2015-05-29 13:53:22 -07:00
Mark Otto 38c7813c72 grunt 2015-05-29 13:09:57 -07:00
Mark Otto 8e6df4325e cards update 2015-05-29 13:09:54 -07:00
Mark Otto 71bcf0dd0b update cards docs to clarify things, fix remaining broken cards 2015-05-29 13:09:07 -07:00
Mark Otto 43b083effb grunt 2015-05-29 02:09:44 -07:00
Mark Otto 587f5f8efd clean up card styles. add new vars 2015-05-29 01:59:54 -07:00
Mark Otto 719afd48ac style the markdown toc a bit to hide the first item (the contents heading) 2015-05-29 01:59:20 -07:00
Mark Otto b455ed8def add markdown toc stuff 2015-05-29 01:58:52 -07:00
Mark Otto 9e1af0d743 fix scrolling of sidebar 2015-05-28 20:05:48 -07:00
Mark Otto 67f2e77955 don't use anchor.js on h1s in the docs 2015-05-28 14:08:25 -07:00
Mark Otto 7c594f2069 change card styles in docs examples to use just a max-width for now 2015-05-28 14:08:11 -07:00
Mark Otto 9b1d5adf3f change holder from blue to gray 2015-05-28 14:07:45 -07:00
Mark Otto 74d17ab7a0 rewrite much of cards and the docs 2015-05-28 14:07:34 -07:00
Mark Otto e07cebc90e add flexbox variation for .card-group 2015-05-28 10:37:12 -07:00
Mark Otto 6e3d4331db new card sizing maybe 2015-05-27 19:00:11 -07:00
Mark Otto 4bc58b9a5a when using flexbox, don't add a clearfix
doing so fubars the grid column rounding (in safari at least) and causes layout problems
2015-05-27 17:37:22 -07:00
Mark Otto 663576a7ae Merge branch 'v4' of https://github.com/twbs/derpstrap into v4
Conflicts:
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	docs/assets/css/docs.min.css
2015-05-27 15:49:55 -07:00
Mark Otto bd971c49b0 stub out flexbox layout docs 2015-05-22 23:20:21 -07:00
Mark Otto a335e54573 remove tabindex=-1 as it was causing a weird select state in latest safari on yosemite when clicking anywhere in the negative space of the header 2015-05-22 22:48:12 -07:00
Mark Otto 4238e2057f grunt 2015-05-22 22:34:04 -07:00
Mark Otto e84bc04e20 button alignment in nav 2015-05-22 22:33:58 -07:00
Mark Otto ddafee6ece disable flex to start 2015-05-22 22:33:45 -07:00
Chris Rebert 3fe894ba36 Merge pull request #120 from twbs/really-fix-dist-css
Really fix dist-css
2015-05-15 15:12:15 -07:00
Chris Rebert 82c9038f20 Unquote to avoid NUL chars in the output CSS 2015-05-15 12:17:13 -07:00
Chris Rebert 62da5947a8 Permanent proper fix for dist-css
Bump mq4-hover-shim to ^0.2.0

Revert "fix dist css"
This reverts commit b12d4bfa9a.
2015-05-15 12:12:29 -07:00
Mark Otto 33a578070b Merge pull request #119 from twbs/fat-fix-dist-css
fix dist css
2015-05-14 13:16:33 -07:00
fat b12d4bfa9a fix dist css 2015-05-14 13:13:33 -07:00
fat dbaffd43c0 Merge pull request #116 from twbs/fat-es6Alert
es6 - wip
2015-05-13 15:01:39 -07:00
fat 6b2b0ed32f al tests passing, dist rebuilt, w/typechecker 2015-05-13 14:52:46 -07:00
fat eaab1def7a add simple type checker implementation 2015-05-13 14:46:50 -07:00
fat c2ced2292a fix up tests 2015-05-13 13:46:08 -07:00
fat b0d142334f fix #15301 2015-05-13 13:43:56 -07:00
fat 7ef0e52fd0 add "focus" option for turning off modal focusing #16050 2015-05-13 13:22:26 -07:00
fat da495ee24c address https://github.com/twbs/bootstrap/pull/16135 2015-05-13 13:15:11 -07:00
fat f8b2569ec8 implement global dispose method 2015-05-13 12:48:34 -07:00
fat dafdd180cd add umd module support in dist 2015-05-13 10:13:34 -07:00
fat 6b251582d6 update attachment -> placement 2015-05-12 16:54:21 -07:00
fat ab1578465a grunt test-js, grunt dist-js now working 2015-05-12 16:52:54 -07:00
fat a58febf71a popover passing as well 2015-05-12 14:35:00 -07:00
fat 3452e8dc83 rewritten tooltip + tether integration and death to our positioner jank 2015-05-11 23:32:37 -07:00
fat 8eee78ca15 tab es6 2015-05-11 12:29:06 -07:00
fat 2d91494d96 scrollspy es6 2015-05-11 12:05:35 -07:00
fat ca9c850ebb add getters for Version and Default where applicable
add modal my gawd
2015-05-10 19:45:38 -07:00
fat bbb97a8660 add dropdown 2015-05-10 13:47:11 -07:00
fat 8bab38bb71 add collapse 2015-05-09 23:04:58 -07:00
fat 1b183e2ff7 carousel -> es6 2015-05-07 22:26:40 -07:00
fat 6605051882 button -> es6 2015-05-07 17:14:38 -07:00
fat c3a79b1a8c change the export pattern to protect against leaking globals 2015-05-07 16:34:28 -07:00
fat 0724bd91ff es6 alert :| 2015-05-07 12:57:31 -07:00
fat 06b1d49808 Merge pull request #115 from twbs/fat-revertJS
remove closureness from plugins
2015-05-06 13:45:48 -07:00
fat d1fbe200f4 remove closureness from plugins 2015-05-06 13:34:14 -07:00
Chris Rebert ee33891e42 Merge pull request #60 from twbs/libsass-185
Remove libsass @media nesting bug workaround
2015-05-06 13:29:02 -07:00
Chris Rebert 09fb80568a Merge pull request #114 from twbs/grunt-sass-1
Bump grunt-sass to ^1.0.0
2015-05-06 13:17:17 -07:00
Chris Rebert 1e85e0f891 Bump grunt-sass to ^1.0.0 2015-05-06 13:08:39 -07:00
Mark Otto 68bcb89291 Update buttons.md 2015-04-30 14:39:57 -07:00
Mark Otto 8174f6c409 update buttons role copy
/cc @cvrebert @patrickhlauke
2015-04-30 11:40:54 -07:00
Mark Otto b8fa32edd2 le grunt 2015-04-29 12:02:02 -07:00
Mark Otto d31ec33908 Fix no-label checkboxes/radios
Because we use `position: absolute` on our inputs, when there’s no
label the `.checkbox` ends up having no computed height. To avoid
rendering errors when there’s no label text, we reset the `position` to
`static` for normal rendering.
2015-04-29 12:01:57 -07:00
Mark Otto ed89be1f44 Remove $line-height-computed
We have it set to `1` right now just to avoid compilation errors, but
it’s been replaced everywhere with our new spacer classes anywho. We’ll
likely want to remap that var to custom component vars though (e.g.,
`$pagination-margin` instead of `$spacer-y`).
2015-04-29 12:00:11 -07:00
Mark Otto 7db7e59682 spacing 2015-04-29 11:49:41 -07:00
Mark Otto b849be2edc rename media query var to match /cc @cvrebert 2015-04-29 11:49:25 -07:00
Mark Otto 95771f9658 clean up vars file a smidge 2015-04-29 11:48:58 -07:00
Mark Otto a999a0aff2 remove some callouts on buttons by rewriting things a bit 2015-04-29 11:44:19 -07:00
Mark Otto 52133e41c5 grunt 2015-04-29 11:42:53 -07:00
Mark Otto 19d8585bfa clean up sidebar styles 2015-04-29 11:42:50 -07:00
Mark Otto 47dfdc2880 darker secondary button border color 2015-04-29 11:42:38 -07:00
Mark Otto a399d19dd3 add comments 2015-04-29 11:32:49 -07:00
Mark Otto 35f45bafed Merge pull request #113 from twbs/at-root-group
Wrap `@viewport` with `@at-root` for nested import support
2015-04-29 11:30:09 -07:00
Mark Otto 9e1c4f0557 Merge pull request #111 from twbs/flex
$enable-flex
2015-04-29 11:28:26 -07:00
Mark Otto d9d351e2fe more flex grid stuff 2015-04-27 14:11:07 -07:00
Gleb Mazovetskiy b832c3cb97 Wrap @viewport with @at-root for nested import
See https://github.com/twbs/bootstrap-sass/pull/805
2015-04-27 20:15:17 +01:00
Mark Otto 15692d5e5b flex variation for media 2015-04-27 01:50:38 -07:00
Mark Otto 391b62f968 stub out flexbox variation for input group 2015-04-27 01:43:30 -07:00
Mark Otto 9d4d6ef3a2 stub out flexbox grid variation via -flex 2015-04-27 01:43:14 -07:00
Mark Otto b9ed61854c grunt 2015-04-27 00:51:34 -07:00
Mark Otto 847b7bc71e fix up file example 2015-04-27 00:51:31 -07:00
Mark Otto aee20f7ffc docs note 2015-04-26 07:49:11 -07:00
Mark Otto dc835db51c fix progress bar animation button 2015-04-26 07:17:45 -07:00
Mark Otto 28d8849216 remove some un-used grid class resets in input groups 2015-04-26 00:18:13 -07:00
Mark Otto efd28a5e78 unnecessary comment 2015-04-26 00:14:27 -07:00
Mark Otto 219c4cbf87 remove another extend 2015-04-26 00:08:40 -07:00
Mark Otto 6489e19530 remove more old navbar styles 2015-04-26 00:07:37 -07:00
Mark Otto b688fe822c remove the old navbar-form class 2015-04-26 00:06:45 -07:00
Mark Otto 7853a675f6 remove extends: navs and unstyled lists 2015-04-26 00:02:25 -07:00
Mark Otto e815696dac Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-04-25 23:53:25 -07:00
Mark Otto 3117c98f13 nav 2015-04-25 13:20:59 -07:00
Mark Otto 20543d5462 Merge pull request #109 from twbs/callout-if
re-work callout tag conditional
2015-04-24 15:05:57 -07:00
Thomas McDonald 58c208ec73 re-work callout tag conditional
Output a warning if the type is not supported and default to info
2015-04-24 22:21:12 +01:00
Chris Rebert 4c3c402b0e forms.md: fix typo 2015-04-23 17:33:35 -07:00
Chris Rebert ff85ad1472 card.md: fix typo 2015-04-23 17:17:48 -07:00
Chris Rebert bce2fa4f2d Merge pull request #28 from twbs/tooltip-display-none-error
throw error when trying to show tooltip on :hidden element
2015-04-23 17:15:41 -07:00
Chris Rebert 0d77644fc4 throw error when trying to show tooltip on :hidden element 2015-04-23 17:14:45 -07:00
Chris Rebert cfcc597c85 reboot.md: fix typo 2015-04-23 16:30:12 -07:00
Chris Rebert 78c18954a8 _reboot.scss: fix typo in comment 2015-04-23 16:27:03 -07:00
Mark Otto ed319e3178 fix example thumbs 2015-04-23 01:43:38 -07:00
Mark Otto fe6756485f add card grid sizing 2015-04-23 01:33:19 -07:00
Mark Otto 37e543759b scope grid example styles better 2015-04-23 01:30:55 -07:00
Mark Otto 1770df724e update input groups to use new form control size classes 2015-04-23 01:14:43 -07:00
Mark Otto cc7c27dd71 drop .form-horizontal 2015-04-23 01:11:10 -07:00
Mark Otto 2cf5213c15 remove commented out code 2015-04-23 01:10:57 -07:00
Mark Otto 490294e68b Fix up some form docs styles, sizing, etc 2015-04-23 01:10:14 -07:00
Mark Otto dc3abb5f12 Update labels and form grid examples 2015-04-23 00:51:39 -07:00
Mark Otto 56e267e71f more migration docs notes 2015-04-23 00:14:52 -07:00
Mark Otto b45d719e37 more reboot edits 2015-04-22 23:13:11 -07:00
Mark Otto 46a3506a42 clarify some docs, improve layout 2015-04-22 23:09:05 -07:00
Mark Otto fd88ae4b4e recenter homepage 2015-04-20 16:59:21 -07:00
Mark Otto 57eee3d852 change borders on homepage featurettes 2015-04-18 20:04:17 -07:00
Mark Otto 0cf8154fb6 no quick start link 2015-04-18 18:16:14 -07:00
Mark Otto fbfba7b212 Move getting started's quick start to the getting started index 2015-04-18 18:15:58 -07:00
Mark Otto 209cdf33f9 update navbar and nav link values 2015-04-18 18:15:24 -07:00
Mark Otto 325133b33f fix nav 2015-04-18 18:15:19 -07:00
Mark Otto 89db64d4f7 stub out that customize page 2015-04-18 18:12:18 -07:00
Mark Otto 8f94078da8 New form control sizing, new navbar condensed variation, update nav and navbar spacing 2015-04-18 18:12:10 -07:00
Mark Otto 7e86bfd9ac change nav to use index files for each section; stub out index views for everything 2015-04-18 12:28:50 -07:00
Mark Otto d64c93e09a grunt 2015-04-18 12:23:12 -07:00
Mark Otto 250c2200bf no more dl-horizontal offset or page-header vars 2015-04-18 11:53:10 -07:00
Mark Otto 35be16cffa remove legend vars as we no longer use them 2015-04-18 11:39:13 -07:00
Mark Otto ac1ed746ef more comments and formatting clean up 2015-04-18 11:38:47 -07:00
Mark Otto 2237572e8b clean up commented out code in forms 2015-04-18 11:30:29 -07:00
Mark Otto 09886480e0 remove commented out code for auto aligning navbar dropdown menus 2015-04-18 11:17:42 -07:00
Mark Otto ddf4867a5e comments and spacing 2015-04-18 11:17:32 -07:00
Mark Otto 49f874468b comments and spacing 2015-04-18 11:17:28 -07:00
Mark Otto b88c05d564 clean up comments and spacing 2015-04-18 11:15:40 -07:00
Mark Otto 88a92e433d move abbr stuff for tooltip to reboot, clean up type scss 2015-04-18 11:13:45 -07:00
Mark Otto 81fb03406e move responsive embed to utilities docs, update the nav to dedupe things 2015-04-17 21:07:09 -07:00
Mark Otto 80239a3da4 grunt 2015-04-17 20:59:26 -07:00
Mark Otto b326ecdd65 move js tabs docs to navs docs page 2015-04-17 20:59:22 -07:00
Mark Otto fe203ec382 reorganize code docs 2015-04-17 20:19:51 -07:00
Mark Otto 2fb6dc26c8 remove page header from nav 2015-04-17 20:01:43 -07:00
Mark Otto bf085b1a02 delete the .page-header and its docs 2015-04-17 20:00:38 -07:00
Mark Otto b0b17b3c56 lighter footer border 2015-04-17 19:51:20 -07:00
Mark Otto a7f4fc5849 rewrite alert docs 2015-04-17 19:51:15 -07:00
Mark Otto 2672507532 update nav 2015-04-17 17:26:19 -07:00
Mark Otto 4b58ee15b5 remove some typography docs from that page because they're covered in the reboot 2015-04-17 17:18:36 -07:00
Mark Otto 19b05505f7 nav updates for forms 2015-04-17 16:52:27 -07:00
Mark Otto abde088bde grunt 2015-04-17 16:50:07 -07:00
Mark Otto a4aa650d7d move custom forms docs to the forms docs page 2015-04-17 16:50:02 -07:00
Mark Otto 611a127a1e change the type scale a bit again 2015-04-17 16:49:48 -07:00
Mark Otto bf5931b5ee massive rewrite of forms docs and some css 2015-04-17 16:02:41 -07:00
Mark Otto 7f3c85ecdc remove nested .bd-example 2015-04-17 14:24:11 -07:00
Mark Otto 8b93787fd2 move all JS buttons docs to regular buttons docs page, rewrite the callouts and some docs verbage 2015-04-17 14:11:08 -07:00
Mark Otto 0156f9a237 move remaining files to components subdir 2015-04-17 12:41:49 -07:00
Mark Otto e70d9077f0 move buttons from content to components 2015-04-17 12:40:25 -07:00
Mark Otto f58143e7d6 editing intro 2015-04-17 12:39:39 -07:00
Mark Otto 970e76ea25 try out a light gray sidebar 2015-04-17 01:32:15 -07:00
Mark Otto a73946b08d move text utilities docs from type to utilities 2015-04-17 01:31:09 -07:00
Mark Otto e782a9b580 rename helpers to utilities in docs, matching the scss file 2015-04-17 01:03:16 -07:00
Mark Otto 7c1635cdb8 narrower borders to get closer to 1px everywhere 2015-04-17 00:44:36 -07:00
Mark Otto 7049a07444 More reboot work, commenting out things that have been moved over 2015-04-17 00:22:35 -07:00
Mark Otto af9ab7b1a7 tweak the font-sizes for headings 2015-04-17 00:21:57 -07:00
Mark Otto cbf0e25280 nav and typo 2015-04-16 23:04:42 -07:00
Mark Otto b1f48d3098 more reboot updates 2015-04-16 19:33:42 -07:00
Mark Otto 0ab1576ae2 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-04-16 18:54:17 -07:00
Mark Otto 605990400e collapsing navbar tools 2015-04-16 18:50:32 -07:00
Mark Otto 06c2862d25 start stubbing out a new reboot section and file 2015-04-16 18:39:45 -07:00
Mark Otto 7001dece8a edit comments a bit 2015-04-16 17:15:29 -07:00
Mark Otto 585f857e71 rename scaffolding to reboot 2015-04-16 17:12:19 -07:00
Mark Otto 36e4cd0287 Move .img- classes to new _images.scss; move hr to _type.scss 2015-04-16 17:10:47 -07:00
Mark Otto cd3bc6a089 Merge pull request #101 from twbs/institutional-memory
Revert "Images are responsive by default"
2015-04-16 17:03:58 -07:00
Mark Otto 466d36e541 Redo all our callouts with the custom callout plugin
- Replaces manual use of .bd-callout with {% callout [type] %}
- Rearranged some callouts for proximity to others
- Turned long lists of callouts--like those on tooltips, plugings, etc--into a list because holy shit that's overwhelming
2015-04-16 16:56:40 -07:00
Mark Otto 801d49fb32 remove margins 2015-04-16 15:15:12 -07:00
Mark Otto f513ff3d73 fix example class in plugin 2015-04-16 15:15:06 -07:00
Mark Otto 5c0b459eb5 break down docs scss into imports, hell yeah 2015-04-16 14:57:49 -07:00
Mark Otto a90de06a60 complete the docs scss toc 2015-04-16 14:37:17 -07:00
Mark Otto 0da9e749e3 redo the anchor css in scss, comment out unused code, add our own styles /cc @xhmikosr 2015-04-16 14:33:32 -07:00
Mark Otto 242cea7544 start toc in docs scss file 2015-04-16 14:09:09 -07:00
Mark Otto c84cf4f7f5 rename classes from .bs-docs and .bs to .bd 2015-04-16 14:07:20 -07:00
Mark Otto 11f37681ef Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-04-15 16:20:17 -07:00
Mark Otto 3c93681245 more docs nav changes 2015-04-15 16:07:50 -07:00
Mark Otto 71b6877328 footer button alignment 2015-04-15 15:56:35 -07:00
Mark Otto 5e0ac61649 footer copy 2015-04-15 15:31:31 -07:00
Mark Otto 650d168fd8 grunt 2015-04-15 15:30:41 -07:00
Mark Otto 6b2775b2fe tweak alignment and spacing 2015-04-15 15:30:38 -07:00
Mark Otto 236a86502e fix spacer vars 2015-04-15 15:30:26 -07:00
Mark Otto e9ceff4a5b don't boost first paragraph on mobile 2015-04-15 15:23:10 -07:00
Mark Otto 30938c6244 fix .highlight spacing 2015-04-15 15:19:42 -07:00
Mark Otto 0635027b53 stub out the need for a homepage getting started section 2015-04-14 16:16:16 -07:00
Mark Otto baad9d75ce grunt and docs 2015-04-14 01:01:37 -07:00
Mark Otto 038d6f8061 more utilities 2015-04-14 01:01:30 -07:00
Mark Otto 8303b7b8c9 nuke shadows for now 2015-04-14 01:01:15 -07:00
Mark Otto 53a3ff74ca redo sidenav 2015-04-13 19:00:59 -07:00
Mark Otto 982c255c28 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-04-13 16:45:19 -07:00
Mark Otto f522f1841e docs derp 2015-04-13 16:36:44 -07:00
Mark Otto 4fdd63a516 remove pre styles -- see #4547 2015-04-13 16:36:36 -07:00
Chris Rebert 2057124cf2 Merge pull request #105 from twbs/beautiful-colors
Print with all the colors of the wind
2015-04-13 10:34:30 -07:00
Chris Rebert d4a2882938 Merge pull request #106 from twbs/href-print
Remove half-assed inclusion of link URLs (hrefs) when printing
2015-04-13 10:33:27 -07:00
Chris Rebert b9164b3690 Remove half-assed inclusion of link URLs (hrefs) when printing
* Relative URLs were output as-is, which is suboptimal or even confusing for end-users
* Ditto for fragment identifiers
* Outputting long URLs inline with prose isn't good UX

JavaScript could potentially help with this (e.g. http://alistapart.com/article/improvingprint).
However, we're not currently interested in trying to tackle the hard problem of fancy print stylesheets/views
(particularly given the level of cross-browser inconsistency when it comes to printing).
So let's just keep things simple, vanilla, and unsurprising,
which should also make it easy for others to add their own print fanciness on top of Bootstrap.
2015-04-11 00:24:27 -07:00
Chris Rebert d8423c0590 Print with all the colors of the wind
Forcing black-and-white text & backgrounds is too harsh. Printing speed isn't everything.
Users or authors can easily enable grayscale themselves if need be.
2015-04-11 00:22:45 -07:00
Mark Otto 7cf23a1846 page nav and title 2015-04-04 23:31:41 -07:00
Mark Otto f98883fc44 move more js stuff to components section 2015-03-30 20:55:00 -07:00
Mark Otto b606d4d11f Move transitions and overview to a javascript page in the getting started section 2015-03-30 20:53:32 -07:00
Mark Otto fad885fd8a Consolidate alerts docs into single page 2015-03-30 20:50:34 -07:00
Mark Otto c86a8736c6 Consolidate dropdown docs into single page 2015-03-30 18:23:35 -07:00
Mark Otto 309264509d Remove grid sizing styles on tables 2015-03-30 18:11:43 -07:00
Mark Otto 6749e5509c rewrite table modifiers to use .table- prefix 2015-03-30 18:08:01 -07:00
Mark Otto 608be81a43 Fixes #13583: Move .sr-only and .sr-only-focusable to mixins, then use them to create classes in _utilities.scss 2015-03-30 17:36:00 -07:00
Mark Otto c82cae9a48 nuke leftover less 2015-03-30 17:22:10 -07:00
Mark Otto 6a2d456719 grunt dist and docs 2015-03-29 00:14:02 -07:00
Mark Otto ef0b88f6b3 fix order 2015-03-29 00:13:30 -07:00
Mark Otto 2f7bfb44c2 fixes 2015-03-29 00:12:19 -07:00
Mark Otto 58082cd83e Merge branch 'master' into v4
Conflicts:
	.gitignore
	Gruntfile.js
	_config.yml
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	dist/js/bootstrap.js
	dist/js/bootstrap.min.js
	docs/_includes/components/navbar.html
	docs/_includes/components/progress-bars.html
	docs/_includes/css/grid.html
	docs/_includes/css/overview.html
	docs/_includes/customizer-variables.html
	docs/_includes/getting-started/accessibility.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/getting-started/community.html
	docs/_includes/getting-started/disabling-responsiveness.html
	docs/_includes/getting-started/download.html
	docs/_includes/getting-started/examples.html
	docs/_includes/getting-started/license.html
	docs/_includes/getting-started/third-party-support.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/modal.html
	docs/_includes/js/popovers.html
	docs/_includes/js/scrollspy.html
	docs/_includes/js/tabs.html
	docs/_includes/js/tooltips.html
	docs/_includes/js/transitions.html
	docs/_includes/nav/javascript.html
	docs/_includes/nav/main.html
	docs/about.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/assets/js/src/customizer.js
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/dist/js/bootstrap.js
	docs/dist/js/bootstrap.min.js
	docs/migration.html
	js/affix.js
	js/alert.js
	js/button.js
	js/carousel.js
	js/collapse.js
	js/dropdown.js
	js/modal.js
	js/popover.js
	js/scrollspy.js
	js/tab.js
	js/tests/unit/affix.js
	js/tests/unit/button.js
	js/tests/unit/carousel.js
	js/tests/unit/modal.js
	js/tests/unit/tooltip.js
	js/tests/visual/modal.html
	js/tooltip.js
	less/component-animations.less
	less/jumbotron.less
	less/mixins/background-variant.less
	less/mixins/buttons.less
	less/mixins/responsive-visibility.less
	less/mixins/text-emphasis.less
	less/navbar.less
	less/navs.less
	less/scaffolding.less
	less/tooltip.less
	less/utilities.less
	less/variables.less
	package.json
	scss/_buttons.scss
	scss/_forms.scss
	scss/_modal.scss
2015-03-29 00:08:54 -07:00
Chris Rebert 763d77e210 Revert "Images are responsive by default"
This reverts commit d29f851e82.

Making <img>s responsive by-default without opt-in can severely break
third-party widgets such as Google Maps.
This was an acknowledged problem in Bootstrap v2
(see https://github.com/twbs/bootstrap/issues/1506 ) and was fixed in v3
by requiring the .img-responsive class for explicit opt-in
(see 09cdee2f03).
The situation hasn't really changed since then. The responsive-by-default
approach hasn't become any more suitable in the intervening time.

So let's avoid having this regress in v4. :-)
2015-03-28 04:06:22 -07:00
Mark Otto 321c3b66bb more migration content 2015-03-11 19:50:00 +00:00
Mark Otto f36aa15bd0 start to fill in more migration docs 2015-03-11 19:45:48 +00:00
Mark Otto 3f3f4c6420 grunt css 2015-03-11 19:19:26 +00:00
Mark Otto 594f1fa4a0 update image docs and styles 2015-03-11 19:19:22 +00:00
Mark Otto d29f851e82 Images are responsive by default 2015-03-11 19:19:03 +00:00
Mark Otto 928cfb0697 grunt css 2015-03-11 19:03:18 +00:00
Mark Otto a490c312d8 better tables in the docs 2015-03-11 19:03:10 +00:00
Mark Otto 7253bd38f7 simplify grunt compiling docs 2015-03-11 19:02:32 +00:00
Mark Otto e70d83dc5d comment out download options for now 2015-03-09 15:40:32 +00:00
Mark Otto 52d2a14ebe simplify js docs overview section 2015-03-09 15:35:45 +00:00
Mark Otto 14e3b6b7bd scope the anchor highlighting 2015-03-09 15:21:34 +00:00
Mark Otto bbce37c52d fix page layout for examples overview 2015-03-09 15:21:05 +00:00
Mark Otto 974d9cfb65 more component alignment fixes for docs 2015-03-09 15:08:13 +00:00
Mark Otto 707e008d4b copy change 2015-03-09 15:03:11 +00:00
Mark Otto 46313d5d06 fix alignment of progress elements in examples 2015-03-09 15:03:06 +00:00
Mark Otto edecd2c5f3 nuke theme toggler js 2015-03-09 15:02:51 +00:00
Mark Otto e29455814f typo 2015-03-09 14:50:40 +00:00
Mark Otto 4bc321926f input groups subnav 2015-03-09 14:50:04 +00:00
Mark Otto 5f2872c561 input groups: drop the tooltips warning, move accessibility notice to a sub section 2015-03-09 14:48:51 +00:00
Mark Otto 81259b9c4c simplify input group docs to remove two notices, condense some language 2015-03-09 14:46:32 +00:00
Mark Otto 454cc55e31 remove justified button groups 2015-03-09 14:32:30 +00:00
Mark Otto fd3b376e0d fix examples alignment 2015-03-09 14:30:41 +00:00
Mark Otto 7dcd9c5d63 remove all customizer comments from variables file 2015-03-09 14:18:25 +00:00
Mark Otto 01d1090ed2 grunt action 2015-03-09 14:08:20 +00:00
Mark Otto 8d6c89ec3d nuke those for now 2015-03-09 14:08:13 +00:00
Mark Otto 6944e418eb docs redesign a bit 2015-03-09 14:07:46 +00:00
Mark Otto 9dc5868ea7 Remove dupe docs CSS, move anchor styles to scss directory, recompile 2015-03-01 14:13:13 -08:00
Mark Otto 517977fca4 fix validation, run grunt dist 2015-03-01 14:11:22 -08:00
Mark Otto c16fee5efd Merge branch 'master' into v4
Conflicts:
	.travis.yml
	Gruntfile.js
	bower.json
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	dist/js/bootstrap.js
	dist/js/bootstrap.min.js
	docs/_data/glyphicons.yml
	docs/_includes/components/breadcrumbs.html
	docs/_includes/components/button-dropdowns.html
	docs/_includes/components/button-groups.html
	docs/_includes/components/dropdowns.html
	docs/_includes/components/glyphicons.html
	docs/_includes/components/labels.html
	docs/_includes/components/list-group.html
	docs/_includes/components/media.html
	docs/_includes/components/navs.html
	docs/_includes/components/panels.html
	docs/_includes/components/progress-bars.html
	docs/_includes/components/thumbnails.html
	docs/_includes/components/wells.html
	docs/_includes/css/buttons.html
	docs/_includes/css/forms.html
	docs/_includes/css/helpers.html
	docs/_includes/css/images.html
	docs/_includes/css/less.html
	docs/_includes/customizer-variables.html
	docs/_includes/getting-started/accessibility.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/getting-started/community.html
	docs/_includes/getting-started/examples.html
	docs/_includes/getting-started/grunt.html
	docs/_includes/getting-started/license.html
	docs/_includes/getting-started/template.html
	docs/_includes/header.html
	docs/_includes/js/affix.html
	docs/_includes/js/alerts.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/modal.html
	docs/_includes/js/overview.html
	docs/_includes/js/popovers.html
	docs/_includes/js/scrollspy.html
	docs/_includes/js/tabs.html
	docs/_includes/js/tooltips.html
	docs/_includes/js/transitions.html
	docs/_includes/nav/javascript.html
	docs/_layouts/default.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/docs.min.js
	docs/assets/js/raw-files.min.js
	docs/assets/js/vendor/FileSaver.js
	docs/assets/js/vendor/autoprefixer.js
	docs/assets/js/vendor/uglify.min.js
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/dist/js/bootstrap.min.js
	docs/examples/blog/index.html
	docs/examples/carousel/index.html
	docs/examples/cover/index.html
	docs/examples/dashboard/index.html
	docs/examples/narrow-jumbotron/narrow-jumbotron.css
	docs/examples/navbar-fixed-top/index.html
	docs/examples/navbar-static-top/index.html
	docs/examples/non-responsive/index.html
	docs/examples/non-responsive/non-responsive.css
	docs/examples/theme/index.html
	grunt/configBridge.json
	js/affix.js
	js/carousel.js
	js/collapse.js
	js/dropdown.js
	js/modal.js
	js/popover.js
	js/scrollspy.js
	js/tab.js
	js/tests/unit/affix.js
	js/tests/unit/button.js
	js/tests/unit/carousel.js
	js/tests/unit/modal.js
	js/tests/unit/tooltip.js
	js/tooltip.js
	less/badges.less
	less/glyphicons.less
	less/type.less
	less/variables.less
	package.json
	scss/_dropdown.scss
	scss/_forms.scss
	test-infra/npm-shrinkwrap.json
2015-03-01 13:44:10 -08:00
Chris Rebert 50a51ffc36 Merge pull request #96 from twbs/gem-badge
Add Ruby Gem badge to README
2015-02-27 02:33:25 -08:00
Chris Rebert 9e82276b69 Merge pull request #98 from twbs/sync-package
Sync package.json with v3
2015-02-24 16:31:06 -08:00
Chris Rebert e17600e648 Sync package.json with a1fd86cdf9 2015-02-24 15:23:56 -08:00
Chris Rebert 9e0f94b632 Add Ruby Gem badge to README 2015-02-24 14:41:26 -08:00
Chris Rebert 32cb13ef7a Merge pull request #94 from twbs/jscs-gruntfile
Exempt Closure part of Gruntfile from requireCamelCaseOrUpperCaseIdentifiers
2015-02-24 14:35:41 -08:00
XhmikosR be9d1f436e Specify the files to include in the npm package. 2015-02-16 21:36:41 -08:00
Chris Rebert cdd287da0d Exempt Closure part of Gruntfile from requireCamelCaseOrUpperCaseIdentifiers
This allows `grunt jscs:grunt` to succeed.
2015-02-16 17:38:54 -08:00
Chris Rebert 1daca5ac5c Gruntfile: make JSCS happier 2015-02-16 17:18:16 -08:00
Chris Rebert c12c439171 bump grunt-sass to ~0.18.0 2015-02-16 17:12:22 -08:00
Chris Rebert 6b61bf4762 bump grunt-jscs to ~1.5.0 2015-02-16 17:08:27 -08:00
F A T a5580360ba Merge pull request #93 from twbs/fat-removeAffix
kill affix
2015-02-11 11:41:26 -08:00
fat 1e9e3316b6 kill affix 2015-02-11 11:40:57 -08:00
F A T d71ccaefbc Merge pull request #92 from twbs/fat-removeGz
remove gz
2015-02-11 11:37:55 -08:00
fat 2eba4458fa remove gz 2015-02-11 11:37:38 -08:00
F A T f483640378 Merge pull request #57 from twbs/fat-closure
Bootstrap onto closure v2
2015-02-11 11:36:16 -08:00
fat 834220ea20 bootstrap onto closure 2015-02-11 11:29:43 -08:00
Chris Rebert aed1cd3121 update shrinkwrap 2015-02-04 21:15:20 -08:00
Chris Rebert f265fed3eb account for mq4-hover-shim's renaming & org move 2015-02-04 21:15:01 -08:00
Chris Rebert 7294506ebb Merge pull request #68 from twbs/v4-validation
Switch HTML validators
2015-02-04 14:12:41 -08:00
Chris Rebert 85ded1440c update shrinkwrap 2015-02-04 14:11:26 -08:00
Mark Otto ea8b51920a use grunt-html instead of grunt-html-validation because holy shit it's fast 2015-02-04 14:10:35 -08:00
Chris Rebert cff2e21d37 Merge pull request #56 from twbs/mobile-hover
Nuke sticky :hover on mobile
2015-02-04 13:32:41 -08:00
Chris Rebert 175714d246 add docs for mq4-hover-hover-shim integration 2015-01-22 11:39:57 -08:00
Chris Rebert fd13e33aa4 add $use-hover-media-query to control @media (hover:hover) usage 2015-01-22 11:39:57 -08:00
Chris Rebert eaaaa00520 Integrate mq4-hover-hover-shim 2015-01-22 11:37:37 -08:00
Chris Rebert 8e374bd010 put all :hover styles within @media (hover: hover) 2015-01-22 11:37:37 -08:00
Mark Otto c0f4dcd38e Merge pull request #65 from twbs/precision
Use expressions for thirds to avoid precision issues
2015-01-21 18:34:19 -08:00
Chris Rebert f6ef89d6c3 Use expressions for thirds to avoid precision issues 2015-01-21 15:11:25 -08:00
Chris Rebert 59542aa367 Merge pull request #90 from twbs/at-viewport
Reorg @viewport now that we don't need to worry about non-responsiveness
2015-01-21 13:14:07 -08:00
Chris Rebert a1126ef655 Reorg @viewport now that we don't need to worry about non-responsive layouts 2015-01-21 13:05:14 -08:00
Chris Rebert 55cb723e08 Merge branch 'v4' of twbs/bootstrap/v4 into v4 2015-01-21 13:02:55 -08:00
Chris Rebert 9238337cbb Merge branch 'master' into v4 2015-01-21 13:00:12 -08:00
Mark Otto b801ad2a58 testing out svgs 2015-01-21 12:01:36 -08:00
Mark Otto 9e0c4ff786 several docs cleanup things 2015-01-20 22:57:24 -08:00
Mark Otto 35e5f6f169 copy 2015-01-20 21:55:20 -08:00
Mark Otto 4a3ae1cf45 fix dupe images 2015-01-20 21:12:31 -08:00
Mark Otto 74fbf61e30 custom holder theme 2015-01-20 21:12:25 -08:00
Mark Otto 97eb12561d large page titles 2015-01-20 18:50:07 -08:00
Mark Otto 4bed09aff8 grunt 2015-01-20 18:48:18 -08:00
Mark Otto c5d4ab259e Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-01-20 17:05:53 -08:00
Mark Otto 474ea24fc3 fix docs homepage ad 2015-01-20 17:05:39 -08:00
Mark Otto 6ebf68296a Merge pull request #61 from twbs/clear-out-fonts
remove unused font files
2015-01-20 15:40:37 -08:00
Mark Otto 260378411d Update README.md 2015-01-20 15:40:32 -08:00
Mark Otto 33e32bffc8 new headers, ad placements, intro paragraphs on several pages, etc 2015-01-19 20:03:08 -08:00
Mark Otto ff1d10affb fix scrollspy nav 2015-01-19 18:51:21 -08:00
Chris Rebert 8ecdda0b35 Merge pull request #52 from twbs/normalize-figure
Let Normalize.css normalize <figure>'s margin
2015-01-19 16:58:01 -08:00
Mark Otto 6f61201f87 fix broken brand logos 2015-01-19 16:18:38 -08:00
Mark Otto 2327a1d44d no need for additional subheading 2015-01-19 16:17:54 -08:00
Mark Otto e2c6dd29d8 tons of docs helpers cleanup 2015-01-19 16:15:51 -08:00
Mark Otto 6ba05d95d5 properly reset button.close styles 2015-01-19 16:11:39 -08:00
Mark Otto 29c7a0f002 fix quick floats example 2015-01-19 16:11:29 -08:00
Mark Otto dfdb99c989 fix broken breadcrumb divider 2015-01-19 16:08:48 -08:00
Mark Otto 21dc9b1f57 fix broken buttons 2015-01-19 16:03:41 -08:00
Mark Otto e1dfe01c9f separate examples for inline radios and checkboxes 2015-01-19 16:01:28 -08:00
Mark Otto 43e45ce06c consolidate forms docs 2015-01-19 16:00:56 -08:00
Mark Otto dba0e3c947 docs subheading tweaks 2015-01-19 15:53:21 -08:00
Mark Otto 3fe96e8f50 fix border color on inverse tables 2015-01-19 15:52:40 -08:00
Mark Otto affd89122f better separation of docs sections with a light bottom border on h2s 2015-01-19 15:49:44 -08:00
Mark Otto 1633da2ce8 remove unnecessary docs sections for media queries page 2015-01-19 15:44:53 -08:00
Mark Otto 72bc9b97f0 fix homepage nav styles 2015-01-19 15:44:45 -08:00
Mark Otto a72741ed62 nuke files 2015-01-19 15:25:53 -08:00
Mark Otto d8c94029d3 move around files 2015-01-19 15:25:49 -08:00
Mark Otto faedb7fec4 grunt 2015-01-19 14:55:25 -08:00
Mark Otto 7440c38469 fix invalid css 2015-01-19 14:50:41 -08:00
Mark Otto 325748ff68 Merge branch 'master' into v4
Conflicts:
	_config.yml
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	dist/js/bootstrap.min.js
	docs/_includes/components/thumbnails.html
	docs/_includes/css/forms.html
	docs/_includes/css/grid.html
	docs/_includes/customizer-variables.html
	docs/_includes/footer.html
	docs/_includes/getting-started/download.html
	docs/_includes/getting-started/template.html
	docs/_includes/js/overview.html
	docs/_includes/js/popovers.html
	docs/_includes/js/tooltips.html
	docs/assets/css/docs.min.css
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/assets/js/src/customizer.js
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/dist/js/bootstrap.js
	docs/dist/js/bootstrap.min.js
	docs/examples/navbar-fixed-top/index.html
	docs/examples/navbar-static-top/index.html
	docs/examples/non-responsive/index.html
	docs/examples/theme/index.html
	grunt/configBridge.json
	less/alerts.less
	less/badges.less
	less/jumbotron.less
	less/panels.less
	less/tables.less
	less/theme.less
	less/variables.less
	package.json
	scss/_button-group.scss
	scss/_buttons.scss
	scss/_forms.scss
2015-01-19 14:48:12 -08:00
Thomas McDonald 0964504fda remove less references from package files
Closes #62 (of v4)
2015-01-18 19:06:51 -08:00
Chris Rebert 1236e7a996 Merge pull request #64 from twbs/fix-build
Temporarily revert "Rename scss/bootstrap.scss -> scss/_bootstrap.scss"
2015-01-18 15:08:12 -08:00
Chris Rebert 1e5ce1e1a9 Temporarily revert "Rename scss/bootstrap.scss -> scss/_bootstrap.scss"
This reverts commit 2916ac43ed.
This reverts commit 3d635f3079.
This reverts commit 61a2120557.

This change broke the Grunt build.
2015-01-18 15:00:58 -08:00
Chris Rebert 61a2120557 fix main SCSS file paths
Fixes 2916ac43ed errata
FYI @glebm
2015-01-18 14:29:53 -08:00
Gleb Mazovetskiy 3d635f3079 Update grunt/bs-sass-compile/ to point to _bootstrap.scss 2015-01-15 21:28:14 +00:00
Gleb Mazovetskiy 2916ac43ed Rename scss/bootstrap.scss -> scss/_bootstrap.scss
This is required for Compass compatibility. See
https://github.com/twbs/bootstrap-sass/issues/694

Also updates bower.json and package.json references to the main Sass
file.
2015-01-15 21:20:40 +00:00
Mark Otto 0531d6476c Merge pull request #63 from twbs/team-unity
Core & Sass Teams are now one and the same bigger Team
2015-01-14 18:02:18 -08:00
Chris Rebert e94a597685 Core & Sass Teams are now one and the same bigger Team 2015-01-14 10:45:07 -08:00
Chris Rebert 8ce8cd992e remove more Glyphicon references from the docs 2015-01-09 12:33:34 -08:00
Thomas McDonald d2f29fd649 remove unused font files 2015-01-09 10:15:32 +00:00
Chris Rebert 807a837afe Remove libsass @media nesting bug workaround
https://github.com/sass/libsass/issues/185 has been fixed.
Refs #48
2015-01-08 21:41:33 +00:00
Gleb Mazovetskiy 720d02c5e5 Revert "Remove libsass @media nesting bug workaround"
This reverts commit d6a5ebf438.

There has not been a release of libsass with this fix yet, sorry!
2015-01-08 21:38:12 +00:00
Gleb Mazovetskiy f4a00dc037 Merge pull request #58 from twbs/libsass-185
Remove libsass @media nesting bug workaround
2015-01-08 21:23:29 +00:00
Gleb Mazovetskiy 3be590dd5b docs: fix typo in media-queries.md 2015-01-08 21:17:22 +00:00
Chris Rebert d6a5ebf438 Remove libsass @media nesting bug workaround
https://github.com/sass/libsass/issues/185 has been fixed.
Refs #48
2015-01-07 19:17:45 -08:00
Chris Rebert 5951647b1a Merge pull request #25 from twbs/autoprefixer-bump-chrome
bump min Chrome in Autoprefixer to v35
2015-01-07 19:15:52 -08:00
Chris Rebert 3c6a307011 bump min Chrome in Autoprefixer to v35 2015-01-07 17:49:43 -08:00
Chris Rebert 698b3a7ace grunt 2015-01-07 17:04:59 -08:00
Chris Rebert c8bfa7d353 Merge pull request #54 from twbs/overhaul-responsive-visibility
Overhaul of responsive visibility classes
2015-01-06 17:50:33 -08:00
Chris Rebert e651b48eb6 update responsive utility docs post-overhaul 2015-01-06 17:49:33 -08:00
Chris Rebert 5868b5bc9c add migration guidance regarding responsive visibility classes 2015-01-06 17:49:33 -08:00
Chris Rebert 11a574ce9e Overhaul responsive visibility classes
Thanks to @glebm for help refactoring this to use the breakpoint mixins.
2015-01-06 17:47:13 -08:00
Chris Rebert cbb3b1ff9a Kill scss/mixins/_media-queries.scss
replaced media-xs => media-breakpoint-down(xs)
replaced media-sm => media-breakpoint-up(sm)
replaced media-sm-max => media-breakpoint-only(sm)
replaced media-md => media-breakpoint-up(md)
replaced media-md-max => media-breakpoint-only(md)
replaced media-lg => media-breakpoint-up(lg)
2015-01-06 17:47:13 -08:00
Chris Rebert 746e09f8ae rename media-breakpoint-{min,max} => media-breakpoint-{up,down} 2015-01-06 17:47:13 -08:00
Chris Rebert ff9c07f4aa fix numerical typo in grid docs 2015-01-06 17:46:46 -08:00
Mark Otto 20cdb62200 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-01-06 16:06:06 -08:00
Mark Otto b542137dd5 streamline homepage nav 2015-01-06 16:05:58 -08:00
Mark Otto 82f460b20d formatting of html 2015-01-06 15:35:49 -08:00
Chris Rebert b361dacff1 Merge pull request #59 from twbs/probably-slightly-better-best-practice
Use improved box sizing reset
2015-01-06 00:04:53 -08:00
Chris Rebert ef453fa6ce Use improved box sizing reset
Based on http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
This allows us to significantly simplify the relevant part of the docs.
2015-01-05 15:20:46 -08:00
Chris Rebert 0bd8c7cb6a grunt dist 2015-01-05 11:41:34 -08:00
Chris Rebert 0075de8ee8 Merge pull request #40 from twbs/bye-affix
Remove affix from docs & CSS; add migration guidance
2015-01-05 11:38:38 -08:00
Chris Rebert 00e6fae8fb Remove affix from docs & CSS; add migration guidance 2015-01-05 11:36:51 -08:00
Chris Rebert 6cb417616c Merge pull request #26 from twbs/autoprefixer-bump-mac-safari
bump min OS X Safari in Autoprefixer config to v7.1
2015-01-05 11:20:30 -08:00
Mark Otto 615eb99067 fix broke shit, recompile 2015-01-03 20:16:46 -08:00
Mark Otto 0e5d17d5f6 Merge branch 'master' into v4
Conflicts:
	Gruntfile.js
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	dist/js/bootstrap.min.js
	docs/_data/glyphicons.yml
	docs/_includes/components/alerts.html
	docs/_includes/components/badges.html
	docs/_includes/components/breadcrumbs.html
	docs/_includes/components/button-dropdowns.html
	docs/_includes/components/button-groups.html
	docs/_includes/components/dropdowns.html
	docs/_includes/components/glyphicons.html
	docs/_includes/components/input-groups.html
	docs/_includes/components/jumbotron.html
	docs/_includes/components/labels.html
	docs/_includes/components/list-group.html
	docs/_includes/components/media.html
	docs/_includes/components/navbar.html
	docs/_includes/components/navs.html
	docs/_includes/components/page-header.html
	docs/_includes/components/pagination.html
	docs/_includes/components/panels.html
	docs/_includes/components/progress-bars.html
	docs/_includes/components/responsive-embed.html
	docs/_includes/components/thumbnails.html
	docs/_includes/components/wells.html
	docs/_includes/css/buttons.html
	docs/_includes/css/code.html
	docs/_includes/css/forms.html
	docs/_includes/css/grid.html
	docs/_includes/css/helpers.html
	docs/_includes/css/images.html
	docs/_includes/css/less.html
	docs/_includes/css/tables.html
	docs/_includes/css/type.html
	docs/_includes/customizer-variables.html
	docs/_includes/getting-started/accessibility.html
	docs/_includes/getting-started/disabling-responsiveness.html
	docs/_includes/getting-started/download.html
	docs/_includes/getting-started/whats-included.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/modal.html
	docs/_includes/js/overview.html
	docs/_includes/js/popovers.html
	docs/_includes/js/tabs.html
	docs/_includes/js/tooltips.html
	docs/_includes/nav/components.html
	docs/_includes/nav/javascript.html
	docs/_jade/customizer-variables.jade
	docs/_layouts/default.html
	docs/about.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/assets/js/src/customizer.js
	docs/customize.html
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	less/glyphicons.less
	less/mixins/vendor-prefixes.less
	less/navbar.less
	less/popovers.less
	less/tables.less
	less/theme.less
	less/tooltip.less
	less/variables.less
	package.json
	scss/_carousel.scss
	scss/_close.scss
	scss/_forms.scss
	test-infra/npm-shrinkwrap.json
2015-01-03 20:08:58 -08:00
Mark Otto 31610258de Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2015-01-03 16:00:45 -08:00
Mark Otto c6af78e8a4 grunt 2015-01-01 12:13:28 -08:00
Mark Otto a6053b573c override the box-shadows on active, checked, and indeterminate states 2015-01-01 12:13:24 -08:00
Mark Otto e4fa95eb57 grunt dist 2015-01-01 12:02:02 -08:00
Mark Otto 401ace65f4 add indeterminate checkbox support 2015-01-01 12:01:55 -08:00
Chris Rebert 4e8f769d44 fix typo in comment 2015-01-01 00:02:21 -08:00
Mark Otto 82403407d8 Merge pull request #55 from twbs/xl-size
account for XL size tier in grid docs
2014-12-31 10:49:33 -08:00
Mark Otto fb176a97e1 change values, remove grid column size row 2014-12-31 10:46:50 -08:00
Mark Otto 1a932b7e02 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2014-12-31 10:39:56 -08:00
Mark Otto a5e127fd16 grunt 2014-12-31 10:37:23 -08:00
Mark Otto 03e39251fa larger hr border width so it shows up 2014-12-31 10:20:29 -08:00
Mark Otto b873edce8e tweak and improve jumbotrons 2014-12-31 10:20:12 -08:00
Mark Otto 49ac4ea0fa fix some source code for custom forms 2014-12-31 10:07:34 -08:00
Chris Rebert b9de4b7392 remove lingering reference to IE8 in the Carousel docs 2014-12-30 16:15:02 -08:00
Chris Rebert 626f30fd6b remove lingering references to Less in the docs 2014-12-30 16:14:32 -08:00
Chris Rebert 9b4296b565 rm note about Safari<7.1 / iOS<8.0 percent rounding bug 2014-12-30 12:49:46 -08:00
Chris Rebert 473c75dc4c bump min OS X Safari in Autoprefixer config to v7.1 2014-12-30 12:49:46 -08:00
Chris Rebert edb6c07254 "plugins" => "third-party widgets" 2014-12-30 12:48:12 -08:00
Chris Rebert 0a1742ce8e remove unnecessary reference to Bootstrap v3 2014-12-30 12:46:25 -08:00
Chris Rebert 2e815e891b Fix @mdo's grammar 2014-12-30 12:45:24 -08:00
Chris Rebert c6affe79b7 account for XL size tier in grid docs 2014-12-29 18:27:41 -08:00
Chris Rebert b342de4fa3 Merge pull request #22 from twbs/alert-heading
Use .alert-heading instead of hardcoding <h4>
2014-12-29 16:04:00 -08:00
Chris Rebert 10f703f3b0 un-nest .alert-heading & .alert-link 2014-12-29 16:03:22 -08:00
Chris Rebert 54b03c27d2 Merge pull request #43 from twbs/popover-arrow
rename .arrow => .popover-arrow
2014-12-29 16:01:07 -08:00
Chris Rebert e26701c04e JSCS: enable requireSpaceBetweenArguments
New rule added in JSCS v1.9.0
Our JS already complies with this.
2014-12-29 14:16:26 -08:00
Chris Rebert 9867b1d49e bump grunt-jscs to ~1.1.0 2014-12-29 14:16:00 -08:00
Chris Rebert 880642ee62 update devDependencies to match upstream 2014-12-29 14:14:57 -08:00
Chris Rebert a0dbe55678 add missing global declaration for SimpleJekyllSearch 2014-12-29 12:42:31 -08:00
Chris Rebert 730c3f5f23 grunt dist-css 2014-12-29 12:38:53 -08:00
Chris Rebert a0edcc9225 refactor tooltip+popover CSS to decrease chaining+nesting 2014-12-29 12:37:11 -08:00
Chris Rebert 05d1877985 update JS to use .{tooltip,popover}-{left,right,top,bottom} 2014-12-29 12:34:09 -08:00
Chris Rebert 654d0dffc9 CSS: prefix .{right,left,top,bottom} with 'tooltip-'/'popover' 2014-12-29 12:34:09 -08:00
Chris Rebert c6ad3a8d6d update docs to use .{tooltip,popover}-{left,right,top,bottom} 2014-12-29 12:33:06 -08:00
Chris Rebert d46a12e601 remove now-redundant .popover parent in .popover-arrow selectors 2014-12-29 12:33:06 -08:00
Chris Rebert 6a5bc63649 rename .arrow => .popover-arrow 2014-12-29 12:33:06 -08:00
Chris Rebert a1ce6a1968 Merge pull request #21 from twbs/deprecated-tooltip-placements
Remove deprecated tooltip placements
2014-12-26 12:55:08 -08:00
Mark Otto 489f2bc1fa no results in search form accounted for 2014-12-25 22:40:25 -08:00
Mark Otto 7e25a958a2 sidenav for custom forms 2014-12-25 17:50:41 -08:00
Mark Otto b92534c632 improve code quality on custom forms 2014-12-25 15:40:24 -08:00
Mark Otto dacac2ab72 select menu custom form element 2014-12-24 21:48:49 -08:00
Mark Otto 57d15cb4f8 add more explanation text 2014-12-24 17:00:43 -08:00
Mark Otto cd60cf3386 custom forms: checkbox and radio stacked option 2014-12-24 15:45:37 -08:00
Gleb Mazovetskiy 556758f3d3 Merge pull request #48 from twbs/breakpoints-min
Automate breakpoints
2014-12-24 22:27:39 +02:00
Gleb Mazovetskiy 93f51eb0e9 Automate breakpoints
Breakpoints and container widths are now defined as maps.
2014-12-24 22:27:11 +02:00
Gleb Mazovetskiy 4d9aa90c8e Merge pull request #17 from twbs/test-with-two-sasses
Also support Ruby Sass
2014-12-24 22:22:39 +02:00
Gleb Mazovetskiy c0c16edc41 Update styles for Ruby Sass compat 2014-12-24 22:22:15 +02:00
Gleb Mazovetskiy 0d96695f5e Docs: Use another Sass compiler 2014-12-24 22:21:39 +02:00
Gleb Mazovetskiy 8a51daf280 Compile with Ruby Sass or libsass.
* Separate configs for libsass and sass.
* Sass compiler selected based on `process.env.TWBS_SASS`.
* Travis:
  * Use Gemfile to manage ruby dependencies.
  * Run core tests with both Sass compilers.
  * Only install/cache ruby gems required by the test subset.
* Grunt: `update-gemfile-lock` task a la `update-shrinkwrap`.
2014-12-24 22:21:39 +02:00
Mark Otto e500a9a354 some cleanup 2014-12-24 04:47:08 -08:00
Mark Otto 18e08e777b add custom forms, stub out examples for radios and checkboxes 2014-12-24 04:13:23 -08:00
Mark Otto e1bb907050 rearrange contents docs--type, tables, images, forms, etc--into own docs section 2014-12-24 03:26:51 -08:00
Mark Otto 73e59c26e6 basic docs search 2014-12-24 02:44:38 -08:00
Mark Otto 952be04cb0 grunt 2014-12-23 22:57:03 -08:00
Mark Otto 6011b4678b rearrange some docs css 2014-12-23 22:56:45 -08:00
Mark Otto b500713dd2 missed an end tag 2014-12-23 14:11:10 -08:00
Mark Otto b67b2c7f49 fix up helpers docs again for .invisible and [hidden] 2014-12-23 14:00:34 -08:00
Mark Otto 6b394ab067 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4
Conflicts:
	docs/components/helpers.md
	scss/_utilities.scss
2014-12-23 13:59:26 -08:00
Mark Otto 1f5a75e2d7 increase spacing in docs h2s 2014-12-23 13:56:11 -08:00
Mark Otto ca53c93f3d no need to mention jquery in the layout scaffolding docs 2014-12-23 13:26:37 -08:00
Mark Otto e63a0acd3b fix some getting started links 2014-12-23 13:25:59 -08:00
Mark Otto 0972c64e7a fix sidenav links 2014-12-23 13:23:03 -08:00
Mark Otto 491503e4ae audit helpers docs: fix mixins formatting for scss conversion 2014-12-23 04:53:19 -08:00
Mark Otto dfb6a679d2 audit helpers docs: quick floats 2014-12-23 04:40:42 -08:00
Mark Otto 9aa8239f88 add some utilities docs for new hidden and show changes 2014-12-23 04:28:01 -08:00
Mark Otto f9aec74124 add [hidden] utility for hiding any html element (see #15274 for more context) 2014-12-23 04:10:59 -08:00
Mark Otto 2b16cb921c make some notes for myself 2014-12-23 03:57:55 -08:00
Mark Otto 5e102e2600 Merge pull request #50 from twbs/disabled-pseudo
use :disabled pseudo-class instead of [disabled] attribute
2014-12-22 20:13:09 -08:00
Mark Otto c14823bd51 Merge pull request #53 from twbs/firefox-placeholder-opacity
Re-add Firefox placeholder opacity workaround
2014-12-22 20:11:54 -08:00
Mark Otto c59ba4995c Merge pull request #45 from twbs/bye-hidden
Remove .hidden and .show classes
2014-12-22 20:11:04 -08:00
Mark Otto d44a1f24bf Merge pull request #51 from twbs/old-firefox-device-pixel-ratio
Remove min--moz-device-pixel-ratio
2014-12-22 20:06:58 -08:00
Mark Otto d06dcd8431 Merge pull request #27 from twbs/autoprefixer-bump-ios-safari
bump min iOS in Autoprefixer config to v7
2014-12-22 19:48:40 -08:00
Mark Otto 230294a63b Merge pull request #47 from twbs/migration-catch-up
Migration guide catch up
2014-12-22 19:42:37 -08:00
Chris Rebert 96d273e28f Re-add Firefox placeholder opacity workaround 2014-12-22 17:28:09 -08:00
Chris Rebert 2d30babed4 Let Normalize.css normalize <figure>'s margin 2014-12-22 16:40:05 -08:00
Chris Rebert 4d8559f895 Remove min--moz-device-pixel-ratio
Bootstrap v4 no longer supports the old versions of Firefox affected by this typo bug.
2014-12-22 16:32:25 -08:00
Chris Rebert 9a6477662a grunt dist 2014-12-22 13:37:31 -08:00
Chris Rebert 5b03c9ad63 [disabled] => :disabled
:disabled is supported in IE9+ and all modern browsers
2014-12-22 13:34:02 -08:00
Gleb Mazovetskiy 497b05c1be Merge pull request #49 from twbs/fadein_to_fade_in
variables: fix fade-in
2014-12-20 16:40:08 +00:00
Gleb Mazovetskiy e11208cc0b variables: fix fade-in 2014-12-20 16:37:43 +00:00
Chris Rebert 7c419a6b0f add notes about high-level TODOs for the v3=>v4 migration guide 2014-12-19 20:35:46 -08:00
Chris Rebert 27213cfb63 add stub entry about Buttons changes to the migration guide 2014-12-19 20:31:47 -08:00
Chris Rebert b6abac3e1e Document changes to nested tables in the migration guide 2014-12-19 20:30:50 -08:00
Chris Rebert 5d76a6182a add stub entry for Tabs+Pills changes to the migration guide 2014-12-19 20:30:16 -08:00
Chris Rebert ad5e724e5f add stub entry about new approach for skeuomorphic theming to the migration guide 2014-12-19 20:28:12 -08:00
Chris Rebert c0da3d0b23 Document removal of deprecated screen size variables in the migration guide 2014-12-19 20:25:26 -08:00
Chris Rebert c58e3803af Document removal of online Customizer in the migration docs 2014-12-19 20:14:56 -08:00
Chris Rebert e071f5bf14 add stub entry about addition of new utility classes to the migration guide 2014-12-19 20:11:49 -08:00
Chris Rebert 98c5171f11 add stub entry about addition of new table variants to the migration guide 2014-12-19 20:11:31 -08:00
Chris Rebert 75907f89fb clarify that .progress still exists 2014-12-19 20:08:43 -08:00
Chris Rebert b9994c077c add stub entry for removal of Justified navs to the migration guide 2014-12-19 20:07:58 -08:00
Chris Rebert cc726d8833 add stub entries for Panel, Thumbnail, Well removals to the migration guide 2014-12-19 20:02:55 -08:00
Chris Rebert 7afd2c4e50 Document Pager and Carousel class renames in the migration guide 2014-12-19 20:01:18 -08:00
Chris Rebert 861d1ac07d Document removal of non-responsive example in the migration guide 2014-12-19 19:54:45 -08:00
Chris Rebert 283b74fc60 Document official support of Android v5.0+ Browser and WebView in the migration guide 2014-12-19 19:52:57 -08:00
Chris Rebert 3f3db41173 Merge pull request #46 from twbs/trailing-whitespace
rm trailing whitespace
2014-12-19 18:36:38 -08:00
Chris Rebert 8250f41948 rm trailing whitespace 2014-12-19 18:35:58 -08:00
Chris Rebert 736b7bdf93 bump min iOS in Autoprefixer config to v7 2014-12-19 18:11:54 -08:00
Mark Otto 28932261ac docs grunt 2014-12-19 00:36:22 -08:00
Mark Otto 438b8aa97f don't ignore the assets/js/src/ because then it doesn't make it to the generated site 2014-12-19 00:36:16 -08:00
Mark Otto 36a99c68bf restore configbridge to footer files, update paths 2014-12-19 00:35:54 -08:00
Mark Otto d1a766494e fix paths and baseurl action 2014-12-19 00:24:09 -08:00
Mark Otto 547f16b58e rewrite all table styles to remove in selectors 2014-12-18 22:59:47 -08:00
Mark Otto 83b3252404 migration to layout and nav 2014-12-18 22:35:37 -08:00
Mark Otto 94753bc3ec grunt 2014-12-18 20:19:53 -08:00
Mark Otto 41226bd91e replace html tables with markdown in migration 2014-12-18 20:19:45 -08:00
Chris Rebert 07ef67da20 Remove .hidden and .show classes
.hidden is incompatible with jQuery's $(...).hide()
2014-12-18 19:07:22 -08:00
Mark Otto 8a60a27efb Merge pull request #37 from twbs/migration-stub
add stub v3 => v4 migration docs page
2014-12-18 18:19:55 -08:00
Chris Rebert e95b854301 Merge pull request #42 from twbs/pager
rename .previous => .pager-prev , .next => .pager-next
2014-12-18 15:32:12 -08:00
Chris Rebert f216f7cdf6 Merge pull request #41 from twbs/carousel-item
rename .item => .carousel-item
2014-12-18 15:31:35 -08:00
Chris Rebert 957cd4bae9 carousel.md: remove stray </h3> 2014-12-18 15:30:34 -08:00
Chris Rebert 7d2b64cbc5 Merge pull request #36 from twbs/trim-config-bridge
Move stuff out of configBridge.json now that the Customizer is kaput
2014-12-17 22:36:25 -08:00
Chris Rebert c7ef5810e1 rename .item => .carousel-item 2014-12-17 18:44:55 -08:00
Chris Rebert 12c5473e7a rename .previous => .pager-prev , .next => .pager-next 2014-12-17 18:39:43 -08:00
Chris Rebert 90f4767d06 grunt dist 2014-12-17 15:26:12 -08:00
Chris Rebert ed5bff5951 Merge pull request #38 from twbs/customizer-remnants
remove remaining remnants of the Customizer
2014-12-17 15:09:37 -08:00
Chris Rebert f24a1cb28d remove remaining remnants of the Customizer 2014-12-17 13:44:52 -08:00
Mark Otto 52c80891c2 Merge pull request #32 from twbs/old-firefox-docs
Remove docs notes about old Firefoxes
2014-12-17 12:29:14 -08:00
Mark Otto a534020f99 Merge pull request #33 from twbs/rm-android-workaround
Remove defunct `background-image: none` Firefox-on-Android workaround
2014-12-17 12:29:03 -08:00
Mark Otto 456f60da60 Merge pull request #35 from twbs/rm-chrome-osx-print-workaround
Remove defunct OS X Chrome <select> printing bug workaround
2014-12-17 12:28:42 -08:00
Mark Otto dab0b97ce4 Merge pull request #29 from twbs/ie9-minimum-docs
Remove ancillary references to IE<9 in comments+docs
2014-12-17 12:28:20 -08:00
Chris Rebert ea9ce859ae add stub v3 => v4 migration docs page 2014-12-16 20:31:36 -08:00
Chris Rebert 1afc0eec30 Move stuff out of configBridge.json now that the Customizer is kaput 2014-12-16 20:17:54 -08:00
Chris Rebert 07c11f5e92 Remove defunct OS X Chrome <select> printing bug workaround
Chrome fixed the bug as of v37:
https://code.google.com/p/chromium/issues/detail?id=282918
2014-12-16 19:59:05 -08:00
Chris Rebert 7d8bad586b Merge pull request #34 from twbs/sauce-android-notes
update Android comments in sauce_browsers.yml
2014-12-16 19:51:48 -08:00
Chris Rebert 35db839149 update Android comments in sauce_browsers.yml 2014-12-16 19:50:33 -08:00
Chris Rebert 0766ecab60 Remove defunct background-image: none Firefox-on-Android workaround
Mozilla fixed the bug circa Firefox 33-35:
    https://bugzilla.mozilla.org/show_bug.cgi?id=763671
Firefox 34 is the current version.
Firefox 35 should be current by the time Bootstrap v4 is released.
2014-12-16 19:41:11 -08:00
Chris Rebert c88b3e1fd7 Remove docs notes about old Firefoxes 2014-12-16 19:32:26 -08:00
Chris Rebert a1c0bd745e Merge pull request #31 from twbs/nuke-ie8-sauce
remove IE8 from Sauce tests
2014-12-16 19:22:28 -08:00
Chris Rebert e444c2c58f remove IE8 from Sauce tests 2014-12-16 19:21:48 -08:00
Chris Rebert a8299b5b45 Remove ancillary references to IE<9 in comments+docs 2014-12-16 19:06:57 -08:00
Mark Otto 059f6a01ef Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2014-12-16 00:15:00 -08:00
Chris Rebert ea039ac72e Merge pull request #23 from twbs/autoprefixer-FF-ESR
bump min Firefox in Autoprefixer config to v31 (latest ESR)
2014-12-15 18:28:16 -08:00
Chris Rebert 57705e7d85 bump min Firefox in Autoprefixer config to v31 (latest ESR) 2014-12-15 18:26:41 -08:00
Chris Rebert 63aff57cb6 Merge pull request #24 from twbs/autoprefixer-drop-IE8
bump min IE in Autoprefixer config to v9
2014-12-15 18:03:13 -08:00
Chris Rebert 840b9a4c2e bump min IE in Autoprefixer config to v9 2014-12-15 18:02:15 -08:00
Chris Rebert d0c2a82ea8 Use .alert-heading instead of hardcoding <h4> 2014-12-15 17:49:35 -08:00
Chris Rebert 27dcdd357d remove deprecated tooltip placements 2014-12-15 17:30:37 -08:00
Chris Rebert 9f09a23aea Merge pull request #20 from twbs/visual-tests-kill-ie8
Remove IE8 compat shims from JS visual tests
2014-12-15 11:41:10 -08:00
Chris Rebert d353501ecd Merge pull request #18 from twbs/sache
Add sache.json
2014-12-15 11:39:46 -08:00
Chris Rebert 360ac888fb Merge pull request #19 from twbs/ie8-clean-css
Remove IE8 compatibility option from cssmin Grunt task config
2014-12-15 11:39:32 -08:00
Chris Rebert a28e25c00b Remove IE8 compat shims from JS visual tests 2014-12-15 11:38:57 -08:00
Chris Rebert e86468702a Remove IE8 compatibility option from cssmin Grunt task config 2014-12-15 11:28:35 -08:00
Chris Rebert 3c90786322 Add sache.json
Refs https://github.com/twbs/bootstrap-sass/issues/657
2014-12-15 11:06:10 -08:00
Mark Otto 1e136a70a2 Clean up some navbar.scss, drop the -float-breakpoint var entirely 2014-12-11 14:47:10 -08:00
Mark Otto bd453652b8 docs tweak /cc @glebm 2014-12-11 14:36:19 -08:00
Mark Otto 3b62bc48df nuke auto truncating message 2014-12-11 14:19:02 -08:00
Mark Otto 3737cb1d46 Use grid classes or mixins on .dl-horizontal, update docs to include it, removes auto truncate and makes .text-overflow mixin into a .text-truncate class and mixin combo for better granularity 2014-12-11 14:12:10 -08:00
Mark Otto 8ba213c9aa grunt 2014-12-11 13:54:24 -08:00
Mark Otto fd03025b09 Merge pull request #16 from twbs/android-lollipop
Officially support the Android Browser on Android v5.0+
2014-12-11 13:53:58 -08:00
Mark Otto 235e815e6a Merge pull request #15 from twbs/v4_builds
Stub out v4 custom builds
2014-12-11 12:21:26 -08:00
Mark Otto e0a9a7722f Merge pull request #14 from twbs/nuke_customizer
Nuke the customizer
2014-12-11 12:21:05 -08:00
Mark Otto 826aeec6e8 Merge pull request #13 from twbs/default-vars
Apply !default to SCSS variables
2014-12-11 12:20:05 -08:00
Mark Otto 30fe3d9792 Merge pull request #8 from twbs/scss-lint
Add SCSS-Lint to Grunt
2014-12-11 12:16:45 -08:00
Mark Otto 2edc779391 Merge branch 'v4' into scss-lint
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	scss/_card.scss
2014-12-11 12:07:09 -08:00
Mark Otto f7e103a6ac Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2014-12-11 12:06:16 -08:00
Mark Otto 2a78159a20 grunt 2014-12-11 12:06:08 -08:00
Mark Otto fef873a840 fix all validation, turn off some settings, add sort order 2014-12-11 12:05:29 -08:00
Chris Rebert 6ae16b0a49 Officially support the Android Browser on Android v5.0+ 2014-12-11 10:48:32 -08:00
Gleb Mazovetskiy 76d6b17f4f Merge pull request #6 from twbs/grid-framework-refactor
Refactor grid_framework
2014-12-11 15:16:42 +00:00
Mark Otto 0e371ddf87 Merge branch 'v4' of https://github.com/twbs/derpstrap into v4
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/assets/css/docs.min.css.map
2014-12-10 20:51:17 -08:00
Mark Otto 58fee94f8d stub out descriptions and titles for potential custom builds 2014-12-10 14:12:20 -08:00
Mark Otto 95da2a9428 nuke the customizer 2014-12-10 13:51:43 -08:00
Mark Otto 63d4423fc0 grunt 2014-12-10 13:49:53 -08:00
Chris Rebert 23aa0340df Apply !default to SCSS variables
Per @thomas-mcdonald
2014-12-09 16:24:05 -08:00
Mark Otto 63639f9913 Merge pull request #9 from twbs/less-vendor-prefixing
_progress.scss: remove unnecessary @-webkit-keyframes
2014-12-08 22:48:03 -08:00
Mark Otto 70855a7d29 Merge pull request #10 from twbs/bye-gradient-vendors
remove explicit vendor prefixes from _gradients.scss
2014-12-08 22:47:42 -08:00
Mark Otto c6ec27a5c8 Merge pull request #11 from twbs/card-columns-vendor
remove explicit vendor prefixing from _card.scss
2014-12-08 22:47:17 -08:00
Chris Rebert 86f834e356 remove explicit vendor prefixing from _card.scss 2014-12-08 22:05:50 -08:00
Chris Rebert b59abb40f7 remove explicit vendor prefixes from _gradients.scss 2014-12-08 22:00:05 -08:00
Chris Rebert 94eecb84bf _progress.scss: remove unnecessary @-webkit-keyframes
Autoprefixer already takes care of this for us.
2014-12-08 20:36:33 -08:00
Chris Rebert 16bd4a2787 SCSS-Lint: StringQuotes: double_quotes , to match current style 2014-12-08 20:00:13 -08:00
Chris Rebert 2e91a3d6a7 temporarily disable PropertySortOrder since it defaults to alphabetical 2014-12-08 19:59:23 -08:00
Chris Rebert 1e4f280b19 SCSS-Lint: disable arbitrary selector/nesting depth limits 2014-12-08 19:58:25 -08:00
Chris Rebert 895be6efb0 SCSS-Lint: SpaceBeforeBrace: allow_single_line_padding: true 2014-12-08 19:57:05 -08:00
Chris Rebert 5a986744f7 add test-scss Grunt task 2014-12-08 19:02:25 -08:00
Chris Rebert 2d244d118b add default SCSS-Lint config 2014-12-08 19:00:05 -08:00
Chris Rebert 405410a924 Travis: install scss-lint 2014-12-08 18:34:15 -08:00
Gleb Mazovetskiy 5fefe06c3d Refactor grid-framework followup
* Split up calc-grid-column, generate selectors in make-grid
* Iterate over $grid-breakpoints and (pull, push, offset)
2014-12-07 16:22:39 +00:00
Gleb Mazovetskiy 795a584561 Refactor grid_framework
A more idiomatic refactoring of the grid framework

* Use %-placeholder instead of generating a class name list
* Use if expression
* Remove loop-grid-columns
2014-12-07 13:44:24 +00:00
Mark Otto 2ade44a9ca inline-block on labels now instead of inline 2014-12-06 00:33:36 -08:00
Mark Otto 6f2e9d8111 remove docs warning on inline vs inline-block for labels 2014-12-06 00:30:28 -08:00
Mark Otto 8ef926b4fb clean up some docs css 2014-12-06 00:20:57 -08:00
Mark Otto d9c2ecd70d stub out extend section a bit 2014-12-06 00:18:44 -08:00
Mark Otto ebfe358495 tweak label component padding 2014-12-06 00:18:11 -08:00
Mark Otto 57071cc68a grunt--fuuuuuuuuuuuuuck you line comments 2014-12-05 14:56:29 -08:00
Gleb Mazovetskiy 1830413460 Merge pull request #7 from twbs/gemfile
Specify ruby dev deps in Gemfile
2014-12-05 22:39:51 +00:00
Gleb Mazovetskiy 9b59e07784 Merge pull request #4 from twbs/disable-source-comments
Disable source comments
2014-12-05 22:39:32 +00:00
Gleb Mazovetskiy 2033f169b5 Update test-infra/npm-shrinkwrap.json 2014-12-05 11:38:19 +00:00
Gleb Mazovetskiy d5e159c895 Specify ruby dev deps in Gemfile 2014-12-05 11:23:50 +00:00
Gleb Mazovetskiy 7fe70cb083 Disable source comments
Require latest grunt-sass, bumped dep
2014-12-05 10:53:14 +00:00
Mark Otto a4e991c1a6 Merge pull request #3 from twbs/v4_grid
Add new grid tier
2014-12-04 23:27:08 -08:00
Mark Otto bc3a2f669d fix vars order, remove rando grid class from mixin 2014-12-04 22:32:39 -08:00
Mark Otto be1473128b Merge branch 'v4' into v4_grid 2014-12-04 21:21:30 -08:00
Mark Otto 8454382b6a Merge branch 'v4' of https://github.com/twbs/derpstrap into v4 2014-12-04 21:20:54 -08:00
Mark Otto a1a3a007b6 tweak grid docs, add new tier 2014-12-04 21:02:04 -08:00
Chris Rebert fc9b7e5464 Merge pull request #2 from twbs/data-example-id
Add support for example IDs to {% example %} template tag
2014-12-04 19:14:55 -08:00
Mark Otto 156750941b move media queries docs to new section of layout 2014-12-04 16:51:19 -08:00
Mark Otto 824f26a3c0 grunt dist 2014-12-04 15:29:53 -08:00
Mark Otto 32878bca7f fix margin on tables 2014-12-04 15:25:57 -08:00
Mark Otto 7bc020cce0 sass, not less 2014-12-04 15:25:24 -08:00
Mark Otto d05e58449a linting 2014-12-04 15:20:55 -08:00
Mark Otto 2fa4ab8209 grunt 2014-12-04 15:20:45 -08:00
Mark Otto 854dc065e4 fix blockquote margins, remify values 2014-12-04 15:19:23 -08:00
Mark Otto 8e454b6f1d fix hr margins, remify border width 2014-12-04 15:18:16 -08:00
Mark Otto aab9218c7f rem-ify blog example and clean a few visuals up 2014-12-04 14:32:13 -08:00
Mark Otto b811553147 new look for carousel example, convert to rems 2014-12-04 14:18:13 -08:00
Mark Otto 908f776c08 more rem fixes for examples 2014-12-04 14:02:38 -08:00
Mark Otto 0d7115928b convert narrow jumbotron to rems 2014-12-04 01:10:26 -08:00
Mark Otto 7c391867d7 use static top navbar in jumbotron 2014-12-04 01:07:04 -08:00
Mark Otto 04d9091158 rename css file 2014-12-04 01:06:09 -08:00
Mark Otto 15ec0e9811 rename 2014-12-04 01:05:43 -08:00
Mark Otto 471e5969ac convert jumbotron example to new navbar, fix container, and use rems in css 2014-12-04 01:04:07 -08:00
Mark Otto d0cffbb680 grunt dist 2014-12-04 01:03:54 -08:00
Mark Otto 6fe75ead07 no need for .container's max-width: 100% since we use max-width now on all containers 2014-12-04 01:03:41 -08:00
Mark Otto 248e0e4059 fix heading margins 2014-12-04 01:03:23 -08:00
Mark Otto 95e27d0034 fix nav for grid template 2014-12-04 01:00:15 -08:00
Mark Otto c7c46acf48 update starter template to use new navbar 2014-12-04 00:59:36 -08:00
Mark Otto 4474630d77 restore px to base font size var 2014-12-04 00:10:24 -08:00
Mark Otto c213ff820a fix the variables i broke, temporarily disabling line-height-computed 2014-12-04 00:09:37 -08:00
Mark Otto bad40d5c4a Merge pull request #1 from twbs/scss
Move to Sass
2014-12-03 18:15:37 -08:00
Mark Otto bafd0b057e fix broken textarea.form-control reported by @thomas-mcdonald 2014-12-03 11:23:53 -08:00
Chris Rebert 833f391090 Add support for example IDs to {% example %} template tag
e.g. {% example html id=some-example-id-here %}
2014-12-02 18:46:42 -08:00
Mark Otto c80b7e468a bit of cleanup 2014-12-02 14:03:43 -08:00
Mark Otto 27df020852 convert to scss 2014-12-02 14:02:35 -08:00
Mark Otto 6bd84210ff remove broken examples link 2014-12-02 02:04:37 -08:00
Mark Otto 67c9d9e185 add examples description, remove browser bugs description 2014-12-01 16:51:48 -08:00
Mark Otto 8fdac3d3a2 move examples index again, clean up nav 2014-12-01 16:51:31 -08:00
Mark Otto af30e237c7 rearrange examples 2014-12-01 16:12:15 -08:00
Mark Otto 75943868be update home and side nav to use new navbar structure 2014-12-01 15:41:11 -08:00
Mark Otto 639a211344 add new album example 2014-12-01 15:19:15 -08:00
Mark Otto 9180e15e33 Clean up navbar to remove .navbar-toggle, .navbar-collapse, and .navbar-header as they are no longer used; Add .navbar-toggler to .navbar-inverse 2014-12-01 15:03:09 -08:00
Mark Otto 19d15476d8 nav tweaks 2014-12-01 02:06:30 -08:00
Mark Otto 72d1761256 Merge branch 'master' into v4
Conflicts:
	docs/_includes/js/collapse.html
2014-12-01 01:41:10 -08:00
Mark Otto 7a799af939 fixes and grunt 2014-11-30 21:01:50 -08:00
Mark Otto 4bba2d0e0c fix more broke shit, run grunt 2014-11-30 20:29:47 -08:00
Mark Otto b648a77ed3 Merge branch 'master' into v4
Conflicts:
	Gruntfile.js
	_config.yml
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	dist/fonts/glyphicons-halflings-regular.eot
	dist/fonts/glyphicons-halflings-regular.svg
	dist/fonts/glyphicons-halflings-regular.ttf
	dist/fonts/glyphicons-halflings-regular.woff
	docs/_data/glyphicons.yml
	docs/_includes/components/alerts.html
	docs/_includes/components/badges.html
	docs/_includes/components/button-dropdowns.html
	docs/_includes/components/button-groups.html
	docs/_includes/components/dropdowns.html
	docs/_includes/components/glyphicons.html
	docs/_includes/components/input-groups.html
	docs/_includes/components/labels.html
	docs/_includes/components/media.html
	docs/_includes/components/navbar.html
	docs/_includes/components/navs.html
	docs/_includes/components/pagination.html
	docs/_includes/components/panels.html
	docs/_includes/components/progress-bars.html
	docs/_includes/css/buttons.html
	docs/_includes/css/forms.html
	docs/_includes/css/grid.html
	docs/_includes/css/helpers.html
	docs/_includes/css/images.html
	docs/_includes/css/less.html
	docs/_includes/css/responsive-utilities.html
	docs/_includes/css/sass.html
	docs/_includes/css/tables.html
	docs/_includes/css/type.html
	docs/_includes/getting-started/accessibility.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/getting-started/community.html
	docs/_includes/getting-started/download.html
	docs/_includes/getting-started/examples.html
	docs/_includes/getting-started/whats-included.html
	docs/_includes/js/affix.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/modal.html
	docs/_includes/js/overview.html
	docs/_includes/js/tabs.html
	docs/_includes/nav/components.html
	docs/_includes/nav/css.html
	docs/_includes/nav/javascript.html
	docs/_includes/nav/main.html
	docs/about.html
	docs/assets/css/docs.min.css
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/dist/fonts/glyphicons-halflings-regular.eot
	docs/dist/fonts/glyphicons-halflings-regular.svg
	docs/dist/fonts/glyphicons-halflings-regular.ttf
	docs/dist/fonts/glyphicons-halflings-regular.woff
	docs/examples/carousel/index.html
	docs/examples/navbar-fixed-top/index.html
	docs/examples/navbar-static-top/index.html
	docs/examples/navbar/index.html
	docs/examples/non-responsive/index.html
	docs/examples/non-responsive/non-responsive.css
	docs/examples/sticky-footer-navbar/index.html
	docs/examples/theme/index.html
	fonts/glyphicons-halflings-regular.eot
	fonts/glyphicons-halflings-regular.svg
	fonts/glyphicons-halflings-regular.ttf
	fonts/glyphicons-halflings-regular.woff
	less/_carousel.less
	less/_forms.less
	less/glyphicons.less
2014-11-30 20:17:45 -08:00
Mark Otto b53ad74d47 clean up navbar examples 2014-11-29 15:07:13 -08:00
Mark Otto c901287394 remove more mentions of theme 2014-11-29 15:01:44 -08:00
Mark Otto 55148d32cb no more theme 2014-11-29 15:00:45 -08:00
Mark Otto 0988cfbf20 bump docs version 2014-11-29 15:00:04 -08:00
Mark Otto 12be9044f4 fix a bunch of padding and alignment things for forms 2014-11-25 18:00:52 -08:00
Mark Otto 15d98dc6b7 disable shadows on buttons for now 2014-11-25 17:47:32 -08:00
Mark Otto 6a810551d0 hide sections of homepage and quick start 2014-11-25 17:40:08 -08:00
Mark Otto 7ca73b7542 fix margin on .bs-example thumbs 2014-11-25 17:10:47 -08:00
Mark Otto 2ef6e02c01 alphabetize the ordering 2014-11-25 17:09:23 -08:00
Mark Otto 2a3680e187 drop the theme example 2014-11-21 15:27:52 -08:00
Mark Otto 2ef7b50a1f remove disable responsive docs section 2014-11-21 15:27:08 -08:00
Mark Otto 3151f50267 don't link to now removed non-responsive example 2014-11-21 15:26:19 -08:00
Mark Otto b15ad9920d drop non responsive example 2014-11-21 15:25:55 -08:00
Mark Otto 8c954fd13d run cssmin on docs css for dist-css task 2014-11-10 00:20:41 -08:00
Mark Otto aa5f040a87 rename gruntfile less tasks 2014-11-10 00:19:46 -08:00
Mark Otto 8611ed4dbd baseurl 2014-11-09 23:54:13 -08:00
Mark Otto 2cc66cbb58 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/customizer-variables.html
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	less/_variables.less
2014-11-09 23:48:56 -08:00
Mark Otto f17b636bce color contrast for links, gets us to 4.63:1 2014-11-09 23:01:50 -08:00
Mark Otto e020d50838 fix variable, run grunt 2014-11-09 22:05:09 -08:00
Mark Otto 86af1f39ab Merge branch 'master' into derp
Conflicts:
	Gruntfile.js
	_config.yml
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/components/button-groups.html
	docs/_includes/components/jumbotron.html
	docs/_includes/components/media.html
	docs/_includes/components/navs.html
	docs/_includes/customizer-variables.html
	docs/_includes/footer.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/js/carousel.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/modal.html
	docs/_includes/js/popovers.html
	docs/_includes/js/tooltips.html
	docs/_includes/nav/getting-started.html
	docs/_includes/nav/javascript.html
	docs/_layouts/default.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/docs.min.js
	docs/assets/js/raw-files.min.js
	docs/browser-bugs.html
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/examples/justified-nav/index.html
	less/_forms.less
	less/_tooltip.less
	less/navs.less
	less/theme.less
2014-11-09 22:02:53 -08:00
Mark Otto 9796f56fa1 title change 2014-10-27 04:52:48 -07:00
Mark Otto b091dd5e86 rename new navbar to just navbar 2014-10-27 04:52:22 -07:00
Mark Otto 77250e1451 drop the old navbar 2014-10-27 04:52:07 -07:00
Mark Otto 674c2ff224 fix up the new navbar docs 2014-10-27 04:49:24 -07:00
Mark Otto e3d2146350 fix rounded corners on copy buttons 2014-10-27 03:23:44 -07:00
Mark Otto 0222f2a2d0 compile the docs less as well 2014-10-27 03:23:30 -07:00
Mark Otto c15aa36798 switch to max-width on containers 2014-10-27 03:07:34 -07:00
Mark Otto 125c3859a0 add height to new navbar examples to show behavior 2014-10-27 03:07:25 -07:00
Mark Otto 37f10fe92f scrollspy maybe? 2014-10-27 01:35:10 -07:00
Mark Otto d896faa1b9 grunt 2014-10-27 01:35:02 -07:00
Mark Otto ff5146dce6 nav list update 2014-10-27 01:34:55 -07:00
Mark Otto 482863005e fix home nav 2014-10-27 01:34:43 -07:00
Mark Otto 252583b661 grunt 2014-10-26 23:07:20 -07:00
Mark Otto f07477d290 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap.css.map
	docs/assets/js/raw-files.min.js
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap.css.map
	less/progress-bars.less
	less/theme.less
2014-10-26 22:59:02 -07:00
Mark Otto f26821a83a fix progress bar animated biznas 2014-10-26 22:48:12 -07:00
Mark Otto 72a92f556d no more mixin, use regular property 2014-10-26 22:34:08 -07:00
Mark Otto d664ceaac8 rename that variable 2014-10-26 22:33:35 -07:00
Mark Otto 57ac8f6863 nuked that variable 2014-10-26 22:33:10 -07:00
Mark Otto dd584e81f8 fix syntax 2014-10-26 22:32:39 -07:00
Mark Otto d6b0f45fb7 Merge branch 'master' into derp
Conflicts:
	Gruntfile.js
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/components/dropdowns.html
	docs/_includes/components/media.html
	docs/_includes/components/navs.html
	docs/_includes/components/progress-bars.html
	docs/_includes/components/responsive-embed.html
	docs/_includes/css/buttons.html
	docs/_includes/css/forms.html
	docs/_includes/css/less.html
	docs/_includes/css/overview.html
	docs/_includes/css/responsive-utilities.html
	docs/_includes/customizer-variables.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/getting-started/grunt.html
	docs/_includes/getting-started/template.html
	docs/_includes/header.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/modal.html
	docs/_includes/js/popovers.html
	docs/_includes/js/scrollspy.html
	docs/_includes/js/tabs.html
	docs/_includes/js/tooltips.html
	docs/_includes/nav/components.html
	docs/_includes/nav/getting-started.html
	docs/_layouts/default.html
	docs/about.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/docs.min.js
	docs/assets/js/raw-files.min.js
	docs/browser-bugs.html
	docs/components.html
	docs/components/navbar.md
	docs/css.html
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/examples/blog/index.html
	docs/examples/carousel/index.html
	docs/examples/cover/index.html
	docs/examples/dashboard/index.html
	docs/examples/grid/index.html
	docs/examples/jumbotron-narrow/index.html
	docs/examples/jumbotron/index.html
	docs/examples/justified-nav/index.html
	docs/examples/navbar-fixed-top/index.html
	docs/examples/navbar-static-top/index.html
	docs/examples/navbar/index.html
	docs/examples/non-responsive/index.html
	docs/examples/offcanvas/index.html
	docs/examples/signin/index.html
	docs/examples/starter-template/index.html
	docs/examples/sticky-footer-navbar/index.html
	docs/examples/sticky-footer/index.html
	docs/examples/theme/index.html
	docs/examples/tooltip-viewport/index.html
	docs/getting-started.html
	docs/javascript.html
	docs/migration.html
	less/_animation.less
	less/_modal.less
	less/_navbar.less
	less/_variables.less
	less/glyphicons.less
	less/navs.less
	less/panels.less
	less/progress-bars.less
2014-10-26 22:31:59 -07:00
Mark Otto d1660ad078 Swap -small and -large variables for -sm and -lg 2014-09-21 16:04:37 -07:00
Mark Otto 2cc9e773c5 Move text and background utilties from _type to _utilities 2014-09-18 19:15:01 -07:00
Mark Otto 073389ca5e Rename .table-condensed to .table-sm 2014-09-17 22:14:27 -07:00
Mark Otto 1917b2d870 G R U N T 2014-09-17 22:00:12 -07:00
Mark Otto 2beb2e9fcf rename media query mixins to .media-* 2014-09-17 21:57:51 -07:00
Mark Otto e6fbefbb7f remove ' because lul less 2014-09-17 21:57:40 -07:00
Mark Otto 47bef3c6a0 more media query mixins 2014-09-17 21:56:27 -07:00
mrmrs 44f948ad53 Change hard-coded media queries in responsive-utilities.less to ref
media query mixin.

Does not account for print media queries yet.

Conflicts:
	less/_utilities-responsive.less
2014-09-17 21:55:32 -07:00
mrmrs cc3e6700b8 Add reference to media query partial.
Conflicts:
	less/_mixins.less
2014-09-17 21:53:36 -07:00
mrmrs c6a69e09fe Add partial for media query mixins. 2014-09-17 21:52:07 -07:00
Mark Otto 92e81718a3 Use .clearfix mixin instead of overflow on examples 2014-09-17 21:43:46 -07:00
Mark Otto dc7f92a0d4 ignore some files from jekyll compilation 2014-09-17 20:11:07 -07:00
Mark Otto ca2711fc8e rewrite jumbotron less and make heading use a class 2014-09-17 20:03:32 -07:00
Mark Otto 3d6982c149 add jumbotron and page-header to nav.yml 2014-09-17 20:03:19 -07:00
Mark Otto 86828fcd3d Some secondary button border action 2014-09-17 18:10:28 -07:00
Mark Otto 9f2aeafe85 Merge branch 'master' into derp
Conflicts:
	Gruntfile.js
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	dist/fonts/glyphicons-halflings-regular.svg
	docs/_includes/components/badges.html
	docs/_includes/components/input-groups.html
	docs/_includes/components/pagination.html
	docs/_includes/css/forms.html
	docs/_includes/footer.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/getting-started/grunt.html
	docs/_includes/home-nav.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/modal.html
	docs/_includes/js/popovers.html
	docs/_includes/js/tooltips.html
	docs/_includes/nav/getting-started.html
	docs/_includes/nav/javascript.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/browser-bugs.html
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/dist/fonts/glyphicons-halflings-regular.svg
	fonts/glyphicons-halflings-regular.svg
	less/_button-group.less
	less/_jumbotron.less
	less/_variables.less
	less/mixins/vendor-prefixes.less
	less/panels.less
	less/thumbnails.less
	package.json
2014-09-17 15:21:31 -07:00
Mark Otto 7d9f55c3d5 missing nav link 2014-08-14 14:16:55 -07:00
Mark Otto a243c16068 unfuck homepage nav links 2014-08-14 13:50:55 -07:00
Mark Otto 1582138d3c change value 2014-08-05 17:50:59 -07:00
Mark Otto e3b23439ba spacing 2014-08-05 17:50:22 -07:00
Mark Otto 3d5fd6f00d remove that 2014-08-05 17:49:22 -07:00
Mark Otto d4e58c755e fuck around with responsive reflow table idea 2014-08-05 17:45:24 -07:00
Mark Otto 668dc448a7 bigger images 2014-08-05 17:23:25 -07:00
Mark Otto 60e64015de fix broke code block 2014-08-05 17:21:54 -07:00
Mark Otto d71f6470c1 copy and remove rogue p tag 2014-08-05 17:21:13 -07:00
Mark Otto dceeb641ed fix nav link 2014-08-05 17:19:43 -07:00
Mark Otto 0181d3c643 move license and translations to about section 2014-08-05 17:19:12 -07:00
Mark Otto 7629e08d2b space out consecutive navs better 2014-08-05 17:17:00 -07:00
Mark Otto adefbf6ebe copy on badges 2014-08-05 17:16:28 -07:00
Mark Otto 25d6824e6c cards 2014-08-05 17:12:24 -07:00
Mark Otto af0921062f rename imported files to preface with underscore; rerun grunt dist 2014-08-04 15:36:41 -07:00
Mark Otto ef9e76c2c5 comment out firefox specific code for linter to parse fully 2014-08-04 15:17:43 -07:00
Mark Otto 724240fe4f Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/customizer-variables.html
	docs/_includes/js/overview.html
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/browser-bugs.html
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	less/carousel.less
2014-08-04 15:09:23 -07:00
Mark Otto 9e92b74aa3 fix ads text 2014-08-03 16:58:59 -07:00
Mark Otto 99edff6dda fix sidebar again 2014-08-03 16:23:32 -07:00
Mark Otto ae9c160932 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
2014-08-03 16:18:41 -07:00
Mark Otto de77d04899 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
2014-08-02 18:46:11 -07:00
Mark Otto 089d434895 Merge branch 'master' into derp
Conflicts:
	_config.yml
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/components/glyphicons.html
	docs/_includes/css/forms.html
	docs/_includes/css/tables.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/header.html
	docs/_includes/js/affix.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/overview.html
	docs/_includes/js/popovers.html
	docs/_includes/js/tooltips.html
	docs/_includes/nav/javascript.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/docs.min.js
	docs/assets/js/raw-files.min.js
	docs/browser-bugs.html
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/examples/blog/index.html
	docs/examples/carousel/index.html
	docs/examples/cover/index.html
	docs/examples/dashboard/index.html
	docs/examples/grid/index.html
	docs/examples/jumbotron-narrow/index.html
	docs/examples/jumbotron/index.html
	docs/examples/justified-nav/index.html
	docs/examples/navbar-fixed-top/index.html
	docs/examples/navbar-static-top/index.html
	docs/examples/navbar/index.html
	docs/examples/non-responsive/index.html
	docs/examples/offcanvas/index.html
	docs/examples/signin/index.html
	docs/examples/starter-template/index.html
	docs/examples/sticky-footer-navbar/index.html
	docs/examples/sticky-footer/index.html
	docs/examples/theme/index.html
	docs/examples/tooltip-viewport/index.html
	less/code.less
	less/panels.less
	less/variables.less
2014-08-02 18:30:59 -07:00
Mark Otto f200c39657 don't include local jquery 2014-07-15 09:09:40 -07:00
Mark Otto 01816e4e10 add css resets outline section to scaffolding docs 2014-07-14 09:14:59 -07:00
Mark Otto 8ff37bdb23 markdownify jumbotron docs 2014-07-14 09:14:48 -07:00
Mark Otto 35e68dcc33 markdownify label docs 2014-07-14 09:14:41 -07:00
Mark Otto 2879b93624 example page header 2014-07-14 09:14:31 -07:00
Mark Otto 5c9bcb72fb link the new navbar examples 2014-07-14 09:05:27 -07:00
Mark Otto 95fbbdd550 new fixed navbar example 2014-07-14 09:05:21 -07:00
Mark Otto 61b9496ba6 new navbar example 2014-07-14 09:05:12 -07:00
Mark Otto 76368ef0a9 grunt dist 2014-07-14 09:04:47 -07:00
Mark Otto 43450f7768 simplify jumbotron styles, rem-ify padding 2014-07-14 09:04:10 -07:00
Mark Otto 1c3d461996 fixed pos utility class 2014-07-14 09:03:21 -07:00
Mark Otto 108c395ad4 new navbar tweaks 2014-07-14 08:48:33 -07:00
Mark Otto 4d6ab7c068 experiment with more utilities 2014-07-14 08:48:26 -07:00
Mark Otto 68b71d1a50 nav update 2014-07-14 08:35:33 -07:00
Mark Otto cdb0f8229e move scaffolding stuff back to layout once more, split off the type docs to typography section 2014-07-14 08:34:56 -07:00
Mark Otto 8d55c3c0a3 move containers to layout section 2014-07-14 08:22:33 -07:00
Mark Otto e6ee1b228f inverse table idea 2014-07-14 00:23:46 -07:00
Mark Otto d60d34231a table headers 2014-07-13 23:45:34 -07:00
Mark Otto 3e896193ab new navbar ideas 2014-07-13 23:33:54 -07:00
Mark Otto b831dc06af more rems 2014-07-13 13:50:35 -07:00
Mark Otto 66f7062e81 transitions mixin and global variable, add it to buttons 2014-07-13 13:31:07 -07:00
Mark Otto a1bd7634d7 more docs rems, some mixin optimization 2014-07-13 13:19:58 -07:00
Mark Otto 2211af5ed1 more rems in docs 2014-07-13 12:47:24 -07:00
Mark Otto 3d36227616 rem-ify the footer and masthead 2014-07-13 12:38:06 -07:00
Mark Otto 0d89b7f55e rem-ify homepage icon 2014-07-13 12:15:14 -07:00
Mark Otto aaccb80c3c yellow var 2014-07-13 12:10:54 -07:00
Mark Otto b137f0b874 vars 2014-07-13 12:04:05 -07:00
Mark Otto bf4984145a nesting docs css 2014-07-13 12:00:17 -07:00
Mark Otto 264d1def90 fix header 2014-07-13 01:45:26 -07:00
Mark Otto 20349df3e7 markdownify browser bugs, add config vars for shorthand urls 2014-07-13 01:43:26 -07:00
Mark Otto 0927a0fc75 about header 2014-07-13 01:38:08 -07:00
Mark Otto 5af891ac69 fix paths 2014-07-13 01:38:03 -07:00
Mark Otto 7b30393935 markdownify about docs 2014-07-13 01:35:29 -07:00
Mark Otto 990b05d2fd layout section 2014-07-13 01:30:32 -07:00
Mark Otto aa22440acb move media to layout 2014-07-13 01:28:19 -07:00
Mark Otto 1b35ec9be5 fix helpers 2014-07-13 01:26:48 -07:00
Mark Otto 2cce857220 fix nav 2014-07-13 01:26:44 -07:00
Mark Otto 9c90f36dae markdownify button group 2014-07-13 01:23:34 -07:00
Mark Otto 4a5f1f036b markdownify button dropdowns 2014-07-13 01:23:29 -07:00
Mark Otto 35d87bcb25 markdownify responsive embed 2014-07-13 01:17:54 -07:00
Mark Otto 4aec90fa08 markdownify pagination 2014-07-13 01:17:50 -07:00
Mark Otto 3000dccada markdownify page header 2014-07-13 01:17:46 -07:00
Mark Otto bdc144c3bb markdownify media 2014-07-13 01:12:11 -07:00
Mark Otto a39f0f6d21 markdownify list group 2014-07-13 01:12:06 -07:00
Mark Otto 7d3ad78fc7 markdownify input group 2014-07-13 01:12:02 -07:00
Mark Otto 5904bacbb3 frontmatter that shit up 2014-07-13 00:59:31 -07:00
Mark Otto 53f8a3bb69 fix nav 2014-07-13 00:57:32 -07:00
Mark Otto 722d00eadf move typography 2014-07-13 00:57:28 -07:00
Mark Otto ab20dd1bcd markdownify js popovers 2014-07-13 00:54:34 -07:00
Mark Otto 9499907b46 markdownify js modal 2014-07-13 00:54:29 -07:00
Mark Otto 057d0a00ed markdownify js dropdowns 2014-07-13 00:54:26 -07:00
Mark Otto 59c3f4acaf markdownify js collapse 2014-07-13 00:54:21 -07:00
Mark Otto 61ef728873 markdownify js carousel 2014-07-13 00:54:14 -07:00
Mark Otto 35a98bc4f8 markdownify js buttons 2014-07-13 00:54:10 -07:00
Mark Otto 5a823fba7e markdownify js alerts 2014-07-13 00:53:59 -07:00
Mark Otto d1f699765e markdownify affix docs 2014-07-13 00:29:43 -07:00
Mark Otto d85e6af91b Merge branch 'master' into derp
Conflicts:
	docs/_includes/components/alerts.html
	docs/javascript/dropdowns.md
2014-07-13 00:23:09 -07:00
Mark Otto fecbaca907 grunt some more things, rebuild customizer nav 2014-07-12 18:11:07 -07:00
Mark Otto 4e55a867a0 Merge branch 'master' into derp
Conflicts:
	docs/_includes/components/alerts.html
	docs/_includes/getting-started/browser-device-support.html
2014-07-12 17:56:30 -07:00
Mark Otto 5cfde0d3a5 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/assets/js/customize.min.js
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/javascript/dropdowns.md
	less/utilities.less
2014-07-12 16:15:45 -07:00
Mark Otto f1e77198d4 markdownify js overview 2014-07-12 02:45:15 -07:00
Mark Otto 1916981faf markdownify tabs 2014-07-12 02:42:23 -07:00
Mark Otto 537cd1c1c3 markdownify scrollspy 2014-07-12 02:42:19 -07:00
Mark Otto b1dc638458 mardownify js tooltips 2014-07-12 02:34:21 -07:00
Mark Otto c6aae570b1 markdownify js transitions 2014-07-12 02:34:15 -07:00
Mark Otto 372e4a41eb fix js nav 2014-07-12 02:34:04 -07:00
Mark Otto c25bd1f03f restore docs and homepage navs 2014-07-12 02:25:07 -07:00
Mark Otto 9bf9fb1faa frontmatter all that shit 2014-07-12 02:20:15 -07:00
Mark Otto 4e1676f4c1 nuke the js.html page 2014-07-12 02:18:51 -07:00
Mark Otto 93667ae121 update page layouts 2014-07-12 02:18:46 -07:00
Mark Otto 2e4bbb1cb6 move over all js pages 2014-07-12 02:17:42 -07:00
Mark Otto 0610c94244 nuke components.html 2014-07-12 02:14:22 -07:00
Mark Otto 1df1a5d54e nuke nav includes 2014-07-12 02:13:54 -07:00
Mark Otto 7a70a8988b move responsive embed 2014-07-12 02:13:32 -07:00
Mark Otto 55c660102e move pagination 2014-07-12 02:13:29 -07:00
Mark Otto 0479394e0a move page-header 2014-07-12 02:13:26 -07:00
Mark Otto a2fd9a4e90 move navbar 2014-07-12 02:13:23 -07:00
Mark Otto 8baf692dc6 move media 2014-07-12 02:13:20 -07:00
Mark Otto 7407ee2da2 move list group 2014-07-12 02:13:16 -07:00
Mark Otto f5c63e11b8 move label 2014-07-12 02:13:13 -07:00
Mark Otto 88db2b5970 move jumbotron 2014-07-12 02:13:09 -07:00
Mark Otto ba74329ba6 move input group 2014-07-12 02:13:05 -07:00
Mark Otto 9650374012 move button group 2014-07-12 02:12:59 -07:00
Mark Otto deb720c94c move button dropdowns 2014-07-12 02:12:55 -07:00
Mark Otto 346bb975b3 markdown for 3rd party 2014-07-12 02:06:18 -07:00
Mark Otto 0d84bc1979 markdown for template 2014-07-12 02:06:13 -07:00
Mark Otto 95bd06cca6 markdown for disable responsive 2014-07-12 02:06:05 -07:00
Mark Otto 7c0c51c9d6 move remaining getting started files to new folder 2014-07-12 01:52:44 -07:00
Mark Otto a2c5febdb2 unfuck jekyll 2014-07-12 01:23:13 -07:00
Mark Otto 6336895b96 Change code variables to match pre 2014-07-12 01:23:06 -07:00
Mark Otto fe6b22c2c3 Rewrite breadcrumb in markdown 2014-07-12 01:03:13 -07:00
Mark Otto 743401dcd9 Twerk nav 2014-07-12 00:57:09 -07:00
Mark Otto c2527e4870 Redo license FAQs in markdown 2014-07-12 00:54:37 -07:00
Mark Otto c20e130a92 Redo community section in markdown 2014-07-12 00:54:29 -07:00
Mark Otto 5de8864938 Nuke getting-started.html 2014-07-12 00:45:24 -07:00
Mark Otto b5441d8650 Redo browser/device support in markdown 2014-07-12 00:45:11 -07:00
Mark Otto 2346b17d05 Redo translations in markdown 2014-07-11 23:55:59 -07:00
Mark Otto 2bbbf55180 Move accessibility to markdown 2014-07-11 23:46:47 -07:00
Mark Otto 28c946af90 nav 2014-07-11 23:19:49 -07:00
Mark Otto 3753390242 make it a thing 2014-07-11 23:19:46 -07:00
Mark Otto dad3cab24f move responsive utils 2014-07-11 22:59:57 -07:00
Mark Otto 46f1fbe746 grid cleanup, nav rearranging 2014-07-11 22:58:43 -07:00
Mark Otto a63c066e3d rearrange a few things; drop compiled theme file 2014-07-11 22:46:10 -07:00
Mark Otto cdbd104c7a grunt dist 2014-07-11 22:35:10 -07:00
Mark Otto d2baa4fd40 tweak docs sidenav styles 2014-07-11 22:35:07 -07:00
Mark Otto 1d273b1222 update nav 2014-07-11 22:34:54 -07:00
Mark Otto d9bb7ddac5 rearrange docs components 2014-07-11 22:34:47 -07:00
Mark Otto 60cf7d45db Rewrite progress to markdown 2014-07-11 15:45:11 -07:00
Mark Otto cabb86d126 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap.css.map
	docs/_includes/components/progress-bars.html
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap.css.map
2014-07-11 00:38:28 -07:00
Mark Otto f6482aadcd components headings 2014-07-10 20:14:44 -07:00
Mark Otto e8bd019a19 move all css files over to components dir 2014-07-10 20:02:47 -07:00
Mark Otto 55d6b3fcda fix page titles, add about page nav list 2014-07-10 18:04:38 -07:00
Mark Otto 4993ab6e00 start markdowning getting started and moving things to separate pages 2014-07-10 17:54:06 -07:00
Mark Otto 57c709becd jquery links 2014-07-10 10:23:15 -07:00
Mark Otto 35c90fe13d rewrite getting started quick start and download in markdown 2014-07-10 02:24:13 -07:00
Mark Otto 1af9ae1671 docs change 2014-07-10 00:52:10 -07:00
Mark Otto 7cfaf2f29e simplify example css 2014-07-10 00:31:09 -07:00
Mark Otto 4d0fb6c3e3 fix about nav 2014-07-10 00:24:39 -07:00
Mark Otto fb775bae21 fix sidenav js 2014-07-10 00:24:34 -07:00
Mark Otto e9f3f9cf3d nuke ie8 warning in tables 2014-07-10 00:01:26 -07:00
Mark Otto 313ea2706e code page ported to markdown 2014-07-10 00:01:03 -07:00
Mark Otto bae1604110 really fix the docs 2014-07-09 23:24:17 -07:00
Mark Otto 61d9606fff remove outline 2014-07-09 23:22:43 -07:00
Mark Otto 616a7a50eb nuke commented out sidenav; fix docs 2014-07-09 23:20:33 -07:00
Mark Otto d3c2fe7809 rewrite type docs in markdown 2014-07-09 23:06:16 -07:00
Mark Otto dae1a68fb1 Merge branch 'master' into derp
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/components/navs.html
	docs/_includes/css/images.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/tabs.html
	docs/assets/css/docs.min.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
2014-07-09 22:19:23 -07:00
Mark Otto 216bc3d68b Rewrite grid docs in markdown 2014-07-09 22:00:07 -07:00
Mark Otto 10f9260119 docs spacing for headings and leads 2014-07-09 21:35:35 -07:00
Mark Otto 61151f8d3d rewrite overview in markdown 2014-07-09 21:35:27 -07:00
Mark Otto ed1bcc0af4 docs design changes for markdown content 2014-07-09 21:18:00 -07:00
Mark Otto 7dadeaf1fa markdown plugin around markdown includes 2014-07-09 21:17:40 -07:00
Mark Otto 09762c3f65 rewrite images in markdown 2014-07-09 21:17:22 -07:00
Mark Otto 3ec4ca17ba rewrite helpers in markdown 2014-07-09 21:17:10 -07:00
Mark Otto cfc16c94b5 move buttons, helpers, images to markdown 2014-07-09 21:15:57 -07:00
Mark Otto c42d943e10 nuke wells include 2014-07-09 20:01:55 -07:00
Mark Otto be877bc691 plugins: add new example doodad hackery bullshitery and markdown block plugin for markdown includes 2014-07-09 20:00:22 -07:00
Mark Otto 2846850117 Fix navs dropdown sections 2014-07-09 16:08:18 -07:00
Mark Otto 857fe32a70 Refactor navs: new classes, remove separate pills & tabs files, drop justified nav because it never really worked 2014-07-09 16:04:31 -07:00
Mark Otto 77a4bcad9e Drop the deprecated .visible-* classes (because we replaced them with .visible-*-block, -inline-block, -inline 2014-07-09 13:58:27 -07:00
Mark Otto 02fe0ecc31 Drop deprecated code from Less files 2014-07-09 13:54:32 -07:00
Mark Otto a0d8c62f18 more navs work 2014-07-09 13:51:49 -07:00
Mark Otto 4d5243674a remove deprecated warnings from docs 2014-07-09 13:51:20 -07:00
Mark Otto f37dbe53a4 disabled links part of the examples now 2014-07-09 10:52:48 -07:00
Mark Otto 41f3af407b Merge branch 'derp' into derp_navs
Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
2014-07-09 10:48:58 -07:00
Mark Otto 87c9ce5333 Remove unused docs CSS 2014-07-09 10:47:53 -07:00
Mark Otto d3fc995293 no more iconography 2014-07-09 10:45:57 -07:00
Mark Otto d738c8729b remove commented out docs js 2014-07-09 02:44:11 -07:00
Mark Otto b5242d3068 nuke ie8 responsive file warning js 2014-07-09 02:43:25 -07:00
Mark Otto a5dbd936a6 Nuke IE8 stuff from docs 2014-07-09 02:41:57 -07:00
Mark Otto 41d6cad4b6 Docs: Refactor to use .less file instead, importing Bootstrap vars and mixins, and cleaning all the things up 2014-07-09 02:40:05 -07:00
Mark Otto 54537b500e Refactor: drop all custom .progress-bar styles and replace with <progress> element 2014-07-09 01:39:34 -07:00
Mark Otto 79f56dbea9 nuke commented out css 2014-07-09 00:15:52 -07:00
Mark Otto a8625f452e Badges, navs, and more 2014-07-09 00:15:20 -07:00
Mark Otto f380ca21e2 Use .box-shadow() mixin so we can enable/disable them 2014-07-08 21:19:14 -07:00
Mark Otto ff4ff3bd06 Drop: .opacity() mixin because we no longer support IE8 2014-07-08 19:22:19 -07:00
Mark Otto c825629ffe Nuke all IE8 fallbacks and comments and hacks 2014-07-08 19:20:45 -07:00
Mark Otto 0e47ce959c move tabs and pills to separate files with unique classes 2014-07-08 19:00:48 -07:00
Mark Otto 6c7a6b4691 rems: table padding 2014-07-08 17:39:29 -07:00
Mark Otto e6d64a5455 Nuke unused vars for panels wells and thumbnails 2014-07-08 17:32:03 -07:00
Mark Otto 5e1adc10bb Bring back button info 2014-07-08 17:30:11 -07:00
Mark Otto 93a7421f2c .btn-default to .btn-secondary 2014-07-08 17:14:14 -07:00
Mark Otto f399d21ef5 Revamp button: rename .btn-default to .btn-secondary, drop .btn-info 2014-07-08 17:09:47 -07:00
Mark Otto 28a61e708d nuke the sass docs 2014-07-08 17:00:20 -07:00
Mark Otto 4ca45be6e9 drop the low percentages docs from progress bars 2014-07-08 16:54:57 -07:00
Mark Otto cde7648d28 docs header padding 2014-07-08 16:54:32 -07:00
Mark Otto ebcc5615cb Update browser support section to remove glyphicons in tables; also remove ie8 and font-face section 2014-07-08 16:48:03 -07:00
Mark Otto bb32b96496 fix broken examples 2014-07-08 16:43:11 -07:00
Mark Otto 542f9973ed Fix navbar margins and update grid sidebar styles to match 2014-07-08 16:39:46 -07:00
Mark Otto bb3157c2d9 Add new grunt task for faster builds; nuke fonts 2014-07-08 16:25:23 -07:00
Mark Otto f6367bc0e4 Implement the new border-radius guard: only round things if global @enable-rounded == true 2014-07-08 16:25:01 -07:00
Mark Otto 86099bfb33 clean up commented out docs css 2014-07-08 16:03:31 -07:00
Mark Otto f05365f73b rems: update breadcrumbs to use new sizing; improve variables by renaming @breadcrumb-separator to @breadcrumb-divider; change up colors 2014-07-08 16:00:52 -07:00
Mark Otto fd5a24dca0 fix sidenav padding 2014-07-08 14:31:38 -07:00
Mark Otto 8582659d5c Refactor: drop .dropdown .caret for a generated caret using .dropdown-toggle:after 2014-07-08 14:23:34 -07:00
Mark Otto b33b208ce1 remove glyphicons nav 2014-07-08 14:23:01 -07:00
Mark Otto 9c319d67ee Drop: Thumbnails completely, as they'll be replaced 2014-07-08 04:00:35 -07:00
Mark Otto 527eccaa9f Drop: Panels completely, as they'll be replaced 2014-07-08 03:56:47 -07:00
Mark Otto 67d3119c5a clean up layout 2014-07-08 03:48:56 -07:00
Mark Otto 6ed9912209 nuke the v2.x to v3.x migration docs 2014-07-08 03:48:40 -07:00
Mark Otto 63f6b24042 link 2014-07-08 03:46:17 -07:00
Mark Otto 77bccf8998 Update grid mixins section of the docs 2014-07-08 03:43:44 -07:00
Mark Otto c3b0870ec0 Overhaul semantic grid mixins
- Drops all the `.make-**-column` mixins for a single set to be used
within (or outside) media queries.
- Renames `.container-fixed` to `.make-container` for consistency.
- Updates built-in grid system to use new setup.

See http://jsbin.com/qiqet/2/ for an example of it in action.
2014-07-08 03:38:23 -07:00
Mark Otto 9f53f9aea1 rems: rework grid system vars to use rems/ems 2014-07-08 03:14:27 -07:00
Mark Otto a06a35d27a Drop: Device-named container variables since we alreay sort of deprecated them many releases ago 2014-07-08 02:55:07 -07:00
Mark Otto 74ac24aa59 Drop: deprecated .dropdown-menu.pull-right styles 2014-07-08 02:40:35 -07:00
Mark Otto 5c0d62bc22 remove mention of fonts 2014-07-08 02:40:17 -07:00
Mark Otto 4139545da2 rems: input sizes 2014-07-08 02:31:33 -07:00
Mark Otto 07463acec7 Drop: @gray-base variable 2014-07-08 02:27:12 -07:00
Mark Otto b50498acd4 Clean up variable alignment and comments; change grays to new custom values 2014-07-08 02:26:50 -07:00
Mark Otto d7b38d8c4a Drop: all vendor prefix mixins because autoprefixer 2014-07-08 02:04:48 -07:00
Mark Otto 6fda409853 Fix input sizing and increase vertical padding on textareas 2014-07-08 01:44:09 -07:00
Mark Otto ea59c3c31a Drop: @screen-table, @screen-desktop, @screen-lg-desktop, @screen-sm, @screen-md, @screen-lg 2014-07-08 01:28:15 -07:00
Mark Otto d84fce7230 Drop: @screen-xs, @screen-xs-min, and @screen-phone 2014-07-08 01:25:23 -07:00
Mark Otto 61335862a7 Drop: @dropdown-caret-color variable 2014-07-08 01:22:58 -07:00
Mark Otto 8d50d4a684 rems: buttons 2014-07-08 01:22:02 -07:00
Mark Otto 413750a03c rems: code 2014-07-08 01:02:59 -07:00
Mark Otto dae5ec5416 Drop Glyphicons 2014-07-08 00:33:21 -07:00
Mark Otto b29268dc48 drop wells 2014-07-08 00:25:13 -07:00
Mark Otto 97008c381a restore font-weight and knock down font-size for .lead 2014-07-08 00:10:31 -07:00
Mark Otto d85895fda8 buttons docs tweak 2014-07-08 00:03:11 -07:00
Mark Otto 5f768e01d4 remove the less docs 2014-07-07 23:38:10 -07:00
Mark Otto f5024eb13a start the move to rems 2014-07-07 23:36:40 -07:00
Mark Otto 81b59d3536 Merge branch 'master' into derp
Conflicts:
	docs/_layouts/default.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/docs.min.js
	docs/assets/js/src/application.js
2014-07-07 22:10:22 -07:00
Mark Otto fed2b0f7eb nav cleanup and responsiveness 2014-03-18 13:01:50 -07:00
Mark Otto 35ddc8427e revamp all the things 2014-03-17 02:03:16 -07:00
564 changed files with 56711 additions and 75480 deletions
+3 -2
View File
@@ -3,13 +3,14 @@
*.html text eol=lf
*.js text eol=lf
*.json text eol=lf
*.less text eol=lf
*.md text eol=lf
*.py text eol=lf
*.rb text eol=lf
*.scss text eol=lf
*.svg text eol=lf
*.yml text eol=lf
# Don't diff or textually merge source maps
*.map binary
bootstrap-theme.css linguist-vendored=false
bootstrap.css linguist-vendored=false
bootstrap.js linguist-vendored=false
+18
View File
@@ -1,7 +1,12 @@
# Ignore docs files
_gh_pages
_site
# Ignore ruby files
.ruby-version
.bundle
vendor/cache
vendor/bundle
# Numerous always-ignore extensions
*.diff
@@ -33,6 +38,19 @@ Thumbs.db
.komodotools
*.komodoproject
# grunt-html-validation
validation-report.json
validation-status.json
# SCSS-Lint
scss-lint-report.xml
# grunt-contrib-sass cache
.sass-cache
# Jekyll metadata
docs/.jekyll-metadata
# Folders to ignore
bower_components
node_modules
+6
View File
@@ -0,0 +1,6 @@
javascript:
enabled: false
scss:
config_file: scss/.scss-lint.yml
enabled: true
ignore_file: scss/_normalize.scss
+19 -17
View File
@@ -1,44 +1,46 @@
sudo: false
language: node_js
git:
depth: 10
node_js:
- "0.12"
- "4"
- "5"
before_install:
- travis_retry sudo pip install -r test-infra/requirements.txt
- rvm use 1.9.3 --fuzzy
- rvm install 2.2
- rvm use 2.2 --fuzzy
- export GEMDIR=$(rvm gemdir)
- if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION rouge=$ROUGE_VERSION" > pseudo_Gemfile.lock; fi
- npm install -g npm@3
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
- if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fi
install:
- bundle install --deployment --jobs=3
- cp grunt/npm-shrinkwrap.json ./
- npm install -g grunt-cli
- ./test-infra/s3_cache.py download npm-modules
- if [ "$TWBS_TEST" = validate-html ] && [ $TWBS_DO_VALIDATOR -ne 0 ]; then ./test-infra/s3_cache.py download rubygems; fi
after_script:
- if [ "$TRAVIS_REPO_SLUG" != twbs-savage/bootstrap ] && [ "$TWBS_TEST" = core ]; then ./test-infra/s3_cache.py upload npm-modules; fi
- if [ "$TRAVIS_REPO_SLUG" != twbs-savage/bootstrap ] && [ "$TWBS_TEST" = validate-html ] && [ $TWBS_DO_VALIDATOR -ne 0 ]; then ./test-infra/s3_cache.py upload rubygems; fi
- npm install
# Caching disabled due to https://github.com/travis-ci/travis-ci/issues/5092
#cache:
# directories:
# - node_modules
# - vendor/bundle
env:
global:
- JEKYLL_VERSION="2.5.3"
- ROUGE_VERSION="1.8.0"
- SAUCE_USERNAME="bootstrap"
- secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
- secure: "gqjqISbxBJK6byFbsmr1AyP1qoWH+rap06A2gI7v72+Tn2PU2nYkIMUkCvhZw6K889jv+LhQ/ybcBxDOXHpNCExCnSgB4dcnmYp+9oeNZb37jSP0rQ+Ib4OTLjzc3/FawE/fUq5kukZTC7porzc/k0qJNLAZRx3YLALmK1GIdUY="
- secure: "Gghh/e3Gsbj1+4RR9Lh2aR/xJl35HWiHqlPIeSUqE9D7uDCVTAwNce/dGL3Ew7uJPfJ6Pgr70wD3zgu3stw0Zmzayax0hiDtGwcQCxVIER08wqGANK9C2Q7PYJkNTNtiTo6ehKWbdV4Z+/U+TEYyQfpQTDbAFYk/vVpsdjp0Lmc="
- secure: "RTbRdx4G/2OTLfrZtP1VbRljxEmd6A1F3GqXboeQTldsnAlwpsES65es5CE3ub/rmixLApOY9ot7OPmNixFgC2Y8xOsV7lNCC62QVpmqQEDyGFFQKb3yO6/dmwQxdsCqGfzf9Np6Wh5V22QFvr50ZLKLd7Uhd9oXMDIk/z1MJ3o="
- secure: "RKWpS+P20b4tG9tawzCMJSmQftoonmC7tJzyGYiHuEM1TcpHALLBcnzKlr/+DiPTfzDJWY4kS8pxfhK4uXOe8OHnhpMNub7LEWtFPePlZIervOJcsOydaQocTKqVVWD6OUubMeQmQ+tZmvmpjoJ1uPPEbFs9ciF7+dv3U5tLUZ0="
- secure: "XswSKBY0HJ/aO9VOBeWlvGpqSFF/DsJmNKz7o5RkJMJX340qe44J929uUNwwOwlv9YrgptzC2W6l8bpmZQV+p6IYs99SoSA8CCaUfIJaqeU9x/UiT5vIHgqaNax+vFJwvzHLpF5v/ggFqFEKCd54gCDasePLTztHeC4oL104iaQ="
- secure: "Dv1HX5dzyTh8gA2YsLI+yWEgh9lnGKPpRDDEYYvm42fjBFziUYfcpvA9g8GXQuU9srY3mhfsZkCDHN0x5n1gliOai5TSjmd5Hh+9UyhvNWE+D8HoUpcFXWoQXvy/if2r25m+ZWi3cqgXkkBOcal3W1ePMtU4ln18NcWyIZ0tEFo="
- secure: "PabpUdG2dE40hHUkMCdxk1e9Ak3BOo0h7Y5/uekosLKOz5N60Xmn/ooyrSkvicLthXO4cfONFhO3/xSVRKQOxlUw4on5i0VuNK+QSqxJk0IDaRSZnTCcC8J7083K0YL+FvMdGQwcYwMY9LiwS8aS014IRkSQjsa+mjo3owP+dOU="
- secure: "G4/f4PVyVi9o6UbZMqw9YFmDu7cHqe9iymiXYd1RcnPXwhWAePX12m0PWMhUj5itJ180PTEddVip8PNOgBdqyrDxEPKkcgAW2EElVAPIKJXVfvDW64UjQ0H7NS7XvF7iLQUJp/XfmR7NJ7tT393AQdh8SGmuQpJhgYbwIWbES/k="
matrix:
- TWBS_TEST=core
- TWBS_TEST=validate-html
- TWBS_TEST=sauce-js-unit
matrix:
fast_finish: true
exclude:
- node_js: "4"
env: TWBS_TEST=validate-html
- node_js: "4"
env: TWBS_TEST=sauce-js-unit
notifications:
slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
webhooks:
+1 -1
View File
@@ -1 +1 @@
getbootstrap.com
v4-alpha.getbootstrap.com
+8 -8
View File
@@ -19,14 +19,15 @@ and [submitting pull requests](#pull-requests), but please respect the following
restrictions:
* Please **do not** use the issue tracker for personal support requests. Stack
Overflow ([`twitter-bootstrap-3`](https://stackoverflow.com/questions/tagged/twitter-bootstrap-3) tag), [Slack](https://bootstrap-slack.herokuapp.com/) or [IRC](README.md#community) are better places to get help.
Overflow ([`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4) tag), [Slack](https://bootstrap-slack.herokuapp.com/) or [IRC](README.md#community) are better places to get help.
* Please **do not** derail or troll issues. Keep the discussion on topic and
respect the opinions of others.
* Please **do not** open issues or pull requests regarding the code in
[`Normalize`](https://github.com/necolas/normalize.css) (open them in
their respective repositories).
its repository).
* Please **do not** open issues regarding the official themes offered on <http://themes.getbootstrap.com/>. Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
## Issues and labels
@@ -35,8 +36,7 @@ Our bug tracker utilizes several labels to help organize and identify issues. He
- `browser bug` - Issues that are reported to us, but actually are the result of a browser-specific bug. These are diagnosed with reduced test cases and result in an issue opened on that browser's own bug tracker.
- `confirmed` - Issues that have been confirmed with a reduced test case and identify a bug in Bootstrap.
- `css` - Issues stemming from our compiled CSS or source Less files.
- `customizer` - Issues with our web-based Customizer.
- `css` - Issues stemming from our compiled CSS or source Sass files.
- `docs` - Issues for improving or updating our documentation.
- `examples` - Issues involving the example templates included in our docs.
- `feature` - Issues asking for a new feature to be added, or an existing one to be extended or modified. New features require a minor version bump (e.g., `v3.0.0` to `v3.1.0`).
@@ -67,7 +67,7 @@ Guidelines for bug reports:
3. **Isolate the problem** &mdash; ideally create a [reduced test
case](https://css-tricks.com/reduced-test-cases/) and a live example.
[This JS Bin](http://jsbin.com/lefey/1/edit?html,output) is a helpful template.
[This JS Bin](http://jsbin.com/qusafa/edit?html,output) is a helpful template.
A good bug report shouldn't leave others needing to chase you up for more
@@ -105,7 +105,7 @@ When feasible, we aim to report such upstream bugs to the relevant browser vendo
| Mozilla | Firefox | Gecko | https://bugzilla.mozilla.org/enter_bug.cgi | "Core" is normally the right product option to choose. |
| Apple | Safari | WebKit | https://bugs.webkit.org/enter_bug.cgi?product=WebKit <br> https://bugreport.apple.com | In Apple's bug reporter, choose "Safari" as the product. |
| Google, Opera | Chrome, Chromium, Opera v15+ | Blink | https://code.google.com/p/chromium/issues/list | Click the "New issue" button. |
| Microsoft | Internet Explorer | Trident | https://connect.microsoft.com/IE/feedback/LoadSubmitFeedbackForm | |
| Microsoft | Internet Explorer / Edge | Trident/EdgeHTML | https://connect.microsoft.com/IE/feedback/LoadSubmitFeedbackForm | |
### Issues bots
@@ -135,9 +135,9 @@ Please adhere to the [coding guidelines](#code-guidelines) used throughout the
project (indentation, accurate comments, etc.) and any other requirements
(such as test coverage).
**Do not edit `bootstrap.css`, `bootstrap-theme.css`, or `bootstrap.js`
**Do not edit `bootstrap.css`, or `bootstrap.js`
directly!** Those files are automatically generated. You should edit the
source files in [`/bootstrap/less/`](https://github.com/twbs/bootstrap/tree/master/less)
source files in [`/bootstrap/scss/`](https://github.com/twbs/bootstrap/tree/master/scss)
and/or [`/bootstrap/js/`](https://github.com/twbs/bootstrap/tree/master/js) instead.
Similarly, when contributing to Bootstrap's documentation, you should edit the
+12
View File
@@ -0,0 +1,12 @@
# Ruby Gems for building and testing Bootstrap
# Run `grunt update-gemfile-lock` to update to the latest compatible versions
source 'https://rubygems.org'
group :development, :test do
gem 'jekyll', '~> 3.0.1'
gem 'jekyll-redirect-from', '~> 0.9.0'
gem 'jekyll-sitemap', '~> 0.9.0'
gem 'sass', '~> 3.4.19'
gem 'scss_lint', '~> 0.43'
end
+52
View File
@@ -0,0 +1,52 @@
GEM
remote: https://rubygems.org/
specs:
colorator (0.1)
ffi (1.9.10)
ffi (1.9.10-x64-mingw32)
jekyll (3.0.1)
colorator (~> 0.1)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
kramdown (~> 1.3)
liquid (~> 3.0)
mercenary (~> 0.3.3)
rouge (~> 1.7)
safe_yaml (~> 1.0)
jekyll-redirect-from (0.9.0)
jekyll (>= 2.0)
jekyll-sass-converter (1.3.0)
sass (~> 3.2)
jekyll-sitemap (0.9.0)
jekyll-watch (1.3.0)
listen (~> 3.0)
kramdown (1.9.0)
liquid (3.0.6)
listen (3.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
mercenary (0.3.5)
rainbow (2.0.0)
rb-fsevent (0.9.6)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rouge (1.10.1)
safe_yaml (1.0.4)
sass (3.4.19)
scss_lint (0.43.2)
rainbow (~> 2.0)
sass (~> 3.4.15)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
jekyll (~> 3.0.1)
jekyll-redirect-from (~> 0.9.0)
jekyll-sitemap (~> 0.9.0)
sass (~> 3.4.19)
scss_lint (~> 0.43)
BUNDLED WITH
1.10.6
+245 -228
View File
@@ -17,16 +17,42 @@ module.exports = function (grunt) {
var fs = require('fs');
var path = require('path');
var glob = require('glob');
var isTravis = require('is-travis');
var npmShrinkwrap = require('npm-shrinkwrap');
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
var getLessVarsData = function () {
var filePath = path.join(__dirname, 'less/variables.less');
var fileContent = fs.readFileSync(filePath, { encoding: 'utf8' });
var parser = new BsLessdocParser(fileContent);
return { sections: parser.parseFile() };
};
var generateRawFiles = require('./grunt/bs-raw-files-generator.js');
var mq4HoverShim = require('mq4-hover-shim');
var autoprefixer = require('autoprefixer')({
browsers: [
//
// Official browser support policy:
// http://v4-alpha.getbootstrap.com/getting-started/browsers-devices/#supported-browsers
//
'Chrome >= 35', // Exact version number here is kinda arbitrary
// Rather than using Autoprefixer's native "Firefox ESR" version specifier string,
// we deliberately hardcode the number. This is to avoid unwittingly severely breaking the previous ESR in the event that:
// (a) we happen to ship a new Bootstrap release soon after the release of a new ESR,
// such that folks haven't yet had a reasonable amount of time to upgrade; and
// (b) the new ESR has unprefixed CSS properties/values whose absence would severely break webpages
// (e.g. `box-sizing`, as opposed to `background: linear-gradient(...)`).
// Since they've been unprefixed, Autoprefixer will stop prefixing them,
// thus causing them to not work in the previous ESR (where the prefixes were required).
'Firefox >= 31', // Current Firefox Extended Support Release (ESR)
// Note: Edge versions in Autoprefixer & Can I Use refer to the EdgeHTML rendering engine version,
// NOT the Edge app version shown in Edge's "About" screen.
// For example, at the time of writing, Edge 20 on an up-to-date system uses EdgeHTML 12.
// See also https://github.com/Fyrd/caniuse/issues/1928
'Edge >= 12',
'Explorer >= 9',
// Out of leniency, we prefix these 1 version further back than the official policy.
'iOS >= 8',
'Safari >= 8',
// The following remain NOT officially supported, but we're lenient and include their prefixes to avoid severely breaking in them.
'Android 2.3',
'Android >= 4',
'Opera >= 12'
]
});
var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js');
var configBridge = grunt.file.readJSON('./grunt/configBridge.json', { encoding: 'utf8' });
@@ -44,10 +70,17 @@ module.exports = function (grunt) {
banner: '/*!\n' +
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
' * Licensed under the <%= pkg.license %> license\n' +
' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
' */\n',
jqueryCheck: configBridge.config.jqueryCheck.join('\n'),
jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'),
jqueryCheck: 'if (typeof jQuery === \'undefined\') {\n' +
' throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery\')\n' +
'}\n',
jqueryVersionCheck: '+function ($) {\n' +
' var version = $.fn.jquery.split(\' \')[0].split(\'.\')\n' +
' if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 3)) {\n' +
' throw new Error(\'Bootstrap\\\'s JavaScript requires at least jQuery v1.9.1 but less than v3.0.0\')\n' +
' }\n' +
'}(jQuery);\n\n',
// Task configuration.
clean: {
@@ -55,70 +88,123 @@ module.exports = function (grunt) {
docs: 'docs/dist'
},
jshint: {
options: {
jshintrc: 'js/.jshintrc'
},
grunt: {
options: {
jshintrc: 'grunt/.jshintrc'
// JS build configuration
lineremover: {
es6Import: {
files: {
'<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>'
},
src: ['Gruntfile.js', 'package.js', 'grunt/*.js']
},
core: {
src: 'js/*.js'
},
test: {
options: {
jshintrc: 'js/tests/unit/.jshintrc'
},
src: 'js/tests/unit/*.js'
},
assets: {
src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js']
exclusionPattern: /^(import|export)/g
}
}
},
babel: {
dev: {
options: {
sourceMap: true,
modules: 'ignore'
},
files: {
'js/dist/util.js' : 'js/src/util.js',
'js/dist/alert.js' : 'js/src/alert.js',
'js/dist/button.js' : 'js/src/button.js',
'js/dist/carousel.js' : 'js/src/carousel.js',
'js/dist/collapse.js' : 'js/src/collapse.js',
'js/dist/dropdown.js' : 'js/src/dropdown.js',
'js/dist/modal.js' : 'js/src/modal.js',
'js/dist/scrollspy.js' : 'js/src/scrollspy.js',
'js/dist/tab.js' : 'js/src/tab.js',
'js/dist/tooltip.js' : 'js/src/tooltip.js',
'js/dist/popover.js' : 'js/src/popover.js'
}
},
dist: {
options: {
modules: 'ignore'
},
files: {
'<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>'
}
},
umd: {
options: {
modules: 'umd'
},
files: {
'dist/js/umd/util.js' : 'js/src/util.js',
'dist/js/umd/alert.js' : 'js/src/alert.js',
'dist/js/umd/button.js' : 'js/src/button.js',
'dist/js/umd/carousel.js' : 'js/src/carousel.js',
'dist/js/umd/collapse.js' : 'js/src/collapse.js',
'dist/js/umd/dropdown.js' : 'js/src/dropdown.js',
'dist/js/umd/modal.js' : 'js/src/modal.js',
'dist/js/umd/scrollspy.js' : 'js/src/scrollspy.js',
'dist/js/umd/tab.js' : 'js/src/tab.js',
'dist/js/umd/tooltip.js' : 'js/src/tooltip.js',
'dist/js/umd/popover.js' : 'js/src/popover.js'
}
}
},
eslint: {
options: {
configFile: 'js/.eslintrc'
},
target: 'js/src/*.js'
},
jscs: {
options: {
config: 'js/.jscsrc'
},
grunt: {
src: '<%= jshint.grunt.src %>'
src: ['Gruntfile.js', 'grunt/*.js']
},
core: {
src: '<%= jshint.core.src %>'
src: 'js/src/*.js'
},
test: {
src: '<%= jshint.test.src %>'
src: 'js/tests/unit/*.js'
},
assets: {
options: {
requireCamelCaseOrUpperCaseIdentifiers: null
},
src: '<%= jshint.assets.src %>'
src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js']
}
},
stamp: {
options: {
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function ($) {\n',
footer: '\n}(jQuery);'
},
bootstrap: {
files: {
src: '<%= concat.bootstrap.dest %>'
}
}
},
concat: {
options: {
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>',
stripBanners: false
},
bootstrap: {
src: [
'js/transition.js',
'js/alert.js',
'js/button.js',
'js/carousel.js',
'js/collapse.js',
'js/dropdown.js',
'js/modal.js',
'js/tooltip.js',
'js/popover.js',
'js/scrollspy.js',
'js/tab.js',
'js/affix.js'
'js/src/util.js',
'js/src/alert.js',
'js/src/button.js',
'js/src/carousel.js',
'js/src/collapse.js',
'js/src/dropdown.js',
'js/src/modal.js',
'js/src/scrollspy.js',
'js/src/tab.js',
'js/src/tooltip.js',
'js/src/popover.js'
],
dest: 'dist/js/<%= pkg.name %>.js'
}
@@ -130,16 +216,12 @@ module.exports = function (grunt) {
warnings: false
},
mangle: true,
preserveComments: 'some'
preserveComments: /^!|@preserve|@license|@cc_on/i
},
core: {
src: '<%= concat.bootstrap.dest %>',
dest: 'dist/js/<%= pkg.name %>.min.js'
},
customize: {
src: configBridge.paths.customizerJs,
dest: 'docs/assets/js/customize.min.js'
},
docsJs: {
src: configBridge.paths.docsJs,
dest: 'docs/assets/js/docs.min.js'
@@ -153,51 +235,41 @@ module.exports = function (grunt) {
files: 'js/tests/index.html'
},
less: {
compileCore: {
options: {
strictMath: true,
sourceMap: true,
outputSourceFiles: true,
sourceMapURL: '<%= pkg.name %>.css.map',
sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
},
src: 'less/bootstrap.less',
dest: 'dist/css/<%= pkg.name %>.css'
// CSS build configuration
scsslint: {
options: {
bundleExec: true,
config: 'scss/.scss-lint.yml',
reporterOutput: null
},
compileTheme: {
options: {
strictMath: true,
sourceMap: true,
outputSourceFiles: true,
sourceMapURL: '<%= pkg.name %>-theme.css.map',
sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map'
},
src: 'less/theme.less',
dest: 'dist/css/<%= pkg.name %>-theme.css'
}
src: ['scss/*.scss', '!scss/_normalize.scss']
},
autoprefixer: {
options: {
browsers: configBridge.config.autoprefixerBrowsers
},
postcss: {
core: {
options: {
map: true
map: true,
processors: [
mq4HoverShim.postprocessorFor({ hoverSelectorPrefix: '.bs-true-hover ' }),
autoprefixer
]
},
src: 'dist/css/<%= pkg.name %>.css'
},
theme: {
options: {
map: true
},
src: 'dist/css/<%= pkg.name %>-theme.css'
src: 'dist/css/*.css'
},
docs: {
src: ['docs/assets/css/src/docs.css']
options: {
processors: [
autoprefixer
]
},
src: 'docs/assets/css/docs.min.css'
},
examples: {
options: {
processors: [
autoprefixer
]
},
expand: true,
cwd: 'docs/examples/',
src: ['**/*.css'],
@@ -205,55 +277,35 @@ module.exports = function (grunt) {
}
},
csslint: {
options: {
csslintrc: 'less/.csslintrc'
},
dist: [
'dist/css/bootstrap.css',
'dist/css/bootstrap-theme.css'
],
examples: [
'docs/examples/**/*.css'
],
docs: {
options: {
ids: false,
'overqualified-elements': false
},
src: 'docs/assets/css/src/docs.css'
}
},
cssmin: {
options: {
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
compatibility: 'ie8',
compatibility: 'ie9',
keepSpecialComments: '*',
sourceMap: true,
advanced: false
},
minifyCore: {
src: 'dist/css/<%= pkg.name %>.css',
dest: 'dist/css/<%= pkg.name %>.min.css'
},
minifyTheme: {
src: 'dist/css/<%= pkg.name %>-theme.css',
dest: 'dist/css/<%= pkg.name %>-theme.min.css'
core: {
files: [
{
expand: true,
cwd: 'dist/css',
src: ['*.css', '!*.min.css'],
dest: 'dist/css',
ext: '.min.css'
}
]
},
docs: {
src: [
'docs/assets/css/src/pygments-manni.css',
'docs/assets/css/src/docs.css'
],
src: 'docs/assets/css/docs.min.css',
dest: 'docs/assets/css/docs.min.css'
}
},
csscomb: {
options: {
config: 'less/.csscomb.json'
config: 'scss/.csscomb.json'
},
dist: {
expand: true,
@@ -274,11 +326,6 @@ module.exports = function (grunt) {
},
copy: {
fonts: {
expand: true,
src: 'fonts/*',
dest: 'dist/'
},
docs: {
expand: true,
cwd: 'dist/',
@@ -300,7 +347,9 @@ module.exports = function (grunt) {
jekyll: {
options: {
config: '_config.yml'
bundleExec: true,
config: '_config.yml',
incremental: false
},
docs: {},
github: {
@@ -310,83 +359,32 @@ module.exports = function (grunt) {
}
},
htmlmin: {
dist: {
options: {
collapseWhitespace: true,
conservativeCollapse: true,
minifyCSS: true,
minifyJS: true,
removeAttributeQuotes: true,
removeComments: true
},
expand: true,
cwd: '_gh_pages',
dest: '_gh_pages',
src: [
'**/*.html',
'!examples/**/*.html'
]
}
},
jade: {
options: {
pretty: true,
data: getLessVarsData
},
customizerVars: {
src: 'docs/_jade/customizer-variables.jade',
dest: 'docs/_includes/customizer-variables.html'
},
customizerNav: {
src: 'docs/_jade/customizer-nav.jade',
dest: 'docs/_includes/nav/customize.html'
}
},
htmllint: {
options: {
ignore: [
'Attribute "autocomplete" not allowed on element "button" at this point.',
'Attribute "autocomplete" not allowed on element "input" at this point.',
'Element "img" is missing required attribute "src".'
'Element “img” is missing required attribute “src”.',
'Attribute autocomplete” is only allowed when the input type is “color”, “date”, “datetime”, “datetime-local”, “email”, “month”, “number”, “password”, “range”, “search”, “tel”, “text”, “time”, “url”, or “week”.',
'Attribute “autocomplete” not allowed on element “button” at this point.',
'Element “div” not allowed as child of element “progress” in this context. (Suppressing further errors from this subtree.)',
'Consider using the “h1” element as a top-level heading only (all “h1” elements are treated as top-level headings by many screen readers and other tools).',
'The “datetime” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.'
]
},
src: '_gh_pages/**/*.html'
src: ['_gh_pages/**/*.html', 'js/tests/visual/*.html']
},
watch: {
src: {
files: '<%= jshint.core.src %>',
tasks: ['jshint:core', 'qunit', 'concat']
files: '<%= jscs.core.src %>',
tasks: ['babel:dev']
},
test: {
files: '<%= jshint.test.src %>',
tasks: ['jshint:test', 'qunit']
sass: {
files: 'scss/**/*.scss',
tasks: ['dist-css', 'docs']
},
less: {
files: 'less/**/*.less',
tasks: 'less'
}
},
sed: {
versionNumber: {
pattern: (function () {
var old = grunt.option('oldver');
return old ? RegExp.quote(old) : old;
})(),
replacement: grunt.option('newver'),
exclude: [
'dist/fonts',
'docs/assets',
'fonts',
'js/tests/vendor',
'node_modules',
'test-infra'
],
recursive: true
docs: {
files: 'docs/assets/scss/**/*.scss',
tasks: ['dist-css', 'docs']
}
},
@@ -394,7 +392,7 @@ module.exports = function (grunt) {
all: {
options: {
build: process.env.TRAVIS_JOB_ID,
throttled: 10,
concurrency: 10,
maxRetries: 3,
maxPollRetries: 4,
urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'],
@@ -409,6 +407,21 @@ module.exports = function (grunt) {
}
},
buildcontrol: {
options: {
dir: '_gh_pages',
commit: true,
push: true,
message: 'Built %sourceName% from commit %sourceCommit% on branch %sourceBranch%'
},
pages: {
options: {
remote: 'git@github.com:twbs/derpstrap.git',
branch: 'gh-pages'
}
}
},
compress: {
main: {
options: {
@@ -432,7 +445,9 @@ module.exports = function (grunt) {
// These plugins provide necessary tasks.
require('load-grunt-tasks')(grunt, { scope: 'devDependencies' });
require('load-grunt-tasks')(grunt, { scope: 'devDependencies',
// Exclude Sass compilers. We choose the one to load later on.
pattern: ['grunt-*', '!grunt-sass', '!grunt-contrib-sass'] });
require('time-grunt')(grunt);
// Docs HTML validation task
@@ -449,13 +464,14 @@ module.exports = function (grunt) {
var testSubtasks = [];
// Skip core tests if running a different subset of the test suite
if (runSubset('core') &&
// Skip core tests if this is a Savage build
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') {
testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']);
// Skip core tests if this is a Savage build
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') {
testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'test-js', 'docs']);
}
// Skip HTML validation if running a different subset of the test suite
if (runSubset('validate-html') &&
// Skip HTML5 validator on Travis when [skip validator] is in the commit message
isTravis &&
// Skip HTML5 validator when [skip validator] is in the commit message
isUndefOrNonZero(process.env.TWBS_DO_VALIDATOR)) {
testSubtasks.push('validate-html');
}
@@ -465,54 +481,55 @@ module.exports = function (grunt) {
runSubset('sauce-js-unit') &&
// Skip Sauce on Travis when [skip sauce] is in the commit message
isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) {
testSubtasks.push('babel:dev');
testSubtasks.push('connect');
testSubtasks.push('saucelabs-qunit');
}
grunt.registerTask('test', testSubtasks);
grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
grunt.registerTask('test-js', ['eslint', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
// JS distribution task.
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
grunt.registerTask('dist-js', ['babel:dev', 'concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);
grunt.registerTask('test-scss', ['scsslint']);
// CSS distribution task.
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']);
// Supported Compilers: sass (Ruby) and libsass.
(function (sassCompilerName) {
require('./grunt/bs-sass-compile/' + sassCompilerName + '.js')(grunt);
})(process.env.TWBS_SASS || 'libsass');
// grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']);
grunt.registerTask('sass-compile', ['sass:core', 'sass:docs']);
grunt.registerTask('dist-css', ['sass-compile', 'postcss:core', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']);
// Full distribution task.
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']);
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']);
// Default task.
grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']);
grunt.registerTask('default', ['clean:dist', 'test']);
// Version numbering task.
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
// This can be overzealous, so its changes should always be manually reviewed!
grunt.registerTask('change-version-number', 'sed');
grunt.registerTask('commonjs', ['babel:umd', 'npm-js']);
grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); });
// task for building customizer
grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']);
grunt.registerTask('build-customizer-html', 'jade');
grunt.registerTask('build-raw-files', 'Add scripts/less files to customizer.', function () {
var banner = grunt.template.process('<%= banner %>');
generateRawFiles(grunt, banner);
});
grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () {
var srcFiles = grunt.config.get('concat.bootstrap.src');
grunt.registerTask('npm-js', 'Generate npm-js entrypoint module in dist dir.', function () {
var srcFiles = Object.keys(grunt.config.get('babel.umd.files')).map(function (filename) {
return './' + path.join('umd', path.basename(filename))
})
var destFilepath = 'dist/js/npm.js';
generateCommonJSModule(grunt, srcFiles, destFilepath);
});
// Docs task.
grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']);
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
grunt.registerTask('docs-css', ['postcss:docs', 'postcss:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
grunt.registerTask('docs-js', ['uglify:docsJs']);
grunt.registerTask('lint-docs-js', ['jscs:assets']);
grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs']);
grunt.registerTask('docs-github', ['jekyll:github', 'htmlmin']);
grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github', 'htmlmin', 'compress']);
grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']);
// Publish to GitHub
grunt.registerTask('publish', ['buildcontrol:pages']);
// Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
// This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
@@ -523,7 +540,7 @@ module.exports = function (grunt) {
if (err) {
grunt.fail.warn(err);
}
var dest = 'test-infra/npm-shrinkwrap.json';
var dest = 'grunt/npm-shrinkwrap.json';
fs.renameSync('npm-shrinkwrap.json', dest);
grunt.log.writeln('File ' + dest.cyan + ' updated.');
done();
+34 -46
View File
@@ -5,6 +5,7 @@
[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
[![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg)](https://travis-ci.org/twbs/bootstrap)
[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap#info=devDependencies)
[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/4.0.0-alpha)
[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community.
@@ -13,25 +14,26 @@ To get started, check out <http://getbootstrap.com>!
## Table of contents
* [Quick start](#quick-start)
* [Bugs and feature requests](#bugs-and-feature-requests)
* [Documentation](#documentation)
* [Contributing](#contributing)
* [Community](#community)
* [Versioning](#versioning)
* [Creators](#creators)
* [Copyright and license](#copyright-and-license)
- [Quick start](#quick-start)
- [Bugs and feature requests](#bugs-and-feature-requests)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Community](#community)
- [Versioning](#versioning)
- [Creators](#creators)
- [Copyright and license](#copyright-and-license)
## Quick start
Several quick start options are available:
* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.5.zip).
* Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
* Install with [Bower](http://bower.io): `bower install bootstrap`.
* Install with [npm](https://www.npmjs.com): `npm install bootstrap`.
* Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`.
* Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`.
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.2.zip).
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
- Install with [Bower](http://bower.io): `bower install bootstrap`.
- Install with [npm](https://www.npmjs.com): `npm install bootstrap`.
- Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`.
- Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`.
- Install with [NuGet](https://www.nuget.org): CSS: `Install-Package bootstrap -Pre` Sass: `Install-Package bootstrap.sass -Pre` (`-Pre` is only required until Bootstrap v4 has a stable release).
Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
@@ -45,24 +47,13 @@ bootstrap/
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
── bootstrap.min.css.map
│ ├── bootstrap-theme.css
├── bootstrap-theme.css.map
── bootstrap-theme.min.css
│ └── bootstrap-theme.min.css.map
├── js/
│ ├── bootstrap.js
│ └── bootstrap.min.js
└── fonts/
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
── bootstrap.min.css.map
└── js/
├── bootstrap.js
── bootstrap.min.js
```
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools.
## Bugs and feature requests
@@ -76,11 +67,9 @@ Bootstrap's documentation, included in this repo in the root directory, is built
### Running documentation locally
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v2.5.x).
**Note for Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems.
2. Install the Ruby-based syntax highlighter, [Rouge](https://github.com/jneen/rouge), with `gem install rouge`.
3. From the root `/bootstrap` directory, run `jekyll serve` in the command line.
4. Open `http://localhost:9001` in your browser, and voilà.
1. Run through the [tooling setup](https://github.com/twbs/bootstrap/blob/v4-dev/docs/getting-started/build-tools.md#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
2. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
3. Open <http://localhost:9001> in your browser, and voilà.
Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/).
@@ -106,12 +95,12 @@ Editor preferences are available in the [editor config](https://github.com/twbs/
Get updates on Bootstrap's development and chat with the project maintainers and community members.
* Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
* Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
* Join [the official Slack room](https://bootstrap-slack.herokuapp.com).
* Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
* Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](https://stackoverflow.com/questions/tagged/twitter-bootstrap-3)).
* Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
- Join [the official Slack room](https://bootstrap-slack.herokuapp.com).
- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
- Implementation help may be found at Stack Overflow (tagged [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4)).
- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
@@ -122,18 +111,17 @@ For transparency into our release cycle and in striving to maintain backward com
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
## Creators
**Mark Otto**
* <https://twitter.com/mdo>
* <https://github.com/mdo>
- <https://twitter.com/mdo>
- <https://github.com/mdo>
**Jacob Thornton**
* <https://twitter.com/fat>
* <https://github.com/fat>
- <https://twitter.com/fat>
- <https://github.com/fat>
+20 -8
View File
@@ -2,6 +2,9 @@
markdown: kramdown
highlighter: rouge
kramdown:
auto_ids: true
# Permalinks
permalink: pretty
@@ -10,23 +13,32 @@ source: docs
destination: _gh_pages
host: 0.0.0.0
port: 9001
baseurl: ""
url: http://getbootstrap.com
encoding: UTF-8
exclude: [assets/scss/]
gems:
- jekyll-redirect-from
- jekyll-sitemap
# Custom vars
current_version: 3.3.5
current_version: 4.0.0-alpha.2
repo: https://github.com/twbs/bootstrap
sass_repo: https://github.com/twbs/bootstrap-sass
slack: https://bootstrap-slack.herokuapp.com
download:
source: https://github.com/twbs/bootstrap/archive/v3.3.5.zip
dist: https://github.com/twbs/bootstrap/releases/download/v3.3.5/bootstrap-3.3.5-dist.zip
sass: https://github.com/twbs/bootstrap-sass/archive/v3.3.5.tar.gz
source: https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.2.zip
dist: https://github.com/twbs/bootstrap/releases/download/v4.0.0-alpha.2/bootstrap-4.0.0-alpha.2-dist.zip
blog: http://blog.getbootstrap.com
expo: http://expo.getbootstrap.com
themes: http://themes.getbootstrap.com
cdn:
css: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css
css_theme: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css
js: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js
# See https://www.srihash.org for info on how to generate the hashes
css: https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css
css_hash: "sha384-XXXXXXXX"
js: https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/js/bootstrap.js
js_hash: "sha384-XXXXXXXX"
jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
+2 -2
View File
@@ -4,7 +4,7 @@
"keywords": [
"css",
"js",
"less",
"sass",
"mobile-first",
"responsive",
"front-end",
@@ -15,7 +15,7 @@
"license": "MIT",
"moduleType": "globals",
"main": [
"less/bootstrap.less",
"scss/bootstrap.scss",
"dist/js/bootstrap.js"
],
"ignore": [
+1 -1
View File
@@ -4,7 +4,7 @@
"keywords": [
"css",
"js",
"less",
"sass",
"mobile-first",
"responsive",
"front-end",
-587
View File
@@ -1,587 +0,0 @@
/*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4342 -4885
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
Binary file not shown.
-288
View File
@@ -1,288 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="400" />
<glyph unicode=" " />
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
<glyph unicode="&#x2000;" horiz-adv-x="650" />
<glyph unicode="&#x2001;" horiz-adv-x="1300" />
<glyph unicode="&#x2002;" horiz-adv-x="650" />
<glyph unicode="&#x2003;" horiz-adv-x="1300" />
<glyph unicode="&#x2004;" horiz-adv-x="433" />
<glyph unicode="&#x2005;" horiz-adv-x="325" />
<glyph unicode="&#x2006;" horiz-adv-x="216" />
<glyph unicode="&#x2007;" horiz-adv-x="216" />
<glyph unicode="&#x2008;" horiz-adv-x="162" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="325" />
<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
+3256 -2059
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
File diff suppressed because one or more lines are too long
+11 -12
View File
@@ -1,13 +1,12 @@
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
require('../../js/transition.js')
require('../../js/alert.js')
require('../../js/button.js')
require('../../js/carousel.js')
require('../../js/collapse.js')
require('../../js/dropdown.js')
require('../../js/modal.js')
require('../../js/tooltip.js')
require('../../js/popover.js')
require('../../js/scrollspy.js')
require('../../js/tab.js')
require('../../js/affix.js')
require('./umd/util.js')
require('./umd/alert.js')
require('./umd/button.js')
require('./umd/carousel.js')
require('./umd/collapse.js')
require('./umd/dropdown.js')
require('./umd/modal.js')
require('./umd/scrollspy.js')
require('./umd/tab.js')
require('./umd/tooltip.js')
require('./umd/popover.js')
+211
View File
@@ -0,0 +1,211 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.alert = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Alert = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
ALERT: 'alert',
FADE: 'fade',
IN: 'in'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Alert = (function () {
function Alert(element) {
_classCallCheck(this, Alert);
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Alert, [{
key: 'close',
// public
value: function close(element) {
element = element || this._element;
var rootElement = this._getRootElement(element);
var customEvent = this._triggerCloseEvent(rootElement);
if (customEvent.isDefaultPrevented()) {
return;
}
this._removeElement(rootElement);
}
}, {
key: 'dispose',
value: function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
}
// private
}, {
key: '_getRootElement',
value: function _getRootElement(element) {
var selector = _Util['default'].getSelectorFromElement(element);
var parent = false;
if (selector) {
parent = $(selector)[0];
}
if (!parent) {
parent = $(element).closest('.' + ClassName.ALERT)[0];
}
return parent;
}
}, {
key: '_triggerCloseEvent',
value: function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE);
$(element).trigger(closeEvent);
return closeEvent;
}
}, {
key: '_removeElement',
value: function _removeElement(element) {
$(element).removeClass(ClassName.IN);
if (!_Util['default'].supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
$(element).one(_Util['default'].TRANSITION_END, $.proxy(this._destroyElement, this, element)).emulateTransitionEnd(TRANSITION_DURATION);
}
}, {
key: '_destroyElement',
value: function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
var data = $element.data(DATA_KEY);
if (!data) {
data = new Alert(this);
$element.data(DATA_KEY, data);
}
if (config === 'close') {
data[config](this);
}
});
}
}, {
key: '_handleDismiss',
value: function _handleDismiss(alertInstance) {
return function (event) {
if (event) {
event.preventDefault();
}
alertInstance.close(this);
};
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Alert;
})();
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Alert._jQueryInterface;
$.fn[NAME].Constructor = Alert;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Alert._jQueryInterface;
};
return Alert;
})(jQuery);
module.exports = Alert;
});
+187
View File
@@ -0,0 +1,187 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module);
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod);
global.button = mod.exports;
}
})(this, function (exports, module) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var Button = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ClassName = {
ACTIVE: 'active',
BUTTON: 'btn',
FOCUS: 'focus'
};
var Selector = {
DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
DATA_TOGGLE: '[data-toggle="buttons"]',
INPUT: 'input',
ACTIVE: '.active',
BUTTON: '.btn'
};
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Button = (function () {
function Button(element) {
_classCallCheck(this, Button);
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Button, [{
key: 'toggle',
// public
value: function toggle() {
var triggerChangeEvent = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
if (rootElement) {
var input = $(this._element).find(Selector.INPUT)[0];
if (input) {
if (input.type === 'radio') {
if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
triggerChangeEvent = false;
} else {
var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
if (activeElement) {
$(activeElement).removeClass(ClassName.ACTIVE);
}
}
}
if (triggerChangeEvent) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(this._element).trigger('change');
}
}
} else {
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
}
if (triggerChangeEvent) {
$(this._element).toggleClass(ClassName.ACTIVE);
}
}
}, {
key: 'dispose',
value: function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
if (!data) {
data = new Button(this);
$(this).data(DATA_KEY, data);
}
if (config === 'toggle') {
data[config]();
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Button;
})();
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
var button = event.target;
if (!$(button).hasClass(ClassName.BUTTON)) {
button = $(button).closest(Selector.BUTTON);
}
Button._jQueryInterface.call($(button), 'toggle');
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(Selector.BUTTON)[0];
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Button._jQueryInterface;
$.fn[NAME].Constructor = Button;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Button._jQueryInterface;
};
return Button;
})(jQuery);
module.exports = Button;
});
+497
View File
@@ -0,0 +1,497 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.carousel = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Carousel = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var Default = {
interval: 5000,
keyboard: true,
slide: false,
pause: 'hover',
wrap: true
};
var DefaultType = {
interval: '(number|boolean)',
keyboard: 'boolean',
slide: '(boolean|string)',
pause: '(string|boolean)',
wrap: 'boolean'
};
var Direction = {
NEXT: 'next',
PREVIOUS: 'prev'
};
var Event = {
SLIDE: 'slide' + EVENT_KEY,
SLID: 'slid' + EVENT_KEY,
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
CAROUSEL: 'carousel',
ACTIVE: 'active',
SLIDE: 'slide',
RIGHT: 'right',
LEFT: 'left',
ITEM: 'carousel-item'
};
var Selector = {
ACTIVE: '.active',
ACTIVE_ITEM: '.active.carousel-item',
ITEM: '.carousel-item',
NEXT_PREV: '.next, .prev',
INDICATORS: '.carousel-indicators',
DATA_SLIDE: '[data-slide], [data-slide-to]',
DATA_RIDE: '[data-ride="carousel"]'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Carousel = (function () {
function Carousel(element, config) {
_classCallCheck(this, Carousel);
this._items = null;
this._interval = null;
this._activeElement = null;
this._isPaused = false;
this._isSliding = false;
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
this._addEventListeners();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Carousel, [{
key: 'next',
// public
value: function next() {
if (!this._isSliding) {
this._slide(Direction.NEXT);
}
}
}, {
key: 'nextWhenVisible',
value: function nextWhenVisible() {
// Don't call next when the page isn't visible
if (!document.hidden) {
this.next();
}
}
}, {
key: 'prev',
value: function prev() {
if (!this._isSliding) {
this._slide(Direction.PREVIOUS);
}
}
}, {
key: 'pause',
value: function pause(event) {
if (!event) {
this._isPaused = true;
}
if ($(this._element).find(Selector.NEXT_PREV)[0] && _Util['default'].supportsTransitionEnd()) {
_Util['default'].triggerTransitionEnd(this._element);
this.cycle(true);
}
clearInterval(this._interval);
this._interval = null;
}
}, {
key: 'cycle',
value: function cycle(event) {
if (!event) {
this._isPaused = false;
}
if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
if (this._config.interval && !this._isPaused) {
this._interval = setInterval($.proxy(document.visibilityState ? this.nextWhenVisible : this.next, this), this._config.interval);
}
}
}, {
key: 'to',
value: function to(index) {
var _this = this;
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var activeIndex = this._getItemIndex(this._activeElement);
if (index > this._items.length - 1 || index < 0) {
return;
}
if (this._isSliding) {
$(this._element).one(Event.SLID, function () {
return _this.to(index);
});
return;
}
if (activeIndex === index) {
this.pause();
this.cycle();
return;
}
var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
this._slide(direction, this._items[index]);
}
}, {
key: 'dispose',
value: function dispose() {
$(this._element).off(EVENT_KEY);
$.removeData(this._element, DATA_KEY);
this._items = null;
this._config = null;
this._element = null;
this._interval = null;
this._isPaused = null;
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
}
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
_Util['default'].typeCheckConfig(NAME, config, DefaultType);
return config;
}
}, {
key: '_addEventListeners',
value: function _addEventListeners() {
if (this._config.keyboard) {
$(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this));
}
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, $.proxy(this.pause, this)).on(Event.MOUSELEAVE, $.proxy(this.cycle, this));
}
}
}, {
key: '_keydown',
value: function _keydown(event) {
event.preventDefault();
if (/input|textarea/i.test(event.target.tagName)) {
return;
}
switch (event.which) {
case 37:
this.prev();break;
case 39:
this.next();break;
default:
return;
}
}
}, {
key: '_getItemIndex',
value: function _getItemIndex(element) {
this._items = $.makeArray($(element).parent().find(Selector.ITEM));
return this._items.indexOf(element);
}
}, {
key: '_getItemByDirection',
value: function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
}
}, {
key: '_triggerSlideEvent',
value: function _triggerSlideEvent(relatedTarget, directionalClassname) {
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
direction: directionalClassname
});
$(this._element).trigger(slideEvent);
return slideEvent;
}
}, {
key: '_setActiveIndicatorElement',
value: function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
$(nextIndicator).addClass(ClassName.ACTIVE);
}
}
}
}, {
key: '_slide',
value: function _slide(direction, element) {
var _this2 = this;
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
var isCycling = Boolean(this._interval);
var directionalClassName = direction === Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT;
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false;
return;
}
var slideEvent = this._triggerSlideEvent(nextElement, directionalClassName);
if (slideEvent.isDefaultPrevented()) {
return;
}
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
return;
}
this._isSliding = true;
if (isCycling) {
this.pause();
}
this._setActiveIndicatorElement(nextElement);
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
direction: directionalClassName
});
if (_Util['default'].supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
$(nextElement).addClass(direction);
_Util['default'].reflow(nextElement);
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
$(activeElement).one(_Util['default'].TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName).removeClass(direction);
$(nextElement).addClass(ClassName.ACTIVE);
$(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName);
_this2._isSliding = false;
setTimeout(function () {
return $(_this2._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
if (isCycling) {
this.cycle();
}
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Default, $(this).data());
if (typeof config === 'object') {
$.extend(_config, config);
}
var action = typeof config === 'string' ? config : _config.slide;
if (!data) {
data = new Carousel(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
if (data[action] === undefined) {
throw new Error('No method named "' + action + '"');
}
data[action]();
} else if (_config.interval) {
data.pause();
data.cycle();
}
});
}
}, {
key: '_dataApiClickHandler',
value: function _dataApiClickHandler(event) {
var selector = _Util['default'].getSelectorFromElement(this);
if (!selector) {
return;
}
var target = $(selector)[0];
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
return;
}
var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
if (slideIndex) {
config.interval = false;
}
Carousel._jQueryInterface.call($(target), config);
if (slideIndex) {
$(target).data(DATA_KEY).to(slideIndex);
}
event.preventDefault();
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return Carousel;
})();
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
$(window).on(Event.LOAD_DATA_API, function () {
$(Selector.DATA_RIDE).each(function () {
var $carousel = $(this);
Carousel._jQueryInterface.call($carousel, $carousel.data());
});
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Carousel._jQueryInterface;
$.fn[NAME].Constructor = Carousel;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Carousel._jQueryInterface;
};
return Carousel;
})(jQuery);
module.exports = Carousel;
});
+383
View File
@@ -0,0 +1,383 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.collapse = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Collapse = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var Default = {
toggle: true,
parent: ''
};
var DefaultType = {
toggle: 'boolean',
parent: 'string'
};
var Event = {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
IN: 'in',
COLLAPSE: 'collapse',
COLLAPSING: 'collapsing',
COLLAPSED: 'collapsed'
};
var Dimension = {
WIDTH: 'width',
HEIGHT: 'height'
};
var Selector = {
ACTIVES: '.panel > .in, .panel > .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Collapse = (function () {
function Collapse(element, config) {
_classCallCheck(this, Collapse);
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
this._parent = this._config.parent ? this._getParent() : null;
if (!this._config.parent) {
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
if (this._config.toggle) {
this.toggle();
}
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Collapse, [{
key: 'toggle',
// public
value: function toggle() {
if ($(this._element).hasClass(ClassName.IN)) {
this.hide();
} else {
this.show();
}
}
}, {
key: 'show',
value: function show() {
var _this = this;
if (this._isTransitioning || $(this._element).hasClass(ClassName.IN)) {
return;
}
var actives = undefined;
var activesData = undefined;
if (this._parent) {
actives = $.makeArray($(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
}
if (actives) {
activesData = $(actives).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
}
}
var startEvent = $.Event(Event.SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
if (actives) {
Collapse._jQueryInterface.call($(actives), 'hide');
if (!activesData) {
$(actives).data(DATA_KEY, null);
}
}
var dimension = this._getDimension();
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
this._element.setAttribute('aria-expanded', true);
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
this.setTransitioning(true);
var complete = function complete() {
$(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
$(_this._element).trigger(Event.SHOWN);
};
if (!_Util['default'].supportsTransitionEnd()) {
complete();
return;
}
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
$(this._element).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
this._element.style[dimension] = this._element[scrollSize] + 'px';
}
}, {
key: 'hide',
value: function hide() {
var _this2 = this;
if (this._isTransitioning || !$(this._element).hasClass(ClassName.IN)) {
return;
}
var startEvent = $.Event(Event.HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
var dimension = this._getDimension();
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
this._element.style[dimension] = this._element[offsetDimension] + 'px';
_Util['default'].reflow(this._element);
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);
this._element.setAttribute('aria-expanded', false);
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
this.setTransitioning(true);
var complete = function complete() {
_this2.setTransitioning(false);
$(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
};
this._element.style[dimension] = 0;
if (!_Util['default'].supportsTransitionEnd()) {
complete();
return;
}
$(this._element).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
}
}, {
key: 'setTransitioning',
value: function setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning;
}
}, {
key: 'dispose',
value: function dispose() {
$.removeData(this._element, DATA_KEY);
this._config = null;
this._parent = null;
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
}
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
_Util['default'].typeCheckConfig(NAME, config, DefaultType);
return config;
}
}, {
key: '_getDimension',
value: function _getDimension() {
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
}
}, {
key: '_getParent',
value: function _getParent() {
var _this3 = this;
var parent = $(this._config.parent)[0];
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
$(parent).find(selector).each(function (i, element) {
_this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
});
return parent;
}
}, {
key: '_addAriaAndCollapsedClass',
value: function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.IN);
element.setAttribute('aria-expanded', isOpen);
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
}
// static
}], [{
key: '_getTargetFromElement',
value: function _getTargetFromElement(element) {
var selector = _Util['default'].getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
}
}, {
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config);
if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false;
}
if (!data) {
data = new Collapse(this, _config);
$this.data(DATA_KEY, data);
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return Collapse;
})();
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data();
Collapse._jQueryInterface.call($(target), config);
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Collapse._jQueryInterface;
$.fn[NAME].Constructor = Collapse;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Collapse._jQueryInterface;
};
return Collapse;
})(jQuery);
module.exports = Collapse;
});
+312
View File
@@ -0,0 +1,312 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.dropdown = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Dropdown = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
OPEN: 'open'
};
var Selector = {
BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
ROLE_MENU: '[role="menu"]',
ROLE_LISTBOX: '[role="listbox"]',
NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Dropdown = (function () {
function Dropdown(element) {
_classCallCheck(this, Dropdown);
this._element = element;
this._addEventListeners();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Dropdown, [{
key: 'toggle',
// public
value: function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return false;
}
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN);
Dropdown._clearMenus();
if (isActive) {
return false;
}
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
// if mobile we use a backdrop because click events don't delegate
var dropdown = document.createElement('div');
dropdown.className = ClassName.BACKDROP;
$(dropdown).insertBefore(this);
$(dropdown).on('click', Dropdown._clearMenus);
}
var relatedTarget = { relatedTarget: this };
var showEvent = $.Event(Event.SHOW, relatedTarget);
$(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
return false;
}
this.focus();
this.setAttribute('aria-expanded', 'true');
$(parent).toggleClass(ClassName.OPEN);
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
return false;
}
}, {
key: 'dispose',
value: function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
}
// private
}, {
key: '_addEventListeners',
value: function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
if (!data) {
$(this).data(DATA_KEY, data = new Dropdown(this));
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config].call(this);
}
});
}
}, {
key: '_clearMenus',
value: function _clearMenus(event) {
if (event && event.which === 3) {
return;
}
var backdrop = $(Selector.BACKDROP)[0];
if (backdrop) {
backdrop.parentNode.removeChild(backdrop);
}
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
for (var i = 0; i < toggles.length; i++) {
var _parent = Dropdown._getParentFromElement(toggles[i]);
var relatedTarget = { relatedTarget: toggles[i] };
if (!$(_parent).hasClass(ClassName.OPEN)) {
continue;
}
if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(_parent, event.target)) {
continue;
}
var hideEvent = $.Event(Event.HIDE, relatedTarget);
$(_parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
}
toggles[i].setAttribute('aria-expanded', 'false');
$(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN, relatedTarget));
}
}
}, {
key: '_getParentFromElement',
value: function _getParentFromElement(element) {
var parent = undefined;
var selector = _Util['default'].getSelectorFromElement(element);
if (selector) {
parent = $(selector)[0];
}
return parent || element.parentNode;
}
}, {
key: '_dataApiKeydownHandler',
value: function _dataApiKeydownHandler(event) {
if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
return;
}
event.preventDefault();
event.stopPropagation();
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return;
}
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) {
if (event.which === 27) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
$(this).trigger('click');
return;
}
var items = $.makeArray($(Selector.VISIBLE_ITEMS));
items = items.filter(function (item) {
return item.offsetWidth || item.offsetHeight;
});
if (!items.length) {
return;
}
var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) {
// up
index--;
}
if (event.which === 40 && index < items.length - 1) {
// down
index++;
}
if (! ~index) {
index = 0;
}
items[index].focus();
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Dropdown;
})();
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Dropdown._jQueryInterface;
$.fn[NAME].Constructor = Dropdown;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
return Dropdown;
})(jQuery);
module.exports = Dropdown;
});
+555
View File
@@ -0,0 +1,555 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.modal = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Modal = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var Default = {
backdrop: true,
keyboard: true,
focus: true,
show: true
};
var DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean',
show: 'boolean'
};
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
RESIZE: 'resize' + EVENT_KEY,
CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop',
OPEN: 'modal-open',
FADE: 'fade',
IN: 'in'
};
var Selector = {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Modal = (function () {
function Modal(element, config) {
_classCallCheck(this, Modal);
this._config = this._getConfig(config);
this._element = element;
this._dialog = $(element).find(Selector.DIALOG)[0];
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Modal, [{
key: 'toggle',
// public
value: function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
}
}, {
key: 'show',
value: function show(relatedTarget) {
var _this = this;
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
$(this._element).trigger(showEvent);
if (this._isShown || showEvent.isDefaultPrevented()) {
return;
}
this._isShown = true;
this._checkScrollbar();
this._setScrollbar();
$(document.body).addClass(ClassName.OPEN);
this._setEscapeEvent();
this._setResizeEvent();
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, $.proxy(this.hide, this));
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
$(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this._element)) {
_this._ignoreBackdropClick = true;
}
});
});
this._showBackdrop($.proxy(this._showElement, this, relatedTarget));
}
}, {
key: 'hide',
value: function hide(event) {
if (event) {
event.preventDefault();
}
var hideEvent = $.Event(Event.HIDE);
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
return;
}
this._isShown = false;
this._setEscapeEvent();
this._setResizeEvent();
$(document).off(Event.FOCUSIN);
$(this._element).removeClass(ClassName.IN);
$(this._element).off(Event.CLICK_DISMISS);
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
if (_Util['default'].supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._element).one(_Util['default'].TRANSITION_END, $.proxy(this._hideModal, this)).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
}
}
}, {
key: 'dispose',
value: function dispose() {
$.removeData(this._element, DATA_KEY);
$(window).off(EVENT_KEY);
$(document).off(EVENT_KEY);
$(this._element).off(EVENT_KEY);
$(this._backdrop).off(EVENT_KEY);
this._config = null;
this._element = null;
this._dialog = null;
this._backdrop = null;
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
this._originalBodyPadding = null;
this._scrollbarWidth = null;
}
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
_Util['default'].typeCheckConfig(NAME, config, DefaultType);
return config;
}
}, {
key: '_showElement',
value: function _showElement(relatedTarget) {
var _this2 = this;
var transition = _Util['default'].supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
document.body.appendChild(this._element);
}
this._element.style.display = 'block';
this._element.scrollTop = 0;
if (transition) {
_Util['default'].reflow(this._element);
}
$(this._element).addClass(ClassName.IN);
if (this._config.focus) {
this._enforceFocus();
}
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget
});
var transitionComplete = function transitionComplete() {
if (_this2._config.focus) {
_this2._element.focus();
}
$(_this2._element).trigger(shownEvent);
};
if (transition) {
$(this._dialog).one(_Util['default'].TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
transitionComplete();
}
}
}, {
key: '_enforceFocus',
value: function _enforceFocus() {
var _this3 = this;
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (_this3._element !== event.target && !$(_this3._element).has(event.target).length) {
_this3._element.focus();
}
});
}
}, {
key: '_setEscapeEvent',
value: function _setEscapeEvent() {
var _this4 = this;
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === 27) {
_this4.hide();
}
});
} else if (!this._isShown) {
$(this._element).off(Event.KEYDOWN_DISMISS);
}
}
}, {
key: '_setResizeEvent',
value: function _setResizeEvent() {
if (this._isShown) {
$(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this));
} else {
$(window).off(Event.RESIZE);
}
}
}, {
key: '_hideModal',
value: function _hideModal() {
var _this5 = this;
this._element.style.display = 'none';
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
_this5._resetAdjustments();
_this5._resetScrollbar();
$(_this5._element).trigger(Event.HIDDEN);
});
}
}, {
key: '_removeBackdrop',
value: function _removeBackdrop() {
if (this._backdrop) {
$(this._backdrop).remove();
this._backdrop = null;
}
}
}, {
key: '_showBackdrop',
value: function _showBackdrop(callback) {
var _this6 = this;
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
if (this._isShown && this._config.backdrop) {
var doAnimate = _Util['default'].supportsTransitionEnd() && animate;
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
if (animate) {
$(this._backdrop).addClass(animate);
}
$(this._backdrop).appendTo(document.body);
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this6._ignoreBackdropClick) {
_this6._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
if (_this6._config.backdrop === 'static') {
_this6._element.focus();
} else {
_this6.hide();
}
});
if (doAnimate) {
_Util['default'].reflow(this._backdrop);
}
$(this._backdrop).addClass(ClassName.IN);
if (!callback) {
return;
}
if (!doAnimate) {
callback();
return;
}
$(this._backdrop).one(_Util['default'].TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.IN);
var callbackRemove = function callbackRemove() {
_this6._removeBackdrop();
if (callback) {
callback();
}
};
if (_Util['default'].supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._backdrop).one(_Util['default'].TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else {
callbackRemove();
}
} else if (callback) {
callback();
}
}
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
}, {
key: '_handleUpdate',
value: function _handleUpdate() {
this._adjustDialog();
}
}, {
key: '_adjustDialog',
value: function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!this._isBodyOverflowing && isModalOverflowing) {
this._element.style.paddingLeft = this._scrollbarWidth + 'px';
}
if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px~';
}
}
}, {
key: '_resetAdjustments',
value: function _resetAdjustments() {
this._element.style.paddingLeft = '';
this._element.style.paddingRight = '';
}
}, {
key: '_checkScrollbar',
value: function _checkScrollbar() {
var fullWindowWidth = window.innerWidth;
if (!fullWindowWidth) {
// workaround for missing window.innerWidth in IE8
var documentElementRect = document.documentElement.getBoundingClientRect();
fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);
}
this._isBodyOverflowing = document.body.clientWidth < fullWindowWidth;
this._scrollbarWidth = this._getScrollbarWidth();
}
}, {
key: '_setScrollbar',
value: function _setScrollbar() {
var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
this._originalBodyPadding = document.body.style.paddingRight || '';
if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
}
}
}, {
key: '_resetScrollbar',
value: function _resetScrollbar() {
document.body.style.paddingRight = this._originalBodyPadding;
}
}, {
key: '_getScrollbarWidth',
value: function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config);
if (!data) {
data = new Modal(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return Modal;
})();
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this7 = this;
var target = undefined;
var selector = _Util['default'].getSelectorFromElement(this);
if (selector) {
target = $(selector)[0];
}
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
if (this.tagName === 'A') {
event.preventDefault();
}
var $target = $(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
return;
}
$target.one(Event.HIDDEN, function () {
if ($(_this7).is(':visible')) {
_this7.focus();
}
});
});
Modal._jQueryInterface.call($(target), config, this);
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Modal._jQueryInterface;
$.fn[NAME].Constructor = Modal;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Modal._jQueryInterface;
};
return Modal;
})(jQuery);
module.exports = Modal;
});
+220
View File
@@ -0,0 +1,220 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './tooltip'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./tooltip'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Tooltip);
global.popover = mod.exports;
}
})(this, function (exports, module, _tooltip) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var _Tooltip2 = _interopRequireDefault(_tooltip);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Popover = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var Default = $.extend({}, _Tooltip2['default'].Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
var DefaultType = $.extend({}, _Tooltip2['default'].DefaultType, {
content: '(string|element|function)'
});
var ClassName = {
FADE: 'fade',
IN: 'in'
};
var Selector = {
TITLE: '.popover-title',
CONTENT: '.popover-content',
ARROW: '.popover-arrow'
};
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Popover = (function (_Tooltip) {
_inherits(Popover, _Tooltip);
function Popover() {
_classCallCheck(this, Popover);
_get(Object.getPrototypeOf(Popover.prototype), 'constructor', this).apply(this, arguments);
}
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
_createClass(Popover, [{
key: 'isWithContent',
// overrides
value: function isWithContent() {
return this.getTitle() || this._getContent();
}
}, {
key: 'getTipElement',
value: function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
}
}, {
key: 'setContent',
value: function setContent() {
var $tip = $(this.getTipElement());
// we use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);
this.cleanupTether();
}
// private
}, {
key: '_getContent',
value: function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data && /destroy|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
}
}, {
key: 'VERSION',
// getters
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
return Popover;
})(_Tooltip2['default']);
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Popover._jQueryInterface;
};
return Popover;
})(jQuery);
module.exports = Popover;
});
+339
View File
@@ -0,0 +1,339 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.scrollspy = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var ScrollSpy = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var Default = {
offset: 10,
method: 'auto',
target: ''
};
var DefaultType = {
offset: 'number',
method: 'string',
target: '(string|element)'
};
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
NAV_LINK: 'nav-link',
NAV: 'nav',
ACTIVE: 'active'
};
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
LIST_ITEM: '.list-item',
LI: 'li',
LI_DROPDOWN: 'li.dropdown',
NAV_LINKS: '.nav-link',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
};
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var ScrollSpy = (function () {
function ScrollSpy(element, config) {
_classCallCheck(this, ScrollSpy);
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
$(this._scrollElement).on(Event.SCROLL, $.proxy(this._process, this));
this.refresh();
this._process();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(ScrollSpy, [{
key: 'refresh',
// public
value: function refresh() {
var _this = this;
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
var targets = $.makeArray($(this._selector));
targets.map(function (element) {
var target = undefined;
var targetSelector = _Util['default'].getSelectorFromElement(element);
if (targetSelector) {
target = $(targetSelector)[0];
}
if (target && (target.offsetWidth || target.offsetHeight)) {
// todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
}
}).filter(function (item) {
return item;
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this._offsets.push(item[0]);
_this._targets.push(item[1]);
});
}
}, {
key: 'dispose',
value: function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._scrollElement).off(EVENT_KEY);
this._element = null;
this._scrollElement = null;
this._config = null;
this._selector = null;
this._offsets = null;
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
}
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
if (!id) {
id = _Util['default'].getUID(NAME);
$(config.target).attr('id', id);
}
config.target = '#' + id;
}
_Util['default'].typeCheckConfig(NAME, config, DefaultType);
return config;
}
}, {
key: '_getScrollTop',
value: function _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop;
}
}, {
key: '_getScrollHeight',
value: function _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
}
}, {
key: '_process',
value: function _process() {
var scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._scrollElement.offsetHeight;
if (this._scrollHeight !== scrollHeight) {
this.refresh();
}
if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1];
if (this._activeTarget !== target) {
this._activate(target);
}
}
if (this._activeTarget && scrollTop < this._offsets[0]) {
this._activeTarget = null;
this._clear();
return;
}
for (var i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
if (isActiveTarget) {
this._activate(this._targets[i]);
}
}
}
}, {
key: '_activate',
value: function _activate(target) {
this._activeTarget = target;
this._clear();
var queries = this._selector.split(',');
queries = queries.map(function (selector) {
return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
});
var $link = $(queries.join(','));
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
// todo (fat) this is kinda sus…
// recursively add actives to tested nav-links
$link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
}
$(this._scrollElement).trigger(Event.ACTIVATE, {
relatedTarget: target
});
}
}, {
key: '_clear',
value: function _clear() {
$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' && config || null;
if (!data) {
data = new ScrollSpy(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return ScrollSpy;
})();
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
for (var i = scrollSpys.length; i--;) {
var $spy = $(scrollSpys[i]);
ScrollSpy._jQueryInterface.call($spy, $spy.data());
}
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = ScrollSpy._jQueryInterface;
$.fn[NAME].Constructor = ScrollSpy;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return ScrollSpy._jQueryInterface;
};
return ScrollSpy;
})(jQuery);
module.exports = ScrollSpy;
});
+282
View File
@@ -0,0 +1,282 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.tab = mod.exports;
}
})(this, function (exports, module, _util) {
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Tab = (function ($) {
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
FADE: 'fade',
IN: 'in'
};
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
UL: 'ul:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Tab = (function () {
function Tab(element) {
_classCallCheck(this, Tab);
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Tab, [{
key: 'show',
// public
value: function show() {
var _this = this;
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE)) {
return;
}
var target = undefined;
var previous = undefined;
var ulElement = $(this._element).closest(Selector.UL)[0];
var selector = _Util['default'].getSelectorFromElement(this._element);
if (ulElement) {
previous = $.makeArray($(ulElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
var hideEvent = $.Event(Event.HIDE, {
relatedTarget: this._element
});
var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
if (previous) {
$(previous).trigger(hideEvent);
}
$(this._element).trigger(showEvent);
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
return;
}
if (selector) {
target = $(selector)[0];
}
this._activate(this._element, ulElement);
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
relatedTarget: _this._element
});
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: previous
});
$(previous).trigger(hiddenEvent);
$(_this._element).trigger(shownEvent);
};
if (target) {
this._activate(target, target.parentNode, complete);
} else {
complete();
}
}
}, {
key: 'dispose',
value: function dispose() {
$.removeClass(this._element, DATA_KEY);
this._element = null;
}
// private
}, {
key: '_activate',
value: function _activate(element, container, callback) {
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && _Util['default'].supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback);
if (active && isTransitioning) {
$(active).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
if (active) {
$(active).removeClass(ClassName.IN);
}
}
}, {
key: '_transitionComplete',
value: function _transitionComplete(element, active, isTransitioning, callback) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
}
active.setAttribute('aria-expanded', false);
}
$(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
if (isTransitioning) {
_Util['default'].reflow(element);
$(element).addClass(ClassName.IN);
} else {
$(element).removeClass(ClassName.FADE);
}
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
if (dropdownElement) {
$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
}
element.setAttribute('aria-expanded', true);
}
if (callback) {
callback();
}
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
if (!data) {
data = data = new Tab(this);
$this.data(DATA_KEY, data);
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Tab;
})();
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
});
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Tab._jQueryInterface;
$.fn[NAME].Constructor = Tab;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tab._jQueryInterface;
};
return Tab;
})(jQuery);
module.exports = Tab;
});
+638
View File
@@ -0,0 +1,638 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module', './util'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module, require('./util'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod, global.Util);
global.tooltip = mod.exports;
}
})(this, function (exports, module, _util) {
/* global Tether */
'use strict';
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _Util = _interopRequireDefault(_util);
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var Tooltip = (function ($) {
/**
* Check for Tether dependency
* Tether - http://github.hubspot.com/tether/
*/
if (window.Tether === undefined) {
throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)');
}
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.0.0-alpha';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tether';
var Default = {
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div></div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: '0 0',
constraints: []
};
var DefaultType = {
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: 'string',
constraints: 'array'
};
var AttachmentMap = {
TOP: 'bottom center',
RIGHT: 'middle left',
BOTTOM: 'top center',
LEFT: 'middle right'
};
var HoverState = {
IN: 'in',
OUT: 'out'
};
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
var ClassName = {
FADE: 'fade',
IN: 'in'
};
var Selector = {
TOOLTIP: '.tooltip',
TOOLTIP_INNER: '.tooltip-inner'
};
var TetherClass = {
element: false,
enabled: false
};
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
};
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
var Tooltip = (function () {
function Tooltip(element, config) {
_classCallCheck(this, Tooltip);
// private
this._isEnabled = true;
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._tether = null;
// protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
this._setListeners();
}
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
// getters
_createClass(Tooltip, [{
key: 'enable',
// public
value: function enable() {
this._isEnabled = true;
}
}, {
key: 'disable',
value: function disable() {
this._isEnabled = false;
}
}, {
key: 'toggleEnabled',
value: function toggleEnabled() {
this._isEnabled = !this._isEnabled;
}
}, {
key: 'toggle',
value: function toggle(event) {
if (event) {
var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
context._activeTrigger.click = !context._activeTrigger.click;
if (context._isWithActiveTrigger()) {
context._enter(null, context);
} else {
context._leave(null, context);
}
} else {
if ($(this.getTipElement()).hasClass(ClassName.IN)) {
this._leave(null, this);
return;
}
this._enter(null, this);
}
}
}, {
key: 'dispose',
value: function dispose() {
clearTimeout(this._timeout);
this.cleanupTether();
$.removeData(this.element, this.constructor.DATA_KEY);
$(this.element).off(this.constructor.EVENT_KEY);
if (this.tip) {
$(this.tip).remove();
}
this._isEnabled = null;
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
this._tether = null;
this.element = null;
this.config = null;
this.tip = null;
}
}, {
key: 'show',
value: function show() {
var _this = this;
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
$(this.element).trigger(showEvent);
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
var tip = this.getTipElement();
var tipId = _Util['default'].getUID(this.constructor.NAME);
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
this.setContent();
if (this.config.animation) {
$(tip).addClass(ClassName.FADE);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
var attachment = this._getAttachment(placement);
$(tip).data(this.constructor.DATA_KEY, this).appendTo(document.body);
$(this.element).trigger(this.constructor.Event.INSERTED);
this._tether = new Tether({
attachment: attachment,
element: tip,
target: this.element,
classes: TetherClass,
classPrefix: CLASS_PREFIX,
offset: this.config.offset,
constraints: this.config.constraints,
addTargetClasses: false
});
_Util['default'].reflow(tip);
this._tether.position();
$(tip).addClass(ClassName.IN);
var complete = function complete() {
var prevHoverState = _this._hoverState;
_this._hoverState = null;
$(_this.element).trigger(_this.constructor.Event.SHOWN);
if (prevHoverState === HoverState.OUT) {
_this._leave(null, _this);
}
};
if (_Util['default'].supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
$(this.tip).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
complete();
}
}
}, {
key: 'hide',
value: function hide(callback) {
var _this2 = this;
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
var complete = function complete() {
if (_this2._hoverState !== HoverState.IN && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
_this2.element.removeAttribute('aria-describedby');
$(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
_this2.cleanupTether();
if (callback) {
callback();
}
};
$(this.element).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
return;
}
$(tip).removeClass(ClassName.IN);
if (_Util['default'].supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
$(tip).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
this._hoverState = '';
}
// protected
}, {
key: 'isWithContent',
value: function isWithContent() {
return Boolean(this.getTitle());
}
}, {
key: 'getTipElement',
value: function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
}
}, {
key: 'setContent',
value: function setContent() {
var $tip = $(this.getTipElement());
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);
this.cleanupTether();
}
}, {
key: 'setElementContent',
value: function setElementContent($element, content) {
var html = this.config.html;
if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
if (html) {
if (!$(content).parent().is($element)) {
$element.empty().append(content);
}
} else {
$element.text($(content).text());
}
} else {
$element[html ? 'html' : 'text'](content);
}
}
}, {
key: 'getTitle',
value: function getTitle() {
var title = this.element.getAttribute('data-original-title');
if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
return title;
}
}, {
key: 'cleanupTether',
value: function cleanupTether() {
if (this._tether) {
this._tether.destroy();
}
}
// private
}, {
key: '_getAttachment',
value: function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
}
}, {
key: '_setListeners',
value: function _setListeners() {
var _this3 = this;
var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) {
if (trigger === 'click') {
$(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, $.proxy(_this3.toggle, _this3));
} else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
$(_this3.element).on(eventIn, _this3.config.selector, $.proxy(_this3._enter, _this3)).on(eventOut, _this3.config.selector, $.proxy(_this3._leave, _this3));
}
});
if (this.config.selector) {
this.config = $.extend({}, this.config, {
trigger: 'manual',
selector: ''
});
} else {
this._fixTitle();
}
}
}, {
key: '_fixTitle',
value: function _fixTitle() {
var titleType = typeof this.element.getAttribute('data-original-title');
if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
this.element.setAttribute('title', '');
}
}
}, {
key: '_enter',
value: function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
context = context || $(event.currentTarget).data(dataKey);
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
if (event) {
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
}
if ($(context.getTipElement()).hasClass(ClassName.IN) || context._hoverState === HoverState.IN) {
context._hoverState = HoverState.IN;
return;
}
clearTimeout(context._timeout);
context._hoverState = HoverState.IN;
if (!context.config.delay || !context.config.delay.show) {
context.show();
return;
}
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.IN) {
context.show();
}
}, context.config.delay.show);
}
}, {
key: '_leave',
value: function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
context = context || $(event.currentTarget).data(dataKey);
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
if (event) {
context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
if (context._isWithActiveTrigger()) {
return;
}
clearTimeout(context._timeout);
context._hoverState = HoverState.OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
return;
}
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.OUT) {
context.hide();
}
}, context.config.delay.hide);
}
}, {
key: '_isWithActiveTrigger',
value: function _isWithActiveTrigger() {
for (var trigger in this._activeTrigger) {
if (this._activeTrigger[trigger]) {
return true;
}
}
return false;
}
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
if (config.delay && typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
};
}
_Util['default'].typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
}
}, {
key: '_getDelegateConfig',
value: function _getDelegateConfig() {
var config = {};
if (this.config) {
for (var key in this.config) {
if (this.constructor.Default[key] !== this.config[key]) {
config[key] = this.config[key];
}
}
}
return config;
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data && /destroy|hide/.test(config)) {
return;
}
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
return Tooltip;
})();
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
return Tooltip;
})(jQuery);
module.exports = Tooltip;
});
+172
View File
@@ -0,0 +1,172 @@
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['exports', 'module'], factory);
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
factory(exports, module);
} else {
var mod = {
exports: {}
};
factory(mod.exports, mod);
global.util = mod.exports;
}
})(this, function (exports, module) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.2): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
'use strict';
var Util = (function ($) {
/**
* ------------------------------------------------------------------------
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
var transition = false;
var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
// shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
function isElement(obj) {
return (obj[0] || obj).nodeType;
}
function getSpecialTransitionEndEvent() {
return {
bindType: transition.end,
delegateType: transition.end,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments);
}
}
};
}
function transitionEndTest() {
if (window.QUnit) {
return false;
}
var el = document.createElement('bootstrap');
for (var _name in TransitionEndEvent) {
if (el.style[_name] !== undefined) {
return { end: TransitionEndEvent[_name] };
}
}
return false;
}
function transitionEndEmulator(duration) {
var _this = this;
var called = false;
$(this).one(Util.TRANSITION_END, function () {
called = true;
});
setTimeout(function () {
if (!called) {
Util.triggerTransitionEnd(_this);
}
}, duration);
return this;
}
function setTransitionEndSupport() {
transition = transitionEndTest();
$.fn.emulateTransitionEnd = transitionEndEmulator;
if (Util.supportsTransitionEnd()) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
var Util = {
TRANSITION_END: 'bsTransitionEnd',
getUID: function getUID(prefix) {
do {
prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
if (!selector) {
selector = element.getAttribute('href') || '';
selector = /^#[a-z]/i.test(selector) ? selector : null;
}
return selector;
},
reflow: function reflow(element) {
new Function('bs', 'return bs')(element.offsetHeight);
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
$(element).trigger(transition.end);
},
supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition);
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = undefined;
if (value && isElement(value)) {
valueType = 'element';
} else {
valueType = toType(value);
}
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
}
};
setTransitionEndSupport();
return Util;
})(jQuery);
module.exports = Util;
});
+1
View File
@@ -0,0 +1 @@
v4-alpha.getbootstrap.com
+63 -23
View File
@@ -48,16 +48,6 @@
origin: >
Bootstrap#10690
-
browser: >
Firefox (Windows)
summary: >
Java applets that are descendants of elements with forced hardware acceleration using `translate3d(0,0,0)` are invisible.
upstream_bug: >
Mozilla#1048279
origin: >
Bootstrap#14124
-
browser: >
Firefox
@@ -78,6 +68,26 @@
origin: >
Bootstrap#793
-
browser: >
Firefox
summary: >
`focus` events should not be fired at the `document` object
upstream_bug: >
Mozilla#1228802
origin: >
Bootstrap#18365
-
browser: >
Firefox (Windows)
summary: >
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
upstream_bug: >
Mozilla#1139853
origin: >
Bootstrap#15990
-
browser: >
Chrome (OS X)
@@ -148,6 +158,16 @@
origin: >
Bootstrap#16372
-
browser: >
Chrome
summary: >
`table-cell` borders not overlapping despite `margin-right: -1px`
upstream_bug: >
Chromium#534750
origin: >
Bootstrap#17438, Bootstrap#14237
-
browser: >
Chrome (Windows & Linux)
@@ -200,16 +220,6 @@
Normalize#283,
Chromium#337668
-
browser: >
Safari (OS X)
summary: >
`display: table-cell;` within media query renders incorrectly when resizing the window.
upstream_bug: >
WebKit#138167, Safari#18987206
origin: >
Bootstrap#9774
-
browser: >
Safari (OS X)
@@ -230,6 +240,16 @@
origin: >
Bootstrap#16180
-
browser: >
Safari (iPad)
summary: >
`<select>` menu on iPad causes shifting of hit-testing areas
upstream_bug: >
WebKit#150079, Safari#23082521
origin: >
Bootstrap#14975
-
browser: >
Safari (iOS)
@@ -250,6 +270,16 @@
origin: >
Bootstrap#14708
-
browser: >
Safari (iOS)
summary: >
Can't move cursor to start of text after entering long string of text into `<input type="text">`
upstream_bug: >
WebKit#148061, Safari#22299624
origin: >
Bootstrap#16988
-
browser: >
Safari (iOS)
@@ -264,8 +294,18 @@
browser: >
Safari (iOS)
summary: >
Tapping below `<input>`s can focus them in some cases
Tapping on `<body>` doesn't fire `click` events
upstream_bug: >
WebKit#146244, Safari#21509310
WebKit#151933
origin: >
Bootstrap#15968
Bootstrap#16028
-
browser: >
Safari (iOS 9+)
summary: >
Sometimes excessive automatic zoom is applied after opening a modal, and the user isn't allowed to zoom out
upstream_bug: >
WebKit#150715
origin: >
WebKit#138201
+8
View File
@@ -25,3 +25,11 @@
- name: Patrick H. Lauke
user: patrickhlauke
gravatar: 357f279672db832fc41a5a2f36559fcb
- name: Thomas McDonald
user: thomas-mcdonald
gravatar: 24cd55ab1a62ffb113ab8c02f64c9301
- name: Gleb Mazovetskiy
user: glebm
gravatar: 729f685b8e8d7e9feed18c177c82e59b
-266
View File
@@ -1,266 +0,0 @@
# This file is generated via Grunt task. **Do not edit directly.**
# See the 'build-glyphicons-data' task in Gruntfile.js.
- glyphicon-asterisk
- glyphicon-plus
- glyphicon-euro
- glyphicon-eur
- glyphicon-minus
- glyphicon-cloud
- glyphicon-envelope
- glyphicon-pencil
- glyphicon-glass
- glyphicon-music
- glyphicon-search
- glyphicon-heart
- glyphicon-star
- glyphicon-star-empty
- glyphicon-user
- glyphicon-film
- glyphicon-th-large
- glyphicon-th
- glyphicon-th-list
- glyphicon-ok
- glyphicon-remove
- glyphicon-zoom-in
- glyphicon-zoom-out
- glyphicon-off
- glyphicon-signal
- glyphicon-cog
- glyphicon-trash
- glyphicon-home
- glyphicon-file
- glyphicon-time
- glyphicon-road
- glyphicon-download-alt
- glyphicon-download
- glyphicon-upload
- glyphicon-inbox
- glyphicon-play-circle
- glyphicon-repeat
- glyphicon-refresh
- glyphicon-list-alt
- glyphicon-lock
- glyphicon-flag
- glyphicon-headphones
- glyphicon-volume-off
- glyphicon-volume-down
- glyphicon-volume-up
- glyphicon-qrcode
- glyphicon-barcode
- glyphicon-tag
- glyphicon-tags
- glyphicon-book
- glyphicon-bookmark
- glyphicon-print
- glyphicon-camera
- glyphicon-font
- glyphicon-bold
- glyphicon-italic
- glyphicon-text-height
- glyphicon-text-width
- glyphicon-align-left
- glyphicon-align-center
- glyphicon-align-right
- glyphicon-align-justify
- glyphicon-list
- glyphicon-indent-left
- glyphicon-indent-right
- glyphicon-facetime-video
- glyphicon-picture
- glyphicon-map-marker
- glyphicon-adjust
- glyphicon-tint
- glyphicon-edit
- glyphicon-share
- glyphicon-check
- glyphicon-move
- glyphicon-step-backward
- glyphicon-fast-backward
- glyphicon-backward
- glyphicon-play
- glyphicon-pause
- glyphicon-stop
- glyphicon-forward
- glyphicon-fast-forward
- glyphicon-step-forward
- glyphicon-eject
- glyphicon-chevron-left
- glyphicon-chevron-right
- glyphicon-plus-sign
- glyphicon-minus-sign
- glyphicon-remove-sign
- glyphicon-ok-sign
- glyphicon-question-sign
- glyphicon-info-sign
- glyphicon-screenshot
- glyphicon-remove-circle
- glyphicon-ok-circle
- glyphicon-ban-circle
- glyphicon-arrow-left
- glyphicon-arrow-right
- glyphicon-arrow-up
- glyphicon-arrow-down
- glyphicon-share-alt
- glyphicon-resize-full
- glyphicon-resize-small
- glyphicon-exclamation-sign
- glyphicon-gift
- glyphicon-leaf
- glyphicon-fire
- glyphicon-eye-open
- glyphicon-eye-close
- glyphicon-warning-sign
- glyphicon-plane
- glyphicon-calendar
- glyphicon-random
- glyphicon-comment
- glyphicon-magnet
- glyphicon-chevron-up
- glyphicon-chevron-down
- glyphicon-retweet
- glyphicon-shopping-cart
- glyphicon-folder-close
- glyphicon-folder-open
- glyphicon-resize-vertical
- glyphicon-resize-horizontal
- glyphicon-hdd
- glyphicon-bullhorn
- glyphicon-bell
- glyphicon-certificate
- glyphicon-thumbs-up
- glyphicon-thumbs-down
- glyphicon-hand-right
- glyphicon-hand-left
- glyphicon-hand-up
- glyphicon-hand-down
- glyphicon-circle-arrow-right
- glyphicon-circle-arrow-left
- glyphicon-circle-arrow-up
- glyphicon-circle-arrow-down
- glyphicon-globe
- glyphicon-wrench
- glyphicon-tasks
- glyphicon-filter
- glyphicon-briefcase
- glyphicon-fullscreen
- glyphicon-dashboard
- glyphicon-paperclip
- glyphicon-heart-empty
- glyphicon-link
- glyphicon-phone
- glyphicon-pushpin
- glyphicon-usd
- glyphicon-gbp
- glyphicon-sort
- glyphicon-sort-by-alphabet
- glyphicon-sort-by-alphabet-alt
- glyphicon-sort-by-order
- glyphicon-sort-by-order-alt
- glyphicon-sort-by-attributes
- glyphicon-sort-by-attributes-alt
- glyphicon-unchecked
- glyphicon-expand
- glyphicon-collapse-down
- glyphicon-collapse-up
- glyphicon-log-in
- glyphicon-flash
- glyphicon-log-out
- glyphicon-new-window
- glyphicon-record
- glyphicon-save
- glyphicon-open
- glyphicon-saved
- glyphicon-import
- glyphicon-export
- glyphicon-send
- glyphicon-floppy-disk
- glyphicon-floppy-saved
- glyphicon-floppy-remove
- glyphicon-floppy-save
- glyphicon-floppy-open
- glyphicon-credit-card
- glyphicon-transfer
- glyphicon-cutlery
- glyphicon-header
- glyphicon-compressed
- glyphicon-earphone
- glyphicon-phone-alt
- glyphicon-tower
- glyphicon-stats
- glyphicon-sd-video
- glyphicon-hd-video
- glyphicon-subtitles
- glyphicon-sound-stereo
- glyphicon-sound-dolby
- glyphicon-sound-5-1
- glyphicon-sound-6-1
- glyphicon-sound-7-1
- glyphicon-copyright-mark
- glyphicon-registration-mark
- glyphicon-cloud-download
- glyphicon-cloud-upload
- glyphicon-tree-conifer
- glyphicon-tree-deciduous
- glyphicon-cd
- glyphicon-save-file
- glyphicon-open-file
- glyphicon-level-up
- glyphicon-copy
- glyphicon-paste
- glyphicon-alert
- glyphicon-equalizer
- glyphicon-king
- glyphicon-queen
- glyphicon-pawn
- glyphicon-bishop
- glyphicon-knight
- glyphicon-baby-formula
- glyphicon-tent
- glyphicon-blackboard
- glyphicon-bed
- glyphicon-apple
- glyphicon-erase
- glyphicon-hourglass
- glyphicon-lamp
- glyphicon-duplicate
- glyphicon-piggy-bank
- glyphicon-scissors
- glyphicon-bitcoin
- glyphicon-btc
- glyphicon-xbt
- glyphicon-yen
- glyphicon-jpy
- glyphicon-ruble
- glyphicon-rub
- glyphicon-scale
- glyphicon-ice-lolly
- glyphicon-ice-lolly-tasted
- glyphicon-education
- glyphicon-option-horizontal
- glyphicon-option-vertical
- glyphicon-menu-hamburger
- glyphicon-modal-window
- glyphicon-oil
- glyphicon-grain
- glyphicon-sunglasses
- glyphicon-text-size
- glyphicon-text-color
- glyphicon-text-background
- glyphicon-object-align-top
- glyphicon-object-align-bottom
- glyphicon-object-align-horizontal
- glyphicon-object-align-left
- glyphicon-object-align-vertical
- glyphicon-object-align-right
- glyphicon-triangle-right
- glyphicon-triangle-left
- glyphicon-triangle-bottom
- glyphicon-triangle-top
- glyphicon-console
- glyphicon-superscript
- glyphicon-subscript
- glyphicon-menu-left
- glyphicon-menu-right
- glyphicon-menu-down
- glyphicon-menu-up
+67
View File
@@ -0,0 +1,67 @@
- title: Getting started
pages:
- title: Introduction
- title: Download
- title: Browsers & devices
- title: Options
- title: Flexbox
- title: Build tools
- title: Best practices
- title: Layout
pages:
- title: Overview
- title: Grid
- title: Media object
- title: Responsive utilities
- title: Content
pages:
- title: Reboot
- title: Typography
- title: Code
- title: Images
- title: Tables
- title: Figures
- title: Components
pages:
- title: Buttons
- title: Button group
- title: Button dropdown
- title: Forms
- title: Input group
- title: Dropdowns
- title: Jumbotron
- title: Label
- title: Alerts
- title: Card
- title: Navs
- title: Navbar
- title: Breadcrumb
- title: Pagination
- title: Progress
- title: List group
- title: Modal
- title: Scrollspy
- title: Tooltips
- title: Popovers
- title: Collapse
- title: Carousel
- title: Utilities
# - title: Extend
# pages:
# - title: Approach
# - title: Icon fonts
- title: About
pages:
- title: History
- title: Team
- title: Accessibility
- title: Brand
- title: License
- title: Translations
- title: Migration
-7
View File
@@ -1,7 +0,0 @@
- name: Thomas McDonald
user: thomas-mcdonald
gravatar: 24cd55ab1a62ffb113ab8c02f64c9301
- name: Gleb Mazovetskiy
user: glebm
gravatar: 729f685b8e8d7e9feed18c177c82e59b
+5 -55
View File
@@ -1,59 +1,9 @@
- name: Chinese
code: zh
description: Bootstrap 中文文档
url: http://v3.bootcss.com/
url: http://v4.bootcss.com/
- name: Danish
code: da
description: Bootstrap på Dansk
url: http://getbootstrap.dk/
- name: French
code: fr
description: Bootstrap en Français
url: http://www.oneskyapp.com/fr/docs/bootstrap/getting-started/
- name: German
code: de
description: Bootstrap auf Deutsch
url: http://holdirbootstrap.de/
- name: Italian
code: it
description: Bootstrap in Italiano
url: http://www.hackerstribe.com/guide/IT-bootstrap-3.1.1/
- name: Korean
code: ko
description: Bootstrap 한국어
url: http://bootstrapk.com/
- name: Brazilian Portuguese
code: pt-BR
description: Bootstrap em Português do Brasil
url: http://bootstrapbrasil.github.io/
- name: Russian
code: ru
description: Bootstrap по-русски
url: http://www.oneskyapp.com/ru/docs/bootstrap/
- name: Spanish
code: es
description: Bootstrap en Español
url: http://www.oneskyapp.com/es/docs/bootstrap/
- name: Turkish
code: tr
description: Türkçe Bootstrap
url: http://www.trbootstrap.com
- name: Ukrainian
code: uk
description: Bootstrap українською
url: http://twbs.docs.org.ua
- name: Vietnamese
code: vi
description: Bootstrap bằng tiếng Việt
url: http://getbootstrap.com.vn
- name: Chinese
code: zh
description: Bootstrap 4 中文文档教程
url: http://boot4.com/
-89
View File
@@ -1,89 +0,0 @@
<div class="bs-docs-section">
<h1 id="alerts" class="page-header">Alerts</h1>
<p class="lead">Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.</p>
<h2 id="alerts-examples">Examples</h2>
<p>Wrap any text and an optional dismiss button in <code>.alert</code> and one of the four contextual classes (e.g., <code>.alert-success</code>) for basic alert messages.</p>
<div class="bs-callout bs-callout-info" id="callout-alerts-no-default">
<h4>No default class</h4>
<p>Alerts don't have default classes, only base and modifier classes. A default gray alert doesn't make too much sense, so you're required to specify a type via contextual class. Choose from success, info, warning, or danger.</p>
</div>
<div class="bs-example" data-example-id="simple-alerts">
<div class="alert alert-success" role="alert">
<strong>Well done!</strong> You successfully read this important alert message.
</div>
<div class="alert alert-info" role="alert">
<strong>Heads up!</strong> This alert needs your attention, but it's not super important.
</div>
<div class="alert alert-warning" role="alert">
<strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>
<div class="alert alert-danger" role="alert">
<strong>Oh snap!</strong> Change a few things up and try submitting again.
</div>
</div>
{% highlight html %}
<div class="alert alert-success" role="alert">...</div>
<div class="alert alert-info" role="alert">...</div>
<div class="alert alert-warning" role="alert">...</div>
<div class="alert alert-danger" role="alert">...</div>
{% endhighlight %}
<h2 id="alerts-dismissible">Dismissible alerts</h2>
<p>Build on any alert by adding an optional <code>.alert-dismissible</code> and close button.</p>
<div class="bs-callout bs-callout-info" id="callout-alerts-dismiss-plugin">
<h4>Requires JavaScript alert plugin</h4>
<p>For fully functioning, dismissible alerts, you must use the <a href="../javascript/#alerts">alerts JavaScript plugin</a>.</p>
</div>
<div class="bs-example" data-example-id="dismissible-alert-css">
<div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>
</div>
{% highlight html %}
<div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-alerts-dismiss-use-button">
<h4>Ensure proper behavior across all devices</h4>
<p>Be sure to use the <code>&lt;button&gt;</code> element with the <code>data-dismiss="alert"</code> data attribute.</p>
</div>
<h2 id="alerts-links">Links in alerts</h2>
<p>Use the <code>.alert-link</code> utility class to quickly provide matching colored links within any alert.</p>
<div class="bs-example" data-example-id="alerts-with-links">
<div class="alert alert-success" role="alert">
<strong>Well done!</strong> You successfully read <a href="#" class="alert-link">this important alert message</a>.
</div>
<div class="alert alert-info" role="alert">
<strong>Heads up!</strong> This <a href="#" class="alert-link">alert needs your attention</a>, but it's not super important.
</div>
<div class="alert alert-warning" role="alert">
<strong>Warning!</strong> Better check yourself, you're <a href="#" class="alert-link">not looking too good</a>.
</div>
<div class="alert alert-danger" role="alert">
<strong>Oh snap!</strong> <a href="#" class="alert-link">Change a few things up</a> and try submitting again.
</div>
</div>
{% highlight html %}
<div class="alert alert-success" role="alert">
<a href="#" class="alert-link">...</a>
</div>
<div class="alert alert-info" role="alert">
<a href="#" class="alert-link">...</a>
</div>
<div class="alert alert-warning" role="alert">
<a href="#" class="alert-link">...</a>
</div>
<div class="alert alert-danger" role="alert">
<a href="#" class="alert-link">...</a>
</div>
{% endhighlight %}
</div>
-45
View File
@@ -1,45 +0,0 @@
<div class="bs-docs-section">
<h1 id="badges" class="page-header">Badges</h1>
<p class="lead">Easily highlight new or unread items by adding a <code>&lt;span class="badge"&gt;</code> to links, Bootstrap navs, and more.</p>
<div class="bs-example" data-example-id="simple-badges">
<a href="#">Inbox <span class="badge">42</span></a>
<br><br>
<button class="btn btn-primary" type="button">
Messages <span class="badge">4</span>
</button>
</div>
{% highlight html %}
<a href="#">Inbox <span class="badge">42</span></a>
<button class="btn btn-primary" type="button">
Messages <span class="badge">4</span>
</button>
{% endhighlight %}
<h4>Self collapsing</h4>
<p>When there are no new or unread items, badges will simply collapse (via CSS's <code>:empty</code> selector) provided no content exists within.</p>
<div class="bs-callout bs-callout-danger" id="callout-badges-ie8-empty">
<h4>Cross-browser compatibility</h4>
<p>Badges won't self collapse in Internet Explorer 8 because it lacks support for the <code>:empty</code> selector.</p>
</div>
<h4>Adapts to active nav states</h4>
<p>Built-in styles are included for placing badges in active states in pill navigations.</p>
<div class="bs-example" data-example-id="badges-in-pills">
<ul class="nav nav-pills" role="tablist">
<li role="presentation" class="active"><a href="#">Home <span class="badge">42</span></a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages <span class="badge">3</span></a></li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-pills" role="tablist">
<li role="presentation" class="active"><a href="#">Home <span class="badge">42</span></a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages <span class="badge">3</span></a></li>
</ul>
{% endhighlight %}
</div>
@@ -1,27 +0,0 @@
<div class="bs-docs-section">
<h1 id="breadcrumbs" class="page-header">Breadcrumbs</h1>
<p class="lead">Indicate the current page's location within a navigational hierarchy.</p>
<p>Separators are automatically added in CSS through <code>:before</code> and <code>content</code>.</p>
<div class="bs-example" data-example-id="simple-breadcrumbs">
<ol class="breadcrumb">
<li class="active">Home</li>
</ol>
<ol class="breadcrumb">
<li><a href="#">Home</a></li>
<li class="active">Library</li>
</ol>
<ol class="breadcrumb">
<li><a href="#">Home</a></li>
<li><a href="#">Library</a></li>
<li class="active">Data</li>
</ol>
</div>
{% highlight html %}
<ol class="breadcrumb">
<li><a href="#">Home</a></li>
<li><a href="#">Library</a></li>
<li class="active">Data</li>
</ol>
{% endhighlight %}
</div>
@@ -1,321 +0,0 @@
<div class="bs-docs-section">
<h1 id="btn-dropdowns" class="page-header">Button dropdowns</h1>
<p class="lead">Use any button to trigger a dropdown menu by placing it within a <code>.btn-group</code> and providing the proper menu markup.</p>
<div class="bs-callout bs-callout-danger" id="callout-btndropdown-dependency">
<h4>Plugin dependency</h4>
<p>Button dropdowns require the <a href="../javascript/#dropdowns">dropdown plugin</a> to be included in your version of Bootstrap.</p>
</div>
<h2 id="btn-dropdowns-single">Single button dropdowns</h2>
<p>Turn a button into a dropdown toggle with some basic markup changes.</p>
<div class="bs-example" data-example-id="single-button-dropdown">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Default <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Primary <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Success <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Info <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Warning <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Danger <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div>
{% highlight html %}
<!-- Single button -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Action <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
{% endhighlight %}
<h2 id="btn-dropdowns-split">Split button dropdowns</h2>
<p>Similarly, create split button dropdowns with the same markup changes, only with a separate button.</p>
<div class="bs-example" data-example-id="split-button-dropdown">
<div class="btn-group">
<button type="button" class="btn btn-default">Default</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div>
{% highlight html %}
<!-- Split button -->
<div class="btn-group">
<button type="button" class="btn btn-danger">Action</button>
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
{% endhighlight %}
<h2 id="btn-dropdowns-sizing">Sizing</h2>
<p>Button dropdowns work with buttons of all sizes.</p>
<div class="bs-example" data-example-id="button-dropdown-sizing">
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Large button <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Small button <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button class="btn btn-default btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Extra small button <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
</div><!-- /example -->
{% highlight html %}
<!-- Large button group -->
<div class="btn-group">
<button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Large button <span class="caret"></span>
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
<!-- Small button group -->
<div class="btn-group">
<button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Small button <span class="caret"></span>
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
<!-- Extra small button group -->
<div class="btn-group">
<button class="btn btn-default btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Extra small button <span class="caret"></span>
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
{% endhighlight %}
<h2 id="btn-dropdowns-dropup">Dropup variation</h2>
<p>Trigger dropdown menus above elements by adding <code>.dropup</code> to the parent.</p>
<div class="bs-example" data-example-id="button-dropdown-dropup">
<div class="btn-toolbar" role="toolbar">
<div class="btn-group dropup">
<button type="button" class="btn btn-default">Dropup</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group dropup">
<button type="button" class="btn btn-primary">Right dropup</button>
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div>
</div><!-- /example -->
{% highlight html %}
<div class="btn-group dropup">
<button type="button" class="btn btn-default">Dropup</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
{% endhighlight %}
</div>
@@ -1,268 +0,0 @@
<div class="bs-docs-section">
<h1 id="btn-groups" class="page-header">Button groups</h1>
<p class="lead">Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with <a href="../javascript/#buttons">our buttons plugin</a>.</p>
<div class="bs-callout bs-callout-warning" id="callout-btn-group-tooltips">
<h4>Tooltips &amp; popovers in button groups require special setting</h4>
<p>When using tooltips or popovers on elements within a <code>.btn-group</code>, you'll have to specify the option <code>container: 'body'</code> to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-btn-group-accessibility">
<h4>Ensure correct <code>role</code> and provide a label</h4>
<p>In order for assistive technologies such as screen readers to convey that a series of buttons is grouped, an appropriate <code>role</code> attribute needs to be provided. For button groups, this would be <code>role="group"</code>, while toolbars should have a <code>role="toolbar"</code>.</p>
<p>One exception are groups which only contain a single control (for instance the <a href="#btn-groups-justified">justified button groups</a> with <code>&lt;button&gt;</code> elements) or a dropdown.</p>
<p>In addition, groups and toolbars should be given an explicit label, as most assistive technologies will otherwise not announce them, despite the presence of the correct <code>role</code> attribute. In the examples provided here, we use <code>aria-label</code>, but alternatives such as <code>aria-labelledby</code> can also be used.</p>
</div>
<h2 id="btn-groups-single">Basic example</h2>
<p>Wrap a series of buttons with <code>.btn</code> in <code>.btn-group</code>.</p>
<div class="bs-example" data-example-id="simple-button-group">
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
</div>
{% highlight html %}
<div class="btn-group" role="group" aria-label="...">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
{% endhighlight %}
<h2 id="btn-groups-toolbar">Button toolbar</h2>
<p>Combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex components.</p>
<div class="bs-example" data-example-id="simple-button-toolbar">
<div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
<div class="btn-group" role="group" aria-label="First group">
<button type="button" class="btn btn-default">1</button>
<button type="button" class="btn btn-default">2</button>
<button type="button" class="btn btn-default">3</button>
<button type="button" class="btn btn-default">4</button>
</div>
<div class="btn-group" role="group" aria-label="Second group">
<button type="button" class="btn btn-default">5</button>
<button type="button" class="btn btn-default">6</button>
<button type="button" class="btn btn-default">7</button>
</div>
<div class="btn-group" role="group" aria-label="Third group">
<button type="button" class="btn btn-default">8</button>
</div>
</div>
</div>
{% highlight html %}
<div class="btn-toolbar" role="toolbar" aria-label="...">
<div class="btn-group" role="group" aria-label="...">...</div>
<div class="btn-group" role="group" aria-label="...">...</div>
<div class="btn-group" role="group" aria-label="...">...</div>
</div>
{% endhighlight %}
<h2 id="btn-groups-sizing">Sizing</h2>
<p>Instead of applying button sizing classes to every button in a group, just add <code>.btn-group-*</code> to each <code>.btn-group</code>, including when nesting multiple groups.</p>
<div class="bs-example" data-example-id="button-group-sizing">
<div class="btn-group btn-group-lg" role="group" aria-label="Large button group">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
<br>
<div class="btn-group" role="group" aria-label="Default button group">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
<br>
<div class="btn-group btn-group-sm" role="group" aria-label="Small button group">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
<br>
<div class="btn-group btn-group-xs" role="group" aria-label="Extra-small button group">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
</div>
{% highlight html %}
<div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
<div class="btn-group" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-xs" role="group" aria-label="...">...</div>
{% endhighlight %}
<h2 id="btn-groups-nested">Nesting</h2>
<p>Place a <code>.btn-group</code> within another <code>.btn-group</code> when you want dropdown menus mixed with a series of buttons.</p>
<div class="bs-example" data-example-id="button-group-nesting">
<div class="btn-group" role="group" aria-label="Button group with nested dropdown">
<button type="button" class="btn btn-default">1</button>
<button type="button" class="btn btn-default">2</button>
<div class="btn-group" role="group">
<button id="btnGroupDrop1" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="btnGroupDrop1">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
</div>
</div>
{% highlight html %}
<div class="btn-group" role="group" aria-label="...">
<button type="button" class="btn btn-default">1</button>
<button type="button" class="btn btn-default">2</button>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
</div>
{% endhighlight %}
<h2 id="btn-groups-vertical">Vertical variation</h2>
<p>Make a set of buttons appear vertically stacked rather than horizontally. <strong class="text-danger">Split button dropdowns are not supported here.</strong></p>
<div class="bs-example" data-example-id="vertical-button-group">
<div class="btn-group-vertical" role="group" aria-label="Vertical button group">
<button type="button" class="btn btn-default">Button</button>
<button type="button" class="btn btn-default">Button</button>
<div class="btn-group" role="group">
<button id="btnGroupVerticalDrop1" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop1">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
<button type="button" class="btn btn-default">Button</button>
<button type="button" class="btn btn-default">Button</button>
<div class="btn-group" role="group">
<button id="btnGroupVerticalDrop2" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop2">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
<div class="btn-group" role="group">
<button id="btnGroupVerticalDrop3" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop3">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
<div class="btn-group" role="group">
<button id="btnGroupVerticalDrop4" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop4">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
</div>
</div>
{% highlight html %}
<div class="btn-group-vertical" role="group" aria-label="...">
...
</div>
{% endhighlight %}
<h2 id="btn-groups-justified">Justified button groups</h2>
<p>Make a group of buttons stretch at equal sizes to span the entire width of its parent. Also works with button dropdowns within the button group.</p>
<div class="bs-callout bs-callout-warning" id="callout-btn-group-justified-dbl-border">
<h4>Handling borders</h4>
<p>Due to the specific HTML and CSS used to justify buttons (namely <code>display: table-cell</code>), the borders between them are doubled. In regular button groups, <code>margin-left: -1px</code> is used to stack the borders instead of removing them. However, <code>margin</code> doesn't work with <code>display: table-cell</code>. As a result, depending on your customizations to Bootstrap, you may wish to remove or re-color the borders.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-btn-group-ie8-border">
<h4>IE8 and borders</h4>
<p>Internet Explorer 8 doesn't render borders on buttons in a justified button group, whether it's on <code>&lt;a&gt;</code> or <code>&lt;button&gt;</code> elements. To get around that, wrap each button in another <code>.btn-group</code>.</p>
<p>See <a href="https://github.com/twbs/bootstrap/issues/12476">#12476</a> for more information.</p>
</div>
<h4>With <code>&lt;a&gt;</code> elements</h4>
<p>Just wrap a series of <code>.btn</code>s in <code>.btn-group.btn-group-justified</code>.</p>
<div class="bs-example" data-example-id="simple-justified-button-group">
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
<a href="#" class="btn btn-default" role="button">Left</a>
<a href="#" class="btn btn-default" role="button">Middle</a>
<a href="#" class="btn btn-default" role="button">Right</a>
</div>
<br>
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group with nested dropdown">
<a href="#" class="btn btn-default" role="button">Left</a>
<a href="#" class="btn btn-default" role="button">Middle</a>
<div class="btn-group" role="group">
<a href="#" class="btn btn-default dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
</div>
</div>
{% highlight html %}
<div class="btn-group btn-group-justified" role="group" aria-label="...">
...
</div>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-btn-group-anchor-btn">
<h4>Links acting as buttons</h4>
<p>If the <code>&lt;a&gt;</code> elements are used to act as buttons triggering in-page functionality, rather than navigating to another document or section within the current page they should also be given an appropriate <code>role="button"</code>.</p>
</div>
<h4>With <code>&lt;button&gt;</code> elements</h4>
<p>To use justified button groups with <code>&lt;button&gt;</code> elements, <strong class="text-danger">you must wrap each button in a button group</strong>. Most browsers don't properly apply our CSS for justification to <code>&lt;button&gt;</code> elements, but since we support button dropdowns, we can work around that.</p>
<div class="bs-example" data-example-id="button-tag-button-group-justified">
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
<div class="btn-group" role="group">
<button type="button" class="btn btn-default">Left</button>
</div>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default">Middle</button>
</div>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default">Right</button>
</div>
</div>
</div>
{% highlight html %}
<div class="btn-group btn-group-justified" role="group" aria-label="...">
<div class="btn-group" role="group">
<button type="button" class="btn btn-default">Left</button>
</div>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default">Middle</button>
</div>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default">Right</button>
</div>
</div>
{% endhighlight %}
</div>
-154
View File
@@ -1,154 +0,0 @@
<div class="bs-docs-section">
<h1 id="dropdowns" class="page-header">Dropdowns</h1>
<p class="lead">Toggleable, contextual menu for displaying lists of links. Made interactive with the <a href="../javascript/#dropdowns">dropdown JavaScript plugin</a>.</p>
<h2 id="dropdowns-example">Example</h2>
<p>Wrap the dropdown's trigger and the dropdown menu within <code>.dropdown</code>, or another element that declares <code>position: relative;</code>. Then add the menu's HTML.</p>
<div class="bs-example" data-example-id="static-dropdown">
<div class="dropdown clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
</ul>
</div>
</div><!-- /example -->
{% highlight html %}
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
{% endhighlight %}
<p>Dropdown menus can be changed to expand upwards (instead of downwards) by adding <code>.dropup</code> to the parent.</p>
<div class="bs-example" data-example-id="static-dropup">
<div class="dropup clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropup
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
</ul>
</div>
</div><!-- /example -->
{% highlight html %}
<div class="dropup">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropup
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
{% endhighlight %}
<h2 id="dropdowns-alignment">Alignment</h2>
<p>By default, a dropdown menu is automatically positioned 100% from the top and along the left side of its parent. Add <code>.dropdown-menu-right</code> to a <code>.dropdown-menu</code> to right align the dropdown menu.</p>
<div class="bs-callout bs-callout-warning" id="callout-dropdown-positioning">
<h4>May require additional positioning</h4>
<p>Dropdowns are automatically positioned via CSS within the normal flow of the document. This means dropdowns may be cropped by parents with certain <code>overflow</code> properties or appear out of bounds of the viewport. Address these issues on your own as they arise.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-dropdown-pull-right">
<h4>Deprecated <code>.pull-right</code> alignment</h4>
<p>As of v3.1.0, we've deprecated <code>.pull-right</code> on dropdown menus. To right-align a menu, use <code>.dropdown-menu-right</code>. Right-aligned nav components in the navbar use a mixin version of this class to automatically align the menu. To override it, use <code>.dropdown-menu-left</code>.</p>
</div>
{% highlight html %}
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dLabel">
...
</ul>
{% endhighlight %}
<h2 id="dropdowns-headers">Headers</h2>
<p>Add a header to label sections of actions in any dropdown menu.</p>
<div class="bs-example">
<div class="dropdown clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu3">
<li class="dropdown-header">Dropdown header</li>
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="dropdown-header">Dropdown header</li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
</div><!-- /example -->
{% highlight html %}
<ul class="dropdown-menu" aria-labelledby="dropdownMenu3">
...
<li class="dropdown-header">Dropdown header</li>
...
</ul>
{% endhighlight %}
<h2 id="dropdowns-divider">Divider</h2>
<p>Add a divider to separate series of links in a dropdown menu.</p>
<div class="bs-example">
<div class="dropdown clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenuDivider" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuDivider">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
</div><!-- /example -->
{% highlight html %}
<ul class="dropdown-menu" aria-labelledby="dropdownMenuDivider">
...
<li role="separator" class="divider"></li>
...
</ul>
{% endhighlight %}
<h2 id="dropdowns-disabled">Disabled menu items</h2>
<p>Add <code>.disabled</code> to a <code>&lt;li&gt;</code> in the dropdown to disable the link.</p>
<div class="bs-example">
<div class="dropdown clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu4" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu4">
<li><a href="#">Regular link</a></li>
<li class="disabled"><a href="#">Disabled link</a></li>
<li><a href="#">Another link</a></li>
</ul>
</div>
</div><!-- /example -->
{% highlight html %}
<ul class="dropdown-menu" aria-labelledby="dropdownMenu4">
<li><a href="#">Regular link</a></li>
<li class="disabled"><a href="#">Disabled link</a></li>
<li><a href="#">Another link</a></li>
</ul>
{% endhighlight %}
</div>
-91
View File
@@ -1,91 +0,0 @@
<div class="bs-docs-section">
<h1 id="glyphicons" class="page-header">Glyphicons</h1>
<h2 id="glyphicons-glyphs">Available glyphs</h2>
<p>Includes over 250 glyphs in font format from the Glyphicon Halflings set. <a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but their creator has made them available for Bootstrap free of cost. As a thank you, we only ask that you include a link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever possible.</p>
<div class="bs-glyphicons">
<ul class="bs-glyphicons-list">
{% for iconClassName in site.data.glyphicons %}
<li>
<span class="glyphicon {{ iconClassName }}" aria-hidden="true"></span>
<span class="glyphicon-class">glyphicon {{ iconClassName }}</span>
</li>
{% endfor %}
</ul>
</div>
<h2 id="glyphicons-how-to-use">How to use</h2>
<p>For performance reasons, all icons require a base class and individual icon class. To use, place the following code just about anywhere. Be sure to leave a space between the icon and text for proper padding.</p>
<div class="bs-callout bs-callout-danger" id="callout-glyphicons-dont-mix">
<h4>Don't mix with other components</h4>
<p>Icon classes cannot be directly combined with other components. They should not be used along with other classes on the same element. Instead, add a nested <code>&lt;span&gt;</code> and apply the icon classes to the <code>&lt;span&gt;</code>.</p>
</div>
<div class="bs-callout bs-callout-danger" id="callout-glyphicons-empty-only">
<h4>Only for use on empty elements</h4>
<p>Icon classes should only be used on elements that contain no text content and have no child elements.</p>
</div>
<div class="bs-callout bs-callout-info" id="callout-glyphicons-location">
<h4>Changing the icon font location</h4>
<p>Bootstrap assumes icon font files will be located in the <code>../fonts/</code> directory, relative to the compiled CSS files. Moving or renaming those font files means updating the CSS in one of three ways:</p>
<ul>
<li>Change the <code>@icon-font-path</code> and/or <code>@icon-font-name</code> variables in the source Less files.</li>
<li>Utilize the <a href="http://lesscss.org/usage/#command-line-usage-relative-urls">relative URLs option</a> provided by the Less compiler.</li>
<li>Change the <code>url()</code> paths in the compiled CSS.</li>
</ul>
<p>Use whatever option best suits your specific development setup.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-glyphicons-accessibility">
<h4>Accessible icons</h4>
<p>Modern versions of assistive technologies will announce CSS generated content, as well as specific Unicode characters. To avoid unintended and confusing output in screen readers (particularly when icons are used purely for decoration), we hide them with the <code>aria-hidden="true"</code> attribute.</p>
<p>If you're using an icon to convey meaning (rather than only as a decorative element), ensure that this meaning is also conveyed to assistive technologies for instance, include additional content, visually hidden with the <code>.sr-only</code> class.</p>
<p>If you're creating controls with no other text (such as a <code>&lt;button&gt;</code> that only contains an icon), you should always provide alternative content to identify the purpose of the control, so that it will make sense to users of assistive technologies. In this case, you could add an <code>aria-label</code> attribute on the control itself.</p>
</div>
{% highlight html %}
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
{% endhighlight %}
<h2 id="glyphicons-examples">Examples</h2>
<p>Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.</p>
<div class="bs-example" data-example-id="glyphicons-general">
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button type="button" class="btn btn-default" aria-label="Left Align"><span class="glyphicon glyphicon-align-left" aria-hidden="true"></span></button>
<button type="button" class="btn btn-default" aria-label="Center Align"><span class="glyphicon glyphicon-align-center" aria-hidden="true"></span></button>
<button type="button" class="btn btn-default" aria-label="Right Align"><span class="glyphicon glyphicon-align-right" aria-hidden="true"></span></button>
<button type="button" class="btn btn-default" aria-label="Justify"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></button>
</div>
</div>
<div class="btn-toolbar" role="toolbar">
<button type="button" class="btn btn-default btn-lg"><span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star</button>
<button type="button" class="btn btn-default"><span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star</button>
<button type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star</button>
<button type="button" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star</button>
</div>
</div>
{% highlight html %}
<button type="button" class="btn btn-default" aria-label="Left Align">
<span class="glyphicon glyphicon-align-left" aria-hidden="true"></span>
</button>
<button type="button" class="btn btn-default btn-lg">
<span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star
</button>
{% endhighlight %}
<p>An icon used in an <a href="#alerts">alert</a> to convey that it's an error message, with additional <code>.sr-only</code> text to convey this hint to users of assistive technologies.</p>
<div class="bs-example" data-example-id="glyphicons-accessibility">
<div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
<span class="sr-only">Error:</span>
Enter a valid email address
</div>
</div>
{% highlight html %}
<div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
<span class="sr-only">Error:</span>
Enter a valid email address
</div>
{% endhighlight %}
</div>
-365
View File
@@ -1,365 +0,0 @@
<div class="bs-docs-section">
<h1 id="input-groups" class="page-header">Input groups</h1>
<p class="lead">Extend form controls by adding text or buttons before, after, or on both sides of any text-based <code>&lt;input&gt;</code>. Use <code>.input-group</code> with an <code>.input-group-addon</code> or <code>.input-group-btn</code> to prepend or append elements to a single <code>.form-control</code>.</p>
<div class="bs-callout bs-callout-danger" id="callout-inputgroup-text-input-only">
<h4>Textual <code>&lt;input&gt;</code>s only</h4>
<p>Avoid using <code>&lt;select&gt;</code> elements here as they cannot be fully styled in WebKit browsers.</p>
<p>Avoid using <code>&lt;textarea&gt;</code> elements here as their <code>rows</code> attribute will not be respected in some cases.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-inputgroup-container-body">
<h4>Tooltips &amp; popovers in input groups require special setting</h4>
<p>When using tooltips or popovers on elements within an <code>.input-group</code>, you'll have to specify the option <code>container: 'body'</code> to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-inputgroup-dont-mix">
<h4>Don't mix with other components</h4>
<p>Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-inputgroup-form-labels">
<h4>Always add labels</h4>
<p>Screen readers will have trouble with your forms if you don't include a label for every input. For these input groups, ensure that any additional label or functionality is conveyed to assistive technologies.</p>
<p>The exact technique to be used (visible <code>&lt;label&gt;</code> elements, <code>&lt;label&gt;</code> elements hidden using the <code>.sr-only</code> class, or use of the <code>aria-label</code>, <code>aria-labelledby</code>, <code>aria-describedby</code>, <code>title</code> or <code>placeholder</code> attribute) and what additional information will need to be conveyed will vary depending on the exact type of interface widget you're implementing. The examples in this section provide a few suggested, case-specific approaches.</p>
</div>
<h2 id="input-groups-basic">Basic example</h2>
<p>Place one add-on or button on either side of an input. You may also place one on both sides of an input.</p>
<p><strong class="text-danger">We do not support multiple add-ons (<code>.input-group-addon</code> or <code>.input-group-btn</code>) on a single side.</strong></p>
<p><strong class="text-danger">We do not support multiple form-controls in a single input group.</strong></p>
<form class="bs-example bs-example-form" data-example-id="simple-input-groups">
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
</div>
<br>
<div class="input-group">
<input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
<span class="input-group-addon" id="basic-addon2">@example.com</span>
</div>
<br>
<div class="input-group">
<span class="input-group-addon">$</span>
<input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
<span class="input-group-addon">.00</span>
</div>
<br>
<label for="basic-url">Your vanity URL</label>
<div class="input-group">
<span class="input-group-addon" id="basic-addon3">https://example.com/users/</span>
<input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3">
</div>
</form>
{% highlight html %}
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
</div>
<div class="input-group">
<input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
<span class="input-group-addon" id="basic-addon2">@example.com</span>
</div>
<div class="input-group">
<span class="input-group-addon">$</span>
<input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
<span class="input-group-addon">.00</span>
</div>
<label for="basic-url">Your vanity URL</label>
<div class="input-group">
<span class="input-group-addon" id="basic-addon3">https://example.com/users/</span>
<input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3">
</div>
{% endhighlight %}
<h2 id="input-groups-sizing">Sizing</h2>
<p>Add the relative form sizing classes to the <code>.input-group</code> itself and contents within will automatically resize—no need for repeating the form control size classes on each element.</p>
<form class="bs-example bs-example-form" data-example-id="input-group-sizing">
<div class="input-group input-group-lg">
<span class="input-group-addon" id="sizing-addon1">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div>
<br>
<div class="input-group">
<span class="input-group-addon" id="sizing-addon2">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
</div>
<br>
<div class="input-group input-group-sm">
<span class="input-group-addon" id="sizing-addon3">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon3">
</div>
</form>
{% highlight html %}
<div class="input-group input-group-lg">
<span class="input-group-addon" id="sizing-addon1">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div>
<div class="input-group">
<span class="input-group-addon" id="sizing-addon2">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
</div>
<div class="input-group input-group-sm">
<span class="input-group-addon" id="sizing-addon3">@</span>
<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon3">
</div>
{% endhighlight %}
<h2 id="input-groups-checkboxes-radios">Checkboxes and radio addons</h2>
<p>Place any checkbox or radio option within an input group's addon instead of text.</p>
<form class="bs-example bs-example-form" data-example-id="input-group-with-checkbox-radio">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">
<input type="checkbox" aria-label="Checkbox for following text input">
</span>
<input type="text" class="form-control" aria-label="Text input with checkbox">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">
<input type="radio" aria-label="Radio button for following text input">
</span>
<input type="text" class="form-control" aria-label="Text input with radio button">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</form>
{% highlight html %}
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">
<input type="checkbox" aria-label="...">
</span>
<input type="text" class="form-control" aria-label="...">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">
<input type="radio" aria-label="...">
</span>
<input type="text" class="form-control" aria-label="...">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
{% endhighlight %}
<h2 id="input-groups-buttons">Button addons</h2>
<p>Buttons in input groups are a bit different and require one extra level of nesting. Instead of <code>.input-group-addon</code>, you'll need to use <code>.input-group-btn</code> to wrap the buttons. This is required due to default browser styles that cannot be overridden.</p>
<form class="bs-example bs-example-form" data-example-id="input-group-with-button">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
<input type="text" class="form-control" placeholder="Search for...">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search for...">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</form>
{% highlight html %}
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
<input type="text" class="form-control" placeholder="Search for...">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search for...">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
{% endhighlight %}
<h2 id="input-groups-buttons-dropdowns">Buttons with dropdowns</h2>
<form class="bs-example bs-example-form" data-example-id="input-group-dropdowns">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<input type="text" class="form-control" aria-label="Text input with dropdown button">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" aria-label="Text input with dropdown button">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</form>
{% highlight html %}
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<input type="text" class="form-control" aria-label="...">
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" aria-label="...">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
{% endhighlight %}
<h2 id="input-groups-buttons-segmented">Segmented buttons</h2>
<form class="bs-example bs-example-form" data-example-id="input-group-segmented-buttons">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default">Action</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
<input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
</div><!-- /.input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
<div class="input-group-btn">
<button type="button" class="btn btn-default">Action</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
</div><!-- /.input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</form>
{% highlight html %}
<div class="input-group">
<div class="input-group-btn">
<!-- Button and dropdown menu -->
</div>
<input type="text" class="form-control" aria-label="...">
</div>
<div class="input-group">
<input type="text" class="form-control" aria-label="...">
<div class="input-group-btn">
<!-- Button and dropdown menu -->
</div>
</div>
{% endhighlight %}
<h2 id="input-groups-buttons-multiple">Multiple buttons</h2>
<p>While you can only have one add-on per side, you can have multiple buttons inside a single <code>.input-group-btn</code>.</p>
<form class="bs-example bs-example-form" data-example-id="input-group-multiple-buttons">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default" aria-label="Bold"><span class="glyphicon glyphicon-bold"></span></button>
<button type="button" class="btn btn-default" aria-label="Italic"><span class="glyphicon glyphicon-italic"></span></button>
</div>
<input type="text" class="form-control" aria-label="Text input with multiple buttons">
</div><!-- /.input-group -->
</div><!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" aria-label="Text input with multiple buttons">
<div class="input-group-btn">
<button type="button" class="btn btn-default" aria-label="Help"><span class="glyphicon glyphicon-question-sign"></span></button>
<button type="button" class="btn btn-default">Action</button>
</div>
</div><!-- /.input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</form>
{% highlight html %}
<div class="input-group">
<div class="input-group-btn">
<!-- Buttons -->
</div>
<input type="text" class="form-control" aria-label="...">
</div>
<div class="input-group">
<input type="text" class="form-control" aria-label="...">
<div class="input-group-btn">
<!-- Buttons -->
</div>
</div>
{% endhighlight %}
</div>
-27
View File
@@ -1,27 +0,0 @@
<div class="bs-docs-section">
<h1 id="jumbotron" class="page-header">Jumbotron</h1>
<p>A lightweight, flexible component that can optionally extend the entire viewport to showcase key content on your site.</p>
<div class="bs-example" data-example-id="simple-jumbotron">
<div class="jumbotron">
<h1>Hello, world!</h1>
<p>This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
<p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>
</div>
{% highlight html %}
<div class="jumbotron">
<h1>Hello, world!</h1>
<p>...</p>
<p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>
{% endhighlight %}
<p>To make the jumbotron full width, and without rounded corners, place it outside all <code>.container</code>s and instead add a <code>.container</code> within.</p>
{% highlight html %}
<div class="jumbotron">
<div class="container">
...
</div>
</div>
{% endhighlight %}
</div>
-40
View File
@@ -1,40 +0,0 @@
<div class="bs-docs-section">
<h1 id="labels" class="page-header">Labels</h1>
<h2>Example</h2>
<div class="bs-example" data-example-id="labels-in-headings">
<h1>Example heading <span class="label label-default">New</span></h1>
<h2>Example heading <span class="label label-default">New</span></h2>
<h3>Example heading <span class="label label-default">New</span></h3>
<h4>Example heading <span class="label label-default">New</span></h4>
<h5>Example heading <span class="label label-default">New</span></h5>
<h6>Example heading <span class="label label-default">New</span></h6>
</div>
{% highlight html %}
<h3>Example heading <span class="label label-default">New</span></h3>
{% endhighlight %}
<h2>Available variations</h2>
<p>Add any of the below mentioned modifier classes to change the appearance of a label.</p>
<div class="bs-example" data-example-id="label-variants">
<span class="label label-default">Default</span>
<span class="label label-primary">Primary</span>
<span class="label label-success">Success</span>
<span class="label label-info">Info</span>
<span class="label label-warning">Warning</span>
<span class="label label-danger">Danger</span>
</div>
{% highlight html %}
<span class="label label-default">Default</span>
<span class="label label-primary">Primary</span>
<span class="label label-success">Success</span>
<span class="label label-info">Info</span>
<span class="label label-warning">Warning</span>
<span class="label label-danger">Danger</span>
{% endhighlight %}
<div class="bs-callout bs-callout-info" id="callout-labels-inline-block">
<h4>Have tons of labels?</h4>
<p>Rendering problems can arise when you have dozens of inline labels within a narrow container, each containing its own <code>inline-block</code> element (like an icon). The way around this is setting <code>display: inline-block;</code>. For context and an example, <a href="https://github.com/twbs/bootstrap/issues/13219">see #13219</a>.</p>
</div>
</div>
-188
View File
@@ -1,188 +0,0 @@
<div class="bs-docs-section">
<h1 id="list-group" class="page-header">List group</h1>
<p class="lead">List groups are a flexible and powerful component for displaying not only simple lists of elements, but complex ones with custom content.</p>
<h2 id="list-group-basic">Basic example</h2>
<p>The most basic list group is simply an unordered list with list items, and the proper classes. Build upon it with the options that follow, or your own CSS as needed.</p>
<div class="bs-example" data-example-id="simple-list-group">
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
</div>
{% highlight html %}
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
{% endhighlight %}
<h2 id="list-group-badges">Badges</h2>
<p>Add the badges component to any list group item and it will automatically be positioned on the right.</p>
<div class="bs-example" data-example-id="list-group-badges">
<ul class="list-group">
<li class="list-group-item">
<span class="badge">14</span>
Cras justo odio
</li>
<li class="list-group-item">
<span class="badge">2</span>
Dapibus ac facilisis in
</li>
<li class="list-group-item">
<span class="badge">1</span>
Morbi leo risus
</li>
</ul>
</div>
{% highlight html %}
<ul class="list-group">
<li class="list-group-item">
<span class="badge">14</span>
Cras justo odio
</li>
</ul>
{% endhighlight %}
<h2 id="list-group-linked">Linked items</h2>
<p>Linkify list group items by using anchor tags instead of list items (that also means a parent <code>&lt;div&gt;</code> instead of an <code>&lt;ul&gt;</code>). No need for individual parents around each element.</p>
<div class="bs-example" data-example-id="list-group-anchors">
<div class="list-group">
<a href="#" class="list-group-item active">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
</div>
{% highlight html %}
<div class="list-group">
<a href="#" class="list-group-item active">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
{% endhighlight %}
<h2 id="list-group-buttons">Button items</h2>
<p>List group items may be buttons instead of list items (that also means a parent <code>&lt;div&gt;</code> instead of an <code>&lt;ul&gt;</code>). No need for individual parents around each element. <strong class="text-danger">Don't use the standard <code>.btn</code> classes here.</strong></p>
<div class="bs-example" data-example-id="list-group-btns">
<div class="list-group">
<button type="button" class="list-group-item">Cras justo odio</button>
<button type="button" class="list-group-item">Dapibus ac facilisis in</button>
<button type="button" class="list-group-item">Morbi leo risus</button>
<button type="button" class="list-group-item">Porta ac consectetur ac</button>
<button type="button" class="list-group-item">Vestibulum at eros</button>
</div>
</div>
{% highlight html %}
<div class="list-group">
<button type="button" class="list-group-item">Cras justo odio</button>
<button type="button" class="list-group-item">Dapibus ac facilisis in</button>
<button type="button" class="list-group-item">Morbi leo risus</button>
<button type="button" class="list-group-item">Porta ac consectetur ac</button>
<button type="button" class="list-group-item">Vestibulum at eros</button>
</div>
{% endhighlight %}
<h2 id="list-group-disabled">Disabled items</h2>
<p>Add <code>.disabled</code> to a <code>.list-group-item</code> to gray it out to appear disabled.</p>
<div class="bs-example" data-example-id="list-group-disabled">
<div class="list-group">
<a href="#" class="list-group-item disabled">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
</div>
{% highlight html %}
<div class="list-group">
<a href="#" class="list-group-item disabled">
Cras justo odio
</a>
<a href="#" class="list-group-item">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item">Morbi leo risus</a>
<a href="#" class="list-group-item">Porta ac consectetur ac</a>
<a href="#" class="list-group-item">Vestibulum at eros</a>
</div>
{% endhighlight %}
<h2 id="list-group-contextual-classes">Contextual classes</h2>
<p>Use contextual classes to style list items, default or linked. Also includes <code>.active</code> state.</p>
<div class="bs-example" data-example-id="list-group-variants">
<div class="row">
<div class="col-sm-6">
<ul class="list-group">
<li class="list-group-item list-group-item-success">Dapibus ac facilisis in</li>
<li class="list-group-item list-group-item-info">Cras sit amet nibh libero</li>
<li class="list-group-item list-group-item-warning">Porta ac consectetur ac</li>
<li class="list-group-item list-group-item-danger">Vestibulum at eros</li>
</ul>
</div>
<div class="col-sm-6">
<div class="list-group">
<a href="#" class="list-group-item list-group-item-success">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item list-group-item-info">Cras sit amet nibh libero</a>
<a href="#" class="list-group-item list-group-item-warning">Porta ac consectetur ac</a>
<a href="#" class="list-group-item list-group-item-danger">Vestibulum at eros</a>
</div>
</div>
</div>
</div>
{% highlight html %}
<ul class="list-group">
<li class="list-group-item list-group-item-success">Dapibus ac facilisis in</li>
<li class="list-group-item list-group-item-info">Cras sit amet nibh libero</li>
<li class="list-group-item list-group-item-warning">Porta ac consectetur ac</li>
<li class="list-group-item list-group-item-danger">Vestibulum at eros</li>
</ul>
<div class="list-group">
<a href="#" class="list-group-item list-group-item-success">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item list-group-item-info">Cras sit amet nibh libero</a>
<a href="#" class="list-group-item list-group-item-warning">Porta ac consectetur ac</a>
<a href="#" class="list-group-item list-group-item-danger">Vestibulum at eros</a>
</div>
{% endhighlight %}
<h2 id="list-group-custom-content">Custom content</h2>
<p>Add nearly any HTML within, even for linked list groups like the one below.</p>
<div class="bs-example" data-example-id="list-group-custom-content">
<div class="list-group">
<a href="#" class="list-group-item active">
<h4 class="list-group-item-heading">List group item heading</h4>
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
</a>
<a href="#" class="list-group-item">
<h4 class="list-group-item-heading">List group item heading</h4>
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
</a>
<a href="#" class="list-group-item">
<h4 class="list-group-item-heading">List group item heading</h4>
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
</a>
</div>
</div>
{% highlight html %}
<div class="list-group">
<a href="#" class="list-group-item active">
<h4 class="list-group-item-heading">List group item heading</h4>
<p class="list-group-item-text">...</p>
</a>
</div>
{% endhighlight %}
</div>
-207
View File
@@ -1,207 +0,0 @@
<div class="bs-docs-section">
<h1 id="media" class="page-header">Media object</h1>
<p class="lead">Abstract object styles for building various types of components (like blog comments, Tweets, etc) that feature a left- or right-aligned image alongside textual content.</p>
<h2 id="media-default">Default media</h2>
<p>The default media displays a media object (images, video, audio) to the left or right of a content block.</p>
<div class="bs-example" data-example-id="default-media">
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
</div>
</div>
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Nested media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
</div>
</div>
</div>
</div>
<div class="media">
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
</div>
<div class="media-right">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
</div>
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
</div>
<div class="media-right">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
</div>
</div><!-- /.bs-example -->
{% highlight html %}
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" src="..." alt="...">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
...
</div>
</div>
{% endhighlight %}
<p>The classes <code>.pull-left</code> and <code>.pull-right</code> also exist and were previously used as part of the media component, but are deprecated for that use as of v3.3.0. They are approximately equivalent to <code>.media-left</code> and <code>.media-right</code>, except that <code>.media-right</code> should be placed after the <code>.media-body</code> in the html.</p>
<h2 id="media-alignment">Media alignment</h2>
<p>The images or other media can be aligned top, middle, or bottom. The default is top aligned.</p>
<div class="bs-example" data-example-id="media-alignment">
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Top aligned media</h4>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
<p>Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
</div>
</div>
<div class="media">
<div class="media-left media-middle">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Middle aligned media</h4>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
<p>Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
</div>
</div>
<div class="media">
<div class="media-left media-bottom">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Bottom aligned media</h4>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
<p>Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
</div>
</div>
</div>
{% highlight html %}
<div class="media">
<div class="media-left media-middle">
<a href="#">
<img class="media-object" src="..." alt="...">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Middle aligned media</h4>
...
</div>
</div>
{% endhighlight %}
<h2 id="media-list">Media list</h2>
<p>With a bit of extra markup, you can use media inside list (useful for comment threads or articles lists).</p>
<div class="bs-example" data-example-id="media-list">
<ul class="media-list">
<li class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.</p>
<!-- Nested media object -->
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Nested media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
<!-- Nested media object -->
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Nested media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
</div>
</div>
</div>
</div>
<!-- Nested media object -->
<div class="media">
<div class="media-left">
<a href="#">
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Nested media heading</h4>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
</div>
</div>
</div>
</li>
</ul>
</div>
{% highlight html %}
<ul class="media-list">
<li class="media">
<div class="media-left">
<a href="#">
<img class="media-object" src="..." alt="...">
</a>
</div>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
...
</div>
</li>
</ul>
{% endhighlight %}
</div>
-461
View File
@@ -1,461 +0,0 @@
<div class="bs-docs-section">
<h1 id="navbar" class="page-header">Navbar</h1>
<h2 id="navbar-default">Default navbar</h2>
<p>Navbars are responsive meta components that serve as navigation headers for your application or site. They begin collapsed (and are toggleable) in mobile views and become horizontal as the available viewport width increases.</p>
<p><strong class="text-danger">Justified navbar nav links are currently not supported.</strong></p>
<div class="bs-callout bs-callout-warning" id="callout-navbar-overflow">
<h4>Overflowing content</h4>
<p>Since Bootstrap doesn't know how much space the content in your navbar needs, you might run into issues with content wrapping into a second row. To resolve this, you can:</p>
<ol type="a">
<li>Reduce the amount or width of navbar items.</li>
<li>Hide certain navbar items at certain screen sizes using <a href="../css/#responsive-utilities">responsive utility classes</a>.</li>
<li>Change the point at which your navbar switches between collapsed and horizontal mode. Customize the <code>@grid-float-breakpoint</code> variable or add your own media query.</li>
</ol>
</div>
<div class="bs-callout bs-callout-danger" id="callout-navbar-js">
<h4>Requires JavaScript plugin</h4>
<p>If JavaScript is disabled and the viewport is narrow enough that the navbar collapses, it will be impossible to expand the navbar and view the content within the <code>.navbar-collapse</code>.</p>
<p>The responsive navbar requires the <a href="../javascript/#collapse">collapse plugin</a> to be included in your version of Bootstrap.</p>
</div>
<div class="bs-callout bs-callout-info" id="callout-navbar-breakpoint">
<h4>Changing the collapsed mobile navbar breakpoint</h4>
<p>The navbar collapses into its vertical mobile view when the viewport is narrower than <code>@grid-float-breakpoint</code>, and expands into its horizontal non-mobile view when the viewport is at least <code>@grid-float-breakpoint</code> in width. Adjust this variable in the Less source to control when the navbar collapses/expands. The default value is <code>768px</code> (the smallest "small" or "tablet" screen).</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-navbar-role">
<h4>Make navbars accessible</h4>
<p>Be sure to use a <code>&lt;nav&gt;</code> element or, if using a more generic element such as a <code>&lt;div&gt;</code>, add a <code>role="navigation"</code> to every navbar to explicitly identify it as a landmark region for users of assistive technologies.</p>
</div>
<div class="bs-example" data-example-id="default-navbar">
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</div>
{% highlight html %}
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
{% endhighlight %}
<h2 id="navbar-brand-image">Brand image</h2>
<p>Replace the navbar brand with your own image by swapping the text for an <code>&lt;img&gt;</code>. Since the <code>.navbar-brand</code> has its own padding and height, you may need to override some CSS depending on your image.</p>
<div class="bs-example" data-example-id="navbar-with-image-brand">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">
<img alt="Brand" width="20" height="20" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAA81BMVEX///9VPnxWPXxWPXxWPXxWPXxWPXxWPXz///9hSYT6+vuFc6BXPn37+vz8+/z9/f2LeqWMe6aOfqiTg6uXiK5bQ4BZQX9iS4VdRYFdRYJfSINuWI5vWY9xXJF0YJR3Y5Z4ZZd5ZZd6Z5h9apq0qcW1qsW1q8a6sMqpnLyrn76tocCvpMGwpMJoUoprVYxeRoJjS4abjLGilLemmbrDutDFvdLPx9nX0eDa1OLb1uPd1+Td2OXe2eXh3Ofj3+nk4Orl4evp5u7u7PLv7fPx7/T08vb08/f19Pf29Pj39vn6+fuEcZ9YP35aQn/8/P1ZQH5fR4PINAOdAAAAB3RSTlMAIWWOw/P002ipnAAAAPhJREFUeF6NldWOhEAUBRvtRsfdfd3d3e3/v2ZPmGSWZNPDqScqqaSBSy4CGJbtSi2ubRkiwXRkBo6ZdJIApeEwoWMIS1JYwuZCW7hc6ApJkgrr+T/eW1V9uKXS5I5GXAjW2VAV9KFfSfgJpk+w4yXhwoqwl5AIGwp4RPgdK3XNHD2ETYiwe6nUa18f5jYSxle4vulw7/EtoCdzvqkPv3bn7M0eYbc7xFPXzqCrRCgH0Hsm/IjgTSb04W0i7EGjz+xw+wR6oZ1MnJ9TWrtToEx+4QfcZJ5X6tnhw+nhvqebdVhZUJX/oFcKvaTotUcvUnY188ue/n38AunzPPE8yg7bAAAAAElFTkSuQmCC">
</a>
</div>
</div>
</nav>
</div>
{% highlight html %}
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">
<img alt="Brand" src="...">
</a>
</div>
</div>
</nav>
{% endhighlight %}
<h2 id="navbar-forms">Forms</h2>
<p>Place form content within <code>.navbar-form</code> for proper vertical alignment and collapsed behavior in narrow viewports. Use the alignment options to decide where it resides within the navbar content.</p>
<p>As a heads up, <code>.navbar-form</code> shares much of its code with <code>.form-inline</code> via mixin. <strong class="text-danger">Some form controls, like input groups, may require fixed widths to be show up properly within a navbar.</strong></p>
<div class="bs-example" data-example-id="navbar-form">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</nav>
</div>
{% highlight html %}
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-navbar-mobile-caveats">
<h4>Mobile device caveats</h4>
<p>There are some caveats regarding using form controls within fixed elements on mobile devices. <a href="../getting-started/#support-fixed-position-keyboards">See our browser support docs</a> for details.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-navbar-form-labels">
<h4>Always add labels</h4>
<p>Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the <code>.sr-only</code> class. There are further alternative methods of providing a label for assistive technologies, such as the <code>aria-label</code>, <code>aria-labelledby</code> or <code>title</code> attribute. If none of these is present, screen readers may resort to using the <code>placeholder</code> attribute, if present, but note that use of <code>placeholder</code> as a replacement for other labelling methods is not advised.</p>
</div>
<h2 id="navbar-buttons">Buttons</h2>
<p>Add the <code>.navbar-btn</code> class to <code>&lt;button&gt;</code> elements not residing in a <code>&lt;form&gt;</code> to vertically center them in the navbar.</p>
<div class="bs-example" data-example-id="navbar-button">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-3" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-3">
<button type="button" class="btn btn-default navbar-btn">Sign in</button>
</div>
</div>
</nav>
</div>
{% highlight html %}
<button type="button" class="btn btn-default navbar-btn">Sign in</button>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-navbar-btn-context">
<h4>Context-specific usage</h4>
<p>Like the standard <a href="../css/#buttons">button classes</a>, <code>.navbar-btn</code> can be used on <code>&lt;a&gt;</code> and <code>&lt;input&gt;</code> elements. However, neither <code>.navbar-btn</code> nor the standard button classes should be used on <code>&lt;a&gt;</code> elements within <code>.navbar-nav</code>.</p>
</div>
<h2 id="navbar-text">Text</h2>
<p>Wrap strings of text in an element with <code>.navbar-text</code>, usually on a <code>&lt;p&gt;</code> tag for proper leading and color.</p>
<div class="bs-example" data-example-id="navbar-text">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-4" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
<p class="navbar-text">Signed in as Mark Otto</p>
</div>
</div>
</nav>
</div>
{% highlight html %}
<p class="navbar-text">Signed in as Mark Otto</p>
{% endhighlight %}
<h2 id="navbar-links">Non-nav links</h2>
<p>For folks using standard links that are not within the regular navbar navigation component, use the <code>.navbar-link</code> class to add the proper colors for the default and inverse navbar options.</p>
<div class="bs-example" data-example-id="navbar-link">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-5" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-5">
<p class="navbar-text navbar-right">Signed in as <a href="#" class="navbar-link">Mark Otto</a></p>
</div>
</div>
</nav>
</div>
{% highlight html %}
<p class="navbar-text navbar-right">Signed in as <a href="#" class="navbar-link">Mark Otto</a></p>
{% endhighlight %}
<h2 id="navbar-component-alignment">Component alignment</h2>
<p>Align nav links, forms, buttons, or text, using the <code>.navbar-left</code> or <code>.navbar-right</code> utility classes. Both classes will add a CSS float in the specified direction. For example, to align nav links, put them in a separate <code>&lt;ul&gt;</code> with the respective utility class applied.</p>
<p>These classes are mixin-ed versions of <code>.pull-left</code> and <code>.pull-right</code>, but they're scoped to media queries for easier handling of navbar components across device sizes.</p>
<div class="bs-callout bs-callout-warning" id="callout-navbar-right-align">
<h4>Right aligning multiple components</h4>
<p>Navbars currently have a limitation with multiple <code>.navbar-right</code> classes. To properly space content, we use negative margin on the last <code>.navbar-right</code> element. When there are multiple elements using that class, these margins don't work as intended.</p>
<p>We'll revisit this when we can rewrite that component in v4.</p>
</div>
<h2 id="navbar-fixed-top">Fixed to top</h2>
<p>Add <code>.navbar-fixed-top</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p>
<div class="bs-example bs-navbar-top-example" data-example-id="navbar-fixed-to-top">
<nav class="navbar navbar-default navbar-fixed-top">
<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-6" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-6">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
</nav>
</div><!-- /example -->
{% highlight html %}
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
...
</div>
</nav>
{% endhighlight %}
<div class="bs-callout bs-callout-danger" id="callout-navbar-fixed-top-padding">
<h4>Body padding required</h4>
<p>The fixed navbar will overlay your other content, unless you add <code>padding</code> to the top of the <code>&lt;body&gt;</code>. Try out your own values or use our snippet below. Tip: By default, the navbar is 50px high.</p>
{% highlight scss %}
body { padding-top: 70px; }
{% endhighlight %}
<p>Make sure to include this <strong>after</strong> the core Bootstrap CSS.</p>
</div>
<h2 id="navbar-fixed-bottom">Fixed to bottom</h2>
<p>Add <code>.navbar-fixed-bottom</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p>
<div class="bs-example bs-navbar-bottom-example" data-example-id="navbar-fixed-to-bottom">
<nav class="navbar navbar-default navbar-fixed-bottom">
<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-7" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-7">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
</nav>
</div><!-- /example -->
{% highlight html %}
<nav class="navbar navbar-default navbar-fixed-bottom">
<div class="container">
...
</div>
</nav>
{% endhighlight %}
<div class="bs-callout bs-callout-danger" id="callout-navbar-fixed-bottom-padding">
<h4>Body padding required</h4>
<p>The fixed navbar will overlay your other content, unless you add <code>padding</code> to the bottom of the <code>&lt;body&gt;</code>. Try out your own values or use our snippet below. Tip: By default, the navbar is 50px high.</p>
{% highlight scss %}
body { padding-bottom: 70px; }
{% endhighlight %}
<p>Make sure to include this <strong>after</strong> the core Bootstrap CSS.</p>
</div>
<h2 id="navbar-static-top">Static top</h2>
<p>Create a full-width navbar that scrolls away with the page by adding <code>.navbar-static-top</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p>
<p>Unlike the <code>.navbar-fixed-*</code> classes, you do not need to change any padding on the <code>body</code>.</p>
<div class="bs-example bs-navbar-top-example" data-example-id="navbar-static-top">
<nav class="navbar navbar-default navbar-static-top">
<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-8" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-8">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
</nav>
</div><!-- /example -->
{% highlight html %}
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
...
</div>
</nav>
{% endhighlight %}
<h2 id="navbar-inverted">Inverted navbar</h2>
<p>Modify the look of the navbar by adding <code>.navbar-inverse</code>.</p>
<div class="bs-example" data-example-id="inverted-navbar">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-9" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-9">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</div><!-- /example -->
{% highlight html %}
<nav class="navbar navbar-inverse">
...
</nav>
{% endhighlight %}
</div>
-189
View File
@@ -1,189 +0,0 @@
<div class="bs-docs-section">
<h1 id="nav" class="page-header">Navs</h1>
<p class="lead">Navs available in Bootstrap have shared markup, starting with the base <code>.nav</code> class, as well as shared states. Swap modifier classes to switch between each style.</p>
<div class="bs-callout bs-callout-info" id="callout-navs-tabs-plugin">
<h4>Using navs for tab panels requires JavaScript tabs plugin</h4>
<p>For tabs with tabbable areas, you must use the <a href="../javascript/#tabs">tabs JavaScript plugin</a>. The markup will also require additional <code>role</code> and ARIA attributes see the plugin's <a href="../javascript/#tabs-usage">example markup</a> for further details.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-navs-accessibility">
<h4>Make navs used as navigation accessible</h4>
<p>If you are using navs to provide a navigation bar, be sure to add a <code>role="navigation"</code> to the most logical parent container of the <code>&lt;ul&gt;</code>, or wrap a <code>&lt;nav&gt;</code> element around the whole navigation. Do not add the role to the <code>&lt;ul&gt;</code> itself, as this would prevent it from being announced as an actual list by assistive technologies.</p>
</div>
<h2 id="nav-tabs">Tabs</h2>
<p>Note the <code>.nav-tabs</code> class requires the <code>.nav</code> base class.</p>
<div class="bs-example" data-example-id="simple-nav-tabs">
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
{% endhighlight %}
<h2 id="nav-pills">Pills</h2>
<p>Take that same HTML, but use <code>.nav-pills</code> instead:</p>
<div class="bs-example" data-example-id="simple-nav-pills">
<ul class="nav nav-pills">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-pills">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
{% endhighlight %}
<p>Pills are also vertically stackable. Just add <code>.nav-stacked</code>.</p>
<div class="bs-example" data-example-id="simple-nav-stacked">
<ul class="nav nav-pills nav-stacked nav-pills-stacked-example">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-pills nav-stacked">
...
</ul>
{% endhighlight %}
<h2 id="nav-justified">Justified</h2>
<p>Easily make tabs or pills equal widths of their parent at screens wider than 768px with <code>.nav-justified</code>. On smaller screens, the nav links are stacked.</p>
<p><strong class="text-danger">Justified navbar nav links are currently not supported.</strong></p>
<div class="bs-callout bs-callout-warning" id="callout-navs-justified-safari">
<h4>Safari and responsive justified navs</h4>
<p>As of v8.0, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p>
</div>
<div class="bs-example" data-example-id="simple-nav-justified">
<ul class="nav nav-tabs nav-justified">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
<br>
<ul class="nav nav-pills nav-justified">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-tabs nav-justified">
...
</ul>
<ul class="nav nav-pills nav-justified">
...
</ul>
{% endhighlight %}
<h2 id="nav-disabled-links">Disabled links</h2>
<p>For any nav component (tabs or pills), add <code>.disabled</code> for <strong>gray links and no hover effects</strong>.</p>
<div class="bs-callout bs-callout-warning" id="callout-navs-anchor-disabled">
<h4>Link functionality not impacted</h4>
<p>This class will only change the <code>&lt;a&gt;</code>'s appearance, not its functionality. Use custom JavaScript to disable links here.</p>
</div>
<div class="bs-example" data-example-id="disabled-nav-link">
<ul class="nav nav-pills">
<li role="presentation"><a href="#">Clickable link</a></li>
<li role="presentation"><a href="#">Clickable link</a></li>
<li role="presentation" class="disabled"><a href="#">Disabled link</a></li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-pills">
...
<li role="presentation" class="disabled"><a href="#">Disabled link</a></li>
...
</ul>
{% endhighlight %}
<h2 id="nav-dropdowns">Using dropdowns</h2>
<p>Add dropdown menus with a little extra HTML and the <a href="../javascript/#dropdowns">dropdowns JavaScript plugin</a>.</p>
<h3>Tabs with dropdowns</h3>
<div class="bs-example" data-example-id="nav-tabs-with-dropdown">
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Help</a></li>
<li role="presentation" class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div>
{% highlight html %}
<ul class="nav nav-tabs">
...
<li role="presentation" class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu">
...
</ul>
</li>
...
</ul>
{% endhighlight %}
<h3>Pills with dropdowns</h3>
<div class="bs-example" data-example-id="nav-pills-with-dropdown">
<ul class="nav nav-pills">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Help</a></li>
<li role="presentation" class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /example -->
{% highlight html %}
<ul class="nav nav-pills">
...
<li role="presentation" class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</a>
<ul class="dropdown-menu">
...
</ul>
</li>
...
</ul>
{% endhighlight %}
</div>
@@ -1,15 +0,0 @@
<div class="bs-docs-section">
<h1 id="page-header" class="page-header">Page header</h1>
<p>A simple shell for an <code>h1</code> to appropriately space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code> element, as well as most other components (with additional styles).</p>
<div class="bs-example" data-example-id="simple-page-header">
<div class="page-header">
<h1>Example page header <small>Subtext for header</small></h1>
</div>
</div>
{% highlight html %}
<div class="page-header">
<h1>Example page header <small>Subtext for header</small></h1>
</div>
{% endhighlight %}
</div>
-197
View File
@@ -1,197 +0,0 @@
<div class="bs-docs-section">
<h1 id="pagination" class="page-header">Pagination</h1>
<p class="lead">Provide pagination links for your site or app with the multi-page pagination component, or the simpler <a href="#pagination-pager">pager alternative</a>.</p>
<h2 id="pagination-default">Default pagination</h2>
<p>Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.</p>
<div class="bs-example" data-example-id="simple-pagination">
<nav>
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
</ul>
</nav>
</div>
{% highlight html %}
<nav>
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
</ul>
</nav>
{% endhighlight %}
<h3>Disabled and active states</h3>
<p>Links are customizable for different circumstances. Use <code>.disabled</code> for unclickable links and <code>.active</code> to indicate the current page.</p>
<div class="bs-example" data-example-id="disabled-active-pagination">
<nav>
<ul class="pagination">
<li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul>
</nav>
</div>
{% highlight html %}
<nav>
<ul class="pagination">
<li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
...
</ul>
</nav>
{% endhighlight %}
<p>You can optionally swap out active or disabled anchors for <code>&lt;span&gt;</code>, or omit the anchor in the case of the previous/next arrows, to remove click functionality while retaining intended styles.</p>
{% highlight html %}
<nav>
<ul class="pagination">
<li class="disabled">
<span>
<span aria-hidden="true">&laquo;</span>
</span>
</li>
<li class="active">
<span>1 <span class="sr-only">(current)</span></span>
</li>
...
</ul>
</nav>
{% endhighlight %}
<h3>Sizing</h3>
<p>Fancy larger or smaller pagination? Add <code>.pagination-lg</code> or <code>.pagination-sm</code> for additional sizes.</p>
<div class="bs-example" data-example-id="pagination-sizing">
<nav>
<ul class="pagination pagination-lg">
<li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul>
</nav>
<nav>
<ul class="pagination">
<li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul>
</nav>
<nav>
<ul class="pagination pagination-sm">
<li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul>
</nav>
</div>
{% highlight html %}
<nav><ul class="pagination pagination-lg">...</ul></nav>
<nav><ul class="pagination">...</ul></nav>
<nav><ul class="pagination pagination-sm">...</ul></nav>
{% endhighlight %}
<h2 id="pagination-pager">Pager</h2>
<p>Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.</p>
<h3>Default example</h3>
<p>By default, the pager centers links.</p>
<div class="bs-example" data-example-id="simple-pager">
<nav>
<ul class="pager">
<li><a href="#">Previous</a></li>
<li><a href="#">Next</a></li>
</ul>
</nav>
</div>
{% highlight html %}
<nav>
<ul class="pager">
<li><a href="#">Previous</a></li>
<li><a href="#">Next</a></li>
</ul>
</nav>
{% endhighlight %}
<h3>Aligned links</h3>
<p>Alternatively, you can align each link to the sides:</p>
<div class="bs-example" data-example-id="aligned-pager-links">
<nav>
<ul class="pager">
<li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
<li class="next"><a href="#">Newer <span aria-hidden="true">&rarr;</span></a></li>
</ul>
</nav>
</div>
{% highlight html %}
<nav>
<ul class="pager">
<li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
<li class="next"><a href="#">Newer <span aria-hidden="true">&rarr;</span></a></li>
</ul>
</nav>
{% endhighlight %}
<h3>Optional disabled state</h3>
<p>Pager links also use the general <code>.disabled</code> utility class from the pagination.</p>
<div class="bs-example" data-example-id="disabled-pager">
<nav>
<ul class="pager">
<li class="previous disabled"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
<li class="next"><a href="#">Newer <span aria-hidden="true">&rarr;</span></a></li>
</ul>
</nav>
</div>
{% highlight html %}
<nav>
<ul class="pager">
<li class="previous disabled"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
<li class="next"><a href="#">Newer <span aria-hidden="true">&rarr;</span></a></li>
</ul>
</nav>
{% endhighlight %}
</div>
-279
View File
@@ -1,279 +0,0 @@
<div class="bs-docs-section">
<h1 id="panels" class="page-header">Panels</h1>
<p class="lead">While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.</p>
<h2 id="panels-basic">Basic example</h2>
<p>By default, all the <code>.panel</code> does is apply some basic border and padding to contain some content.</p>
<div class="bs-example" data-example-id="simple-panel">
<div class="panel panel-default">
<div class="panel-body">
Basic panel example
</div>
</div>
</div>
{% highlight html %}
<div class="panel panel-default">
<div class="panel-body">
Basic panel example
</div>
</div>
{% endhighlight %}
<h2 id="panels-heading">Panel with heading</h2>
<p>Easily add a heading container to your panel with <code>.panel-heading</code>. You may also include any <code>&lt;h1&gt;</code>-<code>&lt;h6&gt;</code> with a <code>.panel-title</code> class to add a pre-styled heading.</p>
<p>For proper link coloring, be sure to place links in headings within <code>.panel-title</code>.</p>
<div class="bs-example" data-example-id="panel-with-heading">
<div class="panel panel-default">
<div class="panel-heading">Panel heading without title</div>
<div class="panel-body">
Panel content
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
</div>
{% highlight html %}
<div class="panel panel-default">
<div class="panel-heading">Panel heading without title</div>
<div class="panel-body">
Panel content
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
{% endhighlight %}
<h2 id="panels-footer">Panel with footer</h2>
<p>Wrap buttons or secondary text in <code>.panel-footer</code>. Note that panel footers <strong>do not</strong> inherit colors and borders when using contextual variations as they are not meant to be in the foreground.</p>
<div class="bs-example" data-example-id="panel-with-footer">
<div class="panel panel-default">
<div class="panel-body">
Panel content
</div>
<div class="panel-footer">Panel footer</div>
</div>
</div>
{% highlight html %}
<div class="panel panel-default">
<div class="panel-body">
Panel content
</div>
<div class="panel-footer">Panel footer</div>
</div>
{% endhighlight %}
<h2 id="panels-alternatives">Contextual alternatives</h2>
<p>Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.</p>
<div class="bs-example" data-example-id="contextual-panels">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
<div class="panel panel-warning">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
</div>
{% highlight html %}
<div class="panel panel-primary">...</div>
<div class="panel panel-success">...</div>
<div class="panel panel-info">...</div>
<div class="panel panel-warning">...</div>
<div class="panel panel-danger">...</div>
{% endhighlight %}
<h2 id="panels-tables">With tables</h2>
<p>Add any non-bordered <code>.table</code> within a panel for a seamless design. If there is a <code>.panel-body</code>, we add an extra border to the top of the table for separation.</p>
<div class="bs-example" data-example-id="table-within-panel">
<div class="panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<div class="panel-body">
<p>Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</div>
<!-- Table -->
<table class="table">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div>
</div>
{% highlight html %}
<div class="panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<div class="panel-body">
<p>...</p>
</div>
<!-- Table -->
<table class="table">
...
</table>
</div>
{% endhighlight %}
<p>If there is no panel body, the component moves from panel header to table without interruption.</p>
<div class="bs-example" data-example-id="panel-without-body-with-table">
<div class="panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<!-- Table -->
<table class="table">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div>
</div>
{% highlight html %}
<div class="panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<!-- Table -->
<table class="table">
...
</table>
</div>
{% endhighlight %}
<h2 id="panels-list-group">With list groups</h2>
<p>Easily include full-width <a href="#list-group">list groups</a> within any panel.</p>
<div class="bs-example" data-example-id="panel-with-list-group">
<div class="panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<div class="panel-body">
<p>Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</div>
<!-- List group -->
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
</div>
</div>
{% highlight html %}
<div class="panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<div class="panel-body">
<p>...</p>
</div>
<!-- List group -->
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
</div>
{% endhighlight %}
</div>
@@ -1,209 +0,0 @@
<div class="bs-docs-section">
<h1 id="progress" class="page-header">Progress bars</h1>
<p class="lead">Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.</p>
<div class="bs-callout bs-callout-danger" id="callout-progress-animation-css3">
<h4>Cross-browser compatibility</h4>
<p>Progress bars use CSS3 transitions and animations to achieve some of their effects. These features are not supported in Internet Explorer 9 and below or older versions of Firefox. Opera 12 does not support animations.</p>
</div>
<h2 id="progress-basic">Basic example</h2>
<p>Default progress bar.</p>
<div class="bs-example" data-example-id="simple-progress-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
<span class="sr-only">60% Complete</span>
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
<span class="sr-only">60% Complete</span>
</div>
</div>
{% endhighlight %}
<h2 id="progress-label">With label</h2>
<p>Remove the <code>&lt;span&gt;</code> with <code>.sr-only</code> class from within the progress bar to show a visible percentage.</p>
<div class="bs-example" data-example-id="progress-bar-with-label">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
60%
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
60%
</div>
</div>
{% endhighlight %}
<p>To ensure that the label text remains legible even for low percentages, consider adding a <code>min-width</code> to the progress bar.</p>
<div class="bs-example" data-example-id="progress-bar-at-low-percentage">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;">
0%
</div>
</div>
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: 2%;">
2%
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;">
0%
</div>
</div>
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: 2%;">
2%
</div>
</div>
{% endhighlight %}
<h2 id="progress-alternatives">Contextual alternatives</h2>
<p>Progress bars use some of the same button and alert classes for consistent styles.</p>
<div class="bs-example" data-example-id="contextual-progress-bar">
<div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
<span class="sr-only">40% Complete (success)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
<span class="sr-only">20% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
<span class="sr-only">60% Complete (warning)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80% Complete (danger)</span>
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
<span class="sr-only">40% Complete (success)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
<span class="sr-only">20% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
<span class="sr-only">60% Complete (warning)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80% Complete (danger)</span>
</div>
</div>
{% endhighlight %}
<h2 id="progress-striped">Striped</h2>
<p>Uses a gradient to create a striped effect. Not available in IE9 and below.</p>
<div class="bs-example" data-example-id="striped-progress-bar">
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
<span class="sr-only">40% Complete (success)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-info progress-bar-striped" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
<span class="sr-only">20% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
<span class="sr-only">60% Complete (warning)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80% Complete (danger)</span>
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
<span class="sr-only">40% Complete (success)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-info progress-bar-striped" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
<span class="sr-only">20% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
<span class="sr-only">60% Complete (warning)</span>
</div>
</div>
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
<span class="sr-only">80% Complete (danger)</span>
</div>
</div>
{% endhighlight %}
<h2 id="progress-animated">Animated</h2>
<p>Add <code>.active</code> to <code>.progress-bar-striped</code> to animate the stripes right to left. Not available in IE9 and below.</p>
<div class="bs-example" data-example-id="animated-progress-bar">
<div class="progress">
<div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%"><span class="sr-only">45% Complete</span></div>
</div>
<button type="button" class="btn btn-default bs-docs-activate-animated-progressbar" data-toggle="button" aria-pressed="false" autocomplete="off">Toggle animation</button>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%">
<span class="sr-only">45% Complete</span>
</div>
</div>
{% endhighlight %}
<h2 id="progress-stacked">Stacked</h2>
<p>Place multiple bars into the same <code>.progress</code> to stack them.</p>
<div class="bs-example" data-example-id="stacked-progress-bar">
<div class="progress">
<div class="progress-bar progress-bar-success" style="width: 35%">
<span class="sr-only">35% Complete (success)</span>
</div>
<div class="progress-bar progress-bar-warning progress-bar-striped" style="width: 20%">
<span class="sr-only">20% Complete (warning)</span>
</div>
<div class="progress-bar progress-bar-danger" style="width: 10%">
<span class="sr-only">10% Complete (danger)</span>
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar progress-bar-success" style="width: 35%">
<span class="sr-only">35% Complete (success)</span>
</div>
<div class="progress-bar progress-bar-warning progress-bar-striped" style="width: 20%">
<span class="sr-only">20% Complete (warning)</span>
</div>
<div class="progress-bar progress-bar-danger" style="width: 10%">
<span class="sr-only">10% Complete (danger)</span>
</div>
</div>
{% endhighlight %}
</div>
@@ -1,23 +0,0 @@
<div class="bs-docs-section">
<h1 id="responsive-embed" class="page-header">Responsive embed</h1>
<p>Allow browsers to determine video or slideshow dimensions based on the width of their containing block by creating an intrinsic ratio that will properly scale on any device.</p>
<p>Rules are directly applied to <code>&lt;iframe&gt;</code>, <code>&lt;embed&gt;</code>, <code>&lt;video&gt;</code>, and <code>&lt;object&gt;</code> elements; optionally use an explicit descendant class <code>.embed-responsive-item</code> when you want to match the styling for other attributes.</p>
<p><strong>Pro-Tip!</strong> You don't need to include <code>frameborder="0"</code> in your <code>&lt;iframe&gt;</code>s as we override that for you.</p>
<div class="bs-example" data-example-id="responsive-embed-16by9-iframe-youtube">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="//www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe>
</div>
</div>
{% highlight html %}
<!-- 16:9 aspect ratio -->
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="..."></iframe>
</div>
<!-- 4:3 aspect ratio -->
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item" src="..."></iframe>
</div>
{% endhighlight %}
</div>
-94
View File
@@ -1,94 +0,0 @@
<div class="bs-docs-section">
<h1 id="thumbnails" class="page-header">Thumbnails</h1>
<p class="lead">Extend Bootstrap's <a href="../css/#grid">grid system</a> with the thumbnail component to easily display grids of images, videos, text, and more.</p>
<p>If you're looking for Pinterest-like presentation of thumbnails of varying heights and/or widths, you'll need to use a third-party plugin such as <a href="http://masonry.desandro.com">Masonry</a>, <a href="http://isotope.metafizzy.co">Isotope</a>, or <a href="http://salvattore.com">Salvattore</a>.</p>
<h2 id="thumbnails-default">Default example</h2>
<p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
<div class="bs-example" data-example-id="simple-thumbnails">
<div class="row">
<div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail">
<img data-src="holder.js/100%x180" alt="Generic placeholder thumbnail">
</a>
</div>
<div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail">
<img data-src="holder.js/100%x180" alt="Generic placeholder thumbnail">
</a>
</div>
<div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail">
<img data-src="holder.js/100%x180" alt="Generic placeholder thumbnail">
</a>
</div>
<div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail">
<img data-src="holder.js/100%x180" alt="Generic placeholder thumbnail">
</a>
</div>
</div>
</div><!-- /.bs-example -->
{% highlight html %}
<div class="row">
<div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail">
<img src="..." alt="...">
</a>
</div>
...
</div>
{% endhighlight %}
<h2 id="thumbnails-custom-content">Custom content</h2>
<p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
<div class="bs-example" data-example-id="thumbnails-with-custom-content">
<div class="row">
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img data-src="holder.js/100%x200" alt="Generic placeholder thumbnail">
<div class="caption">
<h3>Thumbnail label</h3>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a href="#" class="btn btn-primary" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
</div>
</div>
</div>
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img data-src="holder.js/100%x200" alt="Generic placeholder thumbnail">
<div class="caption">
<h3>Thumbnail label</h3>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a href="#" class="btn btn-primary" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
</div>
</div>
</div>
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img data-src="holder.js/100%x200" alt="Generic placeholder thumbnail">
<div class="caption">
<h3>Thumbnail label</h3>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a href="#" class="btn btn-primary" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
</div>
</div>
</div>
</div>
</div><!-- /.bs-example -->
{% highlight html %}
<div class="row">
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img src="..." alt="...">
<div class="caption">
<h3>Thumbnail label</h3>
<p>...</p>
<p><a href="#" class="btn btn-primary" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
</div>
</div>
</div>
</div>
{% endhighlight %}
</div>
-33
View File
@@ -1,33 +0,0 @@
<div class="bs-docs-section">
<h1 id="wells" class="page-header">Wells</h1>
<h2>Default well</h2>
<p>Use the well as a simple effect on an element to give it an inset effect.</p>
<div class="bs-example" data-example-id="default-well">
<div class="well">
Look, I'm in a well!
</div>
</div>
{% highlight html %}
<div class="well">...</div>
{% endhighlight %}
<h2>Optional classes</h2>
<p>Control padding and rounded corners with two optional modifier classes.</p>
<div class="bs-example" data-example-id="large-well">
<div class="well well-lg">
Look, I'm in a large well!
</div>
</div>
{% highlight html %}
<div class="well well-lg">...</div>
{% endhighlight %}
<div class="bs-example" data-example-id="small-well">
<div class="well well-sm">
Look, I'm in a small well!
</div>
</div>
{% highlight html %}
<div class="well well-sm">...</div>
{% endhighlight %}
</div>
-189
View File
@@ -1,189 +0,0 @@
<div class="bs-docs-section">
<h1 id="buttons" class="page-header">Buttons</h1>
<h2 id="buttons-tags">Button tags</h2>
<p>Use the button classes on an <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, or <code>&lt;input&gt;</code> element.</p>
<form class="bs-example" data-example-id="btn-tags">
<a class="btn btn-default" href="#" role="button">Link</a>
<button class="btn btn-default" type="submit">Button</button>
<input class="btn btn-default" type="button" value="Input">
<input class="btn btn-default" type="submit" value="Submit">
</form>
{% highlight html %}
<a class="btn btn-default" href="#" role="button">Link</a>
<button class="btn btn-default" type="submit">Button</button>
<input class="btn btn-default" type="button" value="Input">
<input class="btn btn-default" type="submit" value="Submit">
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-buttons-context-usage">
<h4>Context-specific usage</h4>
<p>While button classes can be used on <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements, only <code>&lt;button&gt;</code> elements are supported within our nav and navbar components.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-buttons-anchor-accessibility">
<h4>Links acting as buttons</h4>
<p>If the <code>&lt;a&gt;</code> elements are used to act as buttons triggering in-page functionality, rather than navigating to another document or section within the current page they should also be given an appropriate <code>role="button"</code>.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-buttons-ff-height">
<h4>Cross-browser rendering</h4>
<p>As a best practice, <strong>we highly recommend using the <code>&lt;button&gt;</code> element whenever possible</strong> to ensure matching cross-browser rendering.</p>
<p>Among other things, there's <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=697451">a bug in Firefox &lt;30</a> that prevents us from setting the <code>line-height</code> of <code>&lt;input&gt;</code>-based buttons, causing them to not exactly match the height of other buttons on Firefox.</p>
</div>
<h2 id="buttons-options">Options</h2>
<p>Use any of the available button classes to quickly create a styled button.</p>
<div class="bs-example" data-example-id="btn-variants">
<button type="button" class="btn btn-default">Default</button>
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-link">Link</button>
</div>
{% highlight html %}
<!-- Standard button -->
<button type="button" class="btn btn-default">Default</button>
<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->
<button type="button" class="btn btn-primary">Primary</button>
<!-- Indicates a successful or positive action -->
<button type="button" class="btn btn-success">Success</button>
<!-- Contextual button for informational alert messages -->
<button type="button" class="btn btn-info">Info</button>
<!-- Indicates caution should be taken with this action -->
<button type="button" class="btn btn-warning">Warning</button>
<!-- Indicates a dangerous or potentially negative action -->
<button type="button" class="btn btn-danger">Danger</button>
<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->
<button type="button" class="btn btn-link">Link</button>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-buttons-color-accessibility">
<h4>Conveying meaning to assistive technologies</h4>
<p>Using color to add meaning to a button only provides a visual indication, which will not be conveyed to users of assistive technologies such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the visible text of the button), or is included through alternative means, such as additional text hidden with the <code>.sr-only</code> class.</p>
</div>
<h2 id="buttons-sizes">Sizes</h2>
<p>Fancy larger or smaller buttons? Add <code>.btn-lg</code>, <code>.btn-sm</code>, or <code>.btn-xs</code> for additional sizes.</p>
<div class="bs-example" data-example-id="btn-sizes">
<p>
<button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-default btn-lg">Large button</button>
</p>
<p>
<button type="button" class="btn btn-primary">Default button</button>
<button type="button" class="btn btn-default">Default button</button>
</p>
<p>
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-default btn-sm">Small button</button>
</p>
<p>
<button type="button" class="btn btn-primary btn-xs">Extra small button</button>
<button type="button" class="btn btn-default btn-xs">Extra small button</button>
</p>
</div>
{% highlight html %}
<p>
<button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-default btn-lg">Large button</button>
</p>
<p>
<button type="button" class="btn btn-primary">Default button</button>
<button type="button" class="btn btn-default">Default button</button>
</p>
<p>
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-default btn-sm">Small button</button>
</p>
<p>
<button type="button" class="btn btn-primary btn-xs">Extra small button</button>
<button type="button" class="btn btn-default btn-xs">Extra small button</button>
</p>
{% endhighlight %}
<p>Create block level buttons&mdash;those that span the full width of a parent&mdash; by adding <code>.btn-block</code>.</p>
<div class="bs-example" data-example-id="block-btns">
<div class="well center-block" style="max-width: 400px;">
<button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button>
<button type="button" class="btn btn-default btn-lg btn-block">Block level button</button>
</div>
</div>
{% highlight html %}
<button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button>
<button type="button" class="btn btn-default btn-lg btn-block">Block level button</button>
{% endhighlight %}
<h2 id="buttons-active">Active state</h2>
<p>Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. For <code>&lt;button&gt;</code> elements, this is done via <code>:active</code>. For <code>&lt;a&gt;</code> elements, it's done with <code>.active</code>. However, you may use <code>.active</code> on <code>&lt;button&gt;</code>s (and include the <code>aria-pressed="true"</code> attribute) should you need to replicate the active state programmatically.</p>
<h3>Button element</h3>
<p>No need to add <code>:active</code> as it's a pseudo-class, but if you need to force the same appearance, go ahead and add <code>.active</code>.</p>
<p class="bs-example" data-example-id="active-button-btns">
<button type="button" class="btn btn-primary btn-lg active">Primary button</button>
<button type="button" class="btn btn-default btn-lg active">Button</button>
</p>
{% highlight html %}
<button type="button" class="btn btn-primary btn-lg active">Primary button</button>
<button type="button" class="btn btn-default btn-lg active">Button</button>
{% endhighlight %}
<h3>Anchor element</h3>
<p>Add the <code>.active</code> class to <code>&lt;a&gt;</code> buttons.</p>
<p class="bs-example" data-example-id="active-anchor-btns">
<a href="#" class="btn btn-primary btn-lg active" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg active" role="button">Link</a>
</p>
{% highlight html %}
<a href="#" class="btn btn-primary btn-lg active" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg active" role="button">Link</a>
{% endhighlight %}
<h2 id="buttons-disabled">Disabled state</h2>
<p>Make buttons look unclickable by fading them back with <code>opacity</code>.</p>
<h3>Button element</h3>
<p>Add the <code>disabled</code> attribute to <code>&lt;button&gt;</code> buttons.</p>
<p class="bs-example" data-example-id="disabled-button-btns">
<button type="button" class="btn btn-primary btn-lg" disabled="disabled">Primary button</button>
<button type="button" class="btn btn-default btn-lg" disabled="disabled">Button</button>
</p>
{% highlight html %}
<button type="button" class="btn btn-lg btn-primary" disabled="disabled">Primary button</button>
<button type="button" class="btn btn-default btn-lg" disabled="disabled">Button</button>
{% endhighlight %}
<div class="bs-callout bs-callout-danger" id="callout-buttons-ie-disabled">
<h4>Cross-browser compatibility</h4>
<p>If you add the <code>disabled</code> attribute to a <code>&lt;button&gt;</code>, Internet Explorer 9 and below will render text gray with a nasty text-shadow that we cannot fix.</p>
</div>
<h3>Anchor element</h3>
<p>Add the <code>.disabled</code> class to <code>&lt;a&gt;</code> buttons.</p>
<p class="bs-example" data-example-id="disabled-anchor-btns">
<a href="#" class="btn btn-primary btn-lg disabled" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg disabled" role="button">Link</a>
</p>
{% highlight html %}
<a href="#" class="btn btn-primary btn-lg disabled" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg disabled" role="button">Link</a>
{% endhighlight %}
<p>
We use <code>.disabled</code> as a utility class here, similar to the common <code>.active</code> class, so no prefix is required.
</p>
<div class="bs-callout bs-callout-warning" id="callout-buttons-disabled-anchor">
<h4>Link functionality caveat</h4>
<p>This class uses <code>pointer-events: none</code> to try to disable the link functionality of <code>&lt;a&gt;</code>s, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. In addition, even in browsers that do support <code>pointer-events: none</code>, keyboard navigation remains unaffected, meaning that sighted keyboard users and users of assistive technologies will still be able to activate these links. So to be safe, use custom JavaScript to disable such links.</p>
</div>
</div>
-52
View File
@@ -1,52 +0,0 @@
<div class="bs-docs-section">
<h1 id="code" class="page-header">Code</h1>
<h2 id="code-inline">Inline</h2>
<p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p>
<div class="bs-example" data-example-id="inline-code">
For example, <code>&lt;section&gt;</code> should be wrapped as inline.
</div>
{% highlight html %}
For example, <code>&lt;section&gt;</code> should be wrapped as inline.
{% endhighlight %}
<h2 id="code-user-input">User input</h2>
<p>Use the <code>&lt;kbd&gt;</code> to indicate input that is typically entered via keyboard.</p>
<div class="bs-example" data-example-id="simple-kbd">
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
</div>
{% highlight html %}
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
{% endhighlight %}
<h2 id="code-block">Basic block</h2>
<p>Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.</p>
<div class="bs-example" data-example-id="simple-pre">
<pre>&lt;p&gt;Sample text here...&lt;/p&gt;</pre>
</div>
{% highlight html %}
<pre>&lt;p&gt;Sample text here...&lt;/p&gt;</pre>
{% endhighlight %}
<p>You may optionally add the <code>.pre-scrollable</code> class, which will set a max-height of 350px and provide a y-axis scrollbar.</p>
<h2 id="code-variables">Variables</h2>
<p>For indicating variables use the <code>&lt;var&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-var">
<p><var>y</var> = <var>m</var><var>x</var> + <var>b</var></p>
</div>
{% highlight html %}
<var>y</var> = <var>m</var><var>x</var> + <var>b</var>
{% endhighlight %}
<h2 id="code-sample-output">Sample output</h2>
<p>For indicating blocks sample output from a program use the <code>&lt;samp&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-samp">
<p><samp>This text is meant to be treated as sample output from a computer program.</samp></p>
</div>
{% highlight html %}
<samp>This text is meant to be treated as sample output from a computer program.</samp>
{% endhighlight %}
</div>
File diff suppressed because it is too large Load Diff
-549
View File
@@ -1,549 +0,0 @@
<div class="bs-docs-section">
<h1 id="grid" class="page-header">Grid system</h1>
<p class="lead">Bootstrap includes a responsive, mobile first fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases. It includes <a href="#grid-example-basic">predefined classes</a> for easy layout options, as well as powerful <a href="#grid-less">mixins for generating more semantic layouts</a>.</p>
<h2 id="grid-intro">Introduction</h2>
<p>Grid systems are used for creating page layouts through a series of rows and columns that house your content. Here's how the Bootstrap grid system works:</p>
<ul>
<li>Rows must be placed within a <code>.container</code> (fixed-width) or <code>.container-fluid</code> (full-width) for proper alignment and padding.</li>
<li>Use rows to create horizontal groups of columns.</li>
<li>Content should be placed within columns, and only columns may be immediate children of rows.</li>
<li>Predefined grid classes like <code>.row</code> and <code>.col-xs-4</code> are available for quickly making grid layouts. Less mixins can also be used for more semantic layouts.</li>
<li>Columns create gutters (gaps between column content) via <code>padding</code>. That padding is offset in rows for the first and last column via negative margin on <code>.row</code>s.</li>
<li>The negative margin is why the examples below are outdented. It's so that content within grid columns is lined up with non-grid content.</li>
<li>Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three <code>.col-xs-4</code>.</li>
<li>If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.</li>
<li>Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, e.g. applying any <code>.col-md-*</code> class to an element will not only affect its styling on medium devices but also on large devices if a <code>.col-lg-*</code> class is not present.</li>
</ul>
<p>Look to the examples for applying these principles to your code.</p>
<h2 id="grid-media-queries">Media queries</h2>
<p>We use the following media queries in our Less files to create the key breakpoints in our grid system.</p>
{% highlight scss %}
/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) { ... }
/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) { ... }
/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) { ... }
{% endhighlight %}
<p>We occasionally expand on these media queries to include a <code>max-width</code> to limit CSS to a narrower set of devices.</p>
{% highlight scss %}
@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }
{% endhighlight %}
<h2 id="grid-options">Grid options</h2>
<p>See how aspects of the Bootstrap grid system work across multiple devices with a handy table.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th></th>
<th>
Extra small devices
<small>Phones (&lt;768px)</small>
</th>
<th>
Small devices
<small>Tablets (&ge;768px)</small>
</th>
<th>
Medium devices
<small>Desktops (&ge;992px)</small>
</th>
<th>
Large devices
<small>Desktops (&ge;1200px)</small>
</th>
</tr>
</thead>
<tbody>
<tr>
<th class="text-nowrap" scope="row">Grid behavior</th>
<td>Horizontal at all times</td>
<td colspan="3">Collapsed to start, horizontal above breakpoints</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Container width</th>
<td>None (auto)</td>
<td>750px</td>
<td>970px</td>
<td>1170px</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Class prefix</th>
<td><code>.col-xs-</code></td>
<td><code>.col-sm-</code></td>
<td><code>.col-md-</code></td>
<td><code>.col-lg-</code></td>
</tr>
<tr>
<th class="text-nowrap" scope="row"># of columns</th>
<td colspan="4">12</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Column width</th>
<td class="text-muted">Auto</td>
<td>~62px</td>
<td>~81px</td>
<td>~97px</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Gutter width</th>
<td colspan="4">30px (15px on each side of a column)</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Nestable</th>
<td colspan="4">Yes</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Offsets</th>
<td colspan="4">Yes</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">Column ordering</th>
<td colspan="4">Yes</td>
</tr>
</tbody>
</table>
</div>
<h2 id="grid-example-basic">Example: Stacked-to-horizontal</h2>
<p>Using a single set of <code>.col-md-*</code> grid classes, you can create a basic grid system that starts out stacked on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium) devices. Place grid columns in any <code>.row</code>.</p>
<div class="row show-grid">
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row show-grid">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row show-grid">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row show-grid">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
{% endhighlight %}
<h2 id="grid-example-fluid">Example: Fluid container</h2>
<p>Turn any fixed-width grid layout into a full-width layout by changing your outermost <code>.container</code> to <code>.container-fluid</code>.</p>
{% highlight html %}
<div class="container-fluid">
<div class="row">
...
</div>
</div>
{% endhighlight %}
<h2 id="grid-example-mixed">Example: Mobile and desktop</h2>
<p>Don't want your columns to simply stack in smaller devices? Use the extra small and medium device grid classes by adding <code>.col-xs-*</code> <code>.col-md-*</code> to your columns. See the example below for a better idea of how it all works.</p>
<div class="row show-grid">
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row show-grid">
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row show-grid">
<div class="col-xs-6">.col-xs-6</div>
<div class="col-xs-6">.col-xs-6</div>
</div>
{% highlight html %}
<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class="row">
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<!-- Columns are always 50% wide, on mobile and desktop -->
<div class="row">
<div class="col-xs-6">.col-xs-6</div>
<div class="col-xs-6">.col-xs-6</div>
</div>
{% endhighlight %}
<h2 id="grid-example-mixed-complete">Example: Mobile, tablet, desktop</h2>
<p>Build on the previous example by creating even more dynamic and powerful layouts with tablet <code>.col-sm-*</code> classes.</p>
<div class="row show-grid">
<div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row show-grid">
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
<!-- Optional: clear the XS cols if their content doesn't match in height -->
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
<!-- Optional: clear the XS cols if their content doesn't match in height -->
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
</div>
{% endhighlight %}
<h2 id="grid-example-wrapping">Example: Column wrapping</h2>
<p>If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.</p>
<div class="row show-grid">
<div class="col-xs-9">.col-xs-9</div>
<div class="col-xs-4">.col-xs-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
<div class="col-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-xs-9">.col-xs-9</div>
<div class="col-xs-4">.col-xs-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
<div class="col-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div>
</div>
{% endhighlight %}
<h2 id="grid-responsive-resets">Responsive column resets</h2>
<p>With the four tiers of grids available you're bound to run into issues where, at certain breakpoints, your columns don't clear quite right as one is taller than the other. To fix that, use a combination of a <code>.clearfix</code> and our <a href="#responsive-utilities">responsive utility classes</a>.</p>
<div class="row show-grid">
<div class="col-xs-6 col-sm-3">
.col-xs-6 .col-sm-3
<br>
Resize your viewport or check it out on your phone for an example.
</div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<!-- Add the extra clearfix for only the required viewport -->
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<!-- Add the extra clearfix for only the required viewport -->
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
</div>
{% endhighlight %}
<p>In addition to column clearing at responsive breakpoints, you may need to <strong>reset offsets, pushes, or pulls</strong>. See this in action in <a href="../examples/grid/">the grid example</a>.</p>
{% highlight html %}
<div class="row">
<div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
<div class="col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0">.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div>
</div>
<div class="row">
<div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
<div class="col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0">.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div>
</div>
{% endhighlight %}
<h2 id="grid-offsetting">Offsetting columns</h2>
<p>Move columns to the right using <code>.col-md-offset-*</code> classes. These classes increase the left margin of a column by <code>*</code> columns. For example, <code>.col-md-offset-4</code> moves <code>.col-md-4</code> over four columns.</p>
<div class="row show-grid">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
</div>
<div class="row show-grid">
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
</div>
<div class="row show-grid">
<div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
</div>
<div class="row">
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
</div>
<div class="row">
<div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
</div>
{% endhighlight %}
<h2 id="grid-nesting">Nesting columns</h2>
<p>To nest your content with the default grid, add a new <code>.row</code> and set of <code>.col-sm-*</code> columns within an existing <code>.col-sm-*</code> column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).</p>
<div class="row show-grid">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row show-grid">
<div class="col-xs-8 col-sm-6">
Level 2: .col-xs-8 .col-sm-6
</div>
<div class="col-xs-4 col-sm-6">
Level 2: .col-xs-4 .col-sm-6
</div>
</div>
</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-xs-8 col-sm-6">
Level 2: .col-xs-8 .col-sm-6
</div>
<div class="col-xs-4 col-sm-6">
Level 2: .col-xs-4 .col-sm-6
</div>
</div>
</div>
</div>
{% endhighlight %}
<h2 id="grid-column-ordering">Column ordering</h2>
<p>Easily change the order of our built-in grid columns with <code>.col-md-push-*</code> and <code>.col-md-pull-*</code> modifier classes.</p>
<div class="row show-grid">
<div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
<div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
</div>
{% highlight html %}
<div class="row">
<div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
<div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
</div>
{% endhighlight %}
<h2 id="grid-less">Less mixins and variables</h2>
<p>In addition to <a href="#grid-example-basic">prebuilt grid classes</a> for fast layouts, Bootstrap includes Less variables and mixins for quickly generating your own simple, semantic layouts.</p>
<h3>Variables</h3>
<p>Variables determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.</p>
{% highlight scss %}
@grid-columns: 12;
@grid-gutter-width: 30px;
@grid-float-breakpoint: 768px;
{% endhighlight %}
<h3>Mixins</h3>
<p>Mixins are used in conjunction with the grid variables to generate semantic CSS for individual grid columns.</p>
{% highlight scss %}
// Creates a wrapper for a series of columns
.make-row(@gutter: @grid-gutter-width) {
// Then clear the floated columns
.clearfix();
@media (min-width: @screen-sm-min) {
margin-left: (@gutter / -2);
margin-right: (@gutter / -2);
}
// Negative margin nested rows out to align the content of columns
.row {
margin-left: (@gutter / -2);
margin-right: (@gutter / -2);
}
}
// Generate the extra small columns
.make-xs-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @grid-float-breakpoint) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the small columns
.make-sm-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @screen-sm-min) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the small column offsets
.make-sm-column-offset(@columns) {
@media (min-width: @screen-sm-min) {
margin-left: percentage((@columns / @grid-columns));
}
}
.make-sm-column-push(@columns) {
@media (min-width: @screen-sm-min) {
left: percentage((@columns / @grid-columns));
}
}
.make-sm-column-pull(@columns) {
@media (min-width: @screen-sm-min) {
right: percentage((@columns / @grid-columns));
}
}
// Generate the medium columns
.make-md-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @screen-md-min) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the medium column offsets
.make-md-column-offset(@columns) {
@media (min-width: @screen-md-min) {
margin-left: percentage((@columns / @grid-columns));
}
}
.make-md-column-push(@columns) {
@media (min-width: @screen-md-min) {
left: percentage((@columns / @grid-columns));
}
}
.make-md-column-pull(@columns) {
@media (min-width: @screen-md-min) {
right: percentage((@columns / @grid-columns));
}
}
// Generate the large columns
.make-lg-column(@columns; @gutter: @grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
// Calculate width based on number of columns available
@media (min-width: @screen-lg-min) {
float: left;
width: percentage((@columns / @grid-columns));
}
}
// Generate the large column offsets
.make-lg-column-offset(@columns) {
@media (min-width: @screen-lg-min) {
margin-left: percentage((@columns / @grid-columns));
}
}
.make-lg-column-push(@columns) {
@media (min-width: @screen-lg-min) {
left: percentage((@columns / @grid-columns));
}
}
.make-lg-column-pull(@columns) {
@media (min-width: @screen-lg-min) {
right: percentage((@columns / @grid-columns));
}
}
{% endhighlight %}
<h3>Example usage</h3>
<p>You can modify the variables to your own custom values, or just use the mixins with their default values. Here's an example of using the default settings to create a two-column layout with a gap between.</p>
{% highlight scss %}
.wrapper {
.make-row();
}
.content-main {
.make-lg-column(8);
}
.content-secondary {
.make-lg-column(3);
.make-lg-column-offset(1);
}
{% endhighlight %}
{% highlight html %}
<div class="wrapper">
<div class="content-main">...</div>
<div class="content-secondary">...</div>
</div>
{% endhighlight %}
</div>
-207
View File
@@ -1,207 +0,0 @@
<div class="bs-docs-section">
<h1 id="helper-classes" class="page-header">Helper classes</h1>
<h3 id="helper-classes-colors">Contextual colors</h3>
<p>Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.</p>
<div class="bs-example" data-example-id="contextual-colors-helpers">
<p class="text-muted">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p>
<p class="text-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
<p class="text-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
<p class="text-warning">Etiam porta sem malesuada magna mollis euismod.</p>
<p class="text-danger">Donec ullamcorper nulla non metus auctor fringilla.</p>
</div>
{% highlight html %}
<p class="text-muted">...</p>
<p class="text-primary">...</p>
<p class="text-success">...</p>
<p class="text-info">...</p>
<p class="text-warning">...</p>
<p class="text-danger">...</p>
{% endhighlight %}
<div class="bs-callout bs-callout-info" id="callout-helper-context-color-specificity">
<h4>Dealing with specificity</h4>
<p>Sometimes emphasis classes cannot be applied due to the specificity of another selector. In most cases, a sufficient workaround is to wrap your text in a <code>&lt;span&gt;</code> with the class.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-helper-context-color-accessibility">
<h4>Conveying meaning to assistive technologies</h4>
<p>Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the contextual colors are only used to reinforce meaning that is already present in the text/markup), or is included through alternative means, such as additional text hidden with the <code>.sr-only</code> class.</p>
</div>
<h3 id="helper-classes-backgrounds">Contextual backgrounds</h3>
<p>Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.</p>
<div class="bs-example bs-example-bg-classes" data-example-id="contextual-backgrounds-helpers">
<p class="bg-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p class="bg-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
<p class="bg-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
<p class="bg-warning">Etiam porta sem malesuada magna mollis euismod.</p>
<p class="bg-danger">Donec ullamcorper nulla non metus auctor fringilla.</p>
</div>
{% highlight html %}
<p class="bg-primary">...</p>
<p class="bg-success">...</p>
<p class="bg-info">...</p>
<p class="bg-warning">...</p>
<p class="bg-danger">...</p>
{% endhighlight %}
<div class="bs-callout bs-callout-info" id="callout-helper-bg-specificity">
<h4>Dealing with specificity</h4>
<p>Sometimes contextual background classes cannot be applied due to the specificity of another selector. In some cases, a sufficient workaround is to wrap your element's content in a <code>&lt;div&gt;</code> with the class.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-helper-bg-accessibility">
<h4>Conveying meaning to assistive technologies</h4>
<p>As with <a href="#helper-classes-colors">contextual colors</a>, ensure that any meaning conveyed through color is also conveyed in a format that is not purely presentational.</p>
</div>
<h3 id="helper-classes-close">Close icon</h3>
<p>Use the generic close icon for dismissing content like modals and alerts.</p>
<div class="bs-example" data-example-id="close-icon">
<p><button type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button></p>
</div>
{% highlight html %}
<button type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
{% endhighlight %}
<h3 id="helper-classes-carets">Carets</h3>
<p>Use carets to indicate dropdown functionality and direction. Note that the default caret will reverse automatically in <a href="../components/#btn-dropdowns-dropup">dropup menus</a>.</p>
<div class="bs-example" data-example-id="caret">
<span class="caret"></span>
</div>
{% highlight html %}
<span class="caret"></span>
{% endhighlight %}
<h3 id="helper-classes-floats">Quick floats</h3>
<p>Float an element to the left or right with a class. <code>!important</code> is included to avoid specificity issues. Classes can also be used as mixins.</p>
{% highlight html %}
<div class="pull-left">...</div>
<div class="pull-right">...</div>
{% endhighlight %}
{% highlight scss %}
// Classes
.pull-left {
float: left !important;
}
.pull-right {
float: right !important;
}
// Usage as mixins
.element {
.pull-left();
}
.another-element {
.pull-right();
}
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-helper-pull-navbar">
<h4>Not for use in navbars</h4>
<p>To align components in navbars with utility classes, use <code>.navbar-left</code> or <code>.navbar-right</code> instead. <a href="../components/#navbar-component-alignment">See the navbar docs</a> for details.</p>
</div>
<h3 id="helper-classes-center">Center content blocks</h3>
<p>Set an element to <code>display: block</code> and center via <code>margin</code>. Available as a mixin and class.</p>
{% highlight html %}
<div class="center-block">...</div>
{% endhighlight %}
{% highlight scss %}
// Class
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
// Usage as a mixin
.element {
.center-block();
}
{% endhighlight %}
<h3 id="helper-classes-clearfix">Clearfix</h3>
<p>Easily clear <code>float</code>s by adding <code>.clearfix</code> <strong>to the parent element</strong>. Utilizes <a href="http://nicolasgallagher.com/micro-clearfix-hack/">the micro clearfix</a> as popularized by Nicolas Gallagher. Can also be used as a mixin.</p>
{% highlight html %}
<!-- Usage as a class -->
<div class="clearfix">...</div>
{% endhighlight %}
{% highlight scss %}
// Mixin itself
.clearfix() {
&:before,
&:after {
content: " ";
display: table;
}
&:after {
clear: both;
}
}
// Usage as a mixin
.element {
.clearfix();
}
{% endhighlight %}
<h3 id="helper-classes-show-hide">Showing and hiding content</h3>
<p>Force an element to be shown or hidden (<strong>including for screen readers</strong>) with the use of <code>.show</code> and <code>.hidden</code> classes. These classes use <code>!important</code> to avoid specificity conflicts, just like the <a href="#helper-classes-floats">quick floats</a>. They are only available for block level toggling. They can also be used as mixins.</p>
<p><code>.hide</code> is available, but it does not always affect screen readers and is <strong>deprecated</strong> as of v3.0.1. Use <code>.hidden</code> or <code>.sr-only</code> instead.</p>
<p>Furthermore, <code>.invisible</code> can be used to toggle only the visibility of an element, meaning its <code>display</code> is not modified and the element can still affect the flow of the document.</p>
{% highlight html %}
<div class="show">...</div>
<div class="hidden">...</div>
{% endhighlight %}
{% highlight scss %}
// Classes
.show {
display: block !important;
}
.hidden {
display: none !important;
}
.invisible {
visibility: hidden;
}
// Usage as mixins
.element {
.show();
}
.another-element {
.hidden();
}
{% endhighlight %}
<h3 id="helper-classes-screen-readers">Screen reader and keyboard navigation content</h3>
<p>Hide an element to all devices <strong>except screen readers</strong> with <code>.sr-only</code>. Combine <code>.sr-only</code> with <code>.sr-only-focusable</code> to show the element again when it's focused (e.g. by a keyboard-only user). Necessary for following <a href="../getting-started/#accessibility">accessibility best practices</a>. Can also be used as mixins.</p>
{% highlight html %}
<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a>
{% endhighlight %}
{% highlight scss %}
// Usage as a mixin
.skip-navigation {
.sr-only();
.sr-only-focusable();
}
{% endhighlight %}
<h3 id="helper-classes-image-replacement">Image replacement</h3>
<p>Utilize the <code>.text-hide</code> class or mixin to help replace an element's text content with a background image.</p>
{% highlight html %}
<h1 class="text-hide">Custom heading</h1>
{% endhighlight %}
{% highlight scss %}
// Usage as a mixin
.heading {
.text-hide();
}
{% endhighlight %}
</div>
-31
View File
@@ -1,31 +0,0 @@
<div class="bs-docs-section">
<h1 id="images" class="page-header">Images</h1>
<h2 id="images-responsive">Responsive images</h2>
<p>Images in Bootstrap 3 can be made responsive-friendly via the addition of the <code>.img-responsive</code> class. This applies <code>max-width: 100%;</code>, <code>height: auto;</code> and <code>display: block;</code> to the image so that it scales nicely to the parent element.</p>
<p>To center images which use the <code>.img-responsive</code> class, use <code>.center-block</code> instead of <code>.text-center</code>. <a href="../css/#helper-classes-center">See the helper classes section</a> for more details about <code>.center-block</code> usage.</p>
<div class="bs-callout bs-callout-warning" id="callout-images-ie-svg">
<h4>SVG images and IE 8-10</h4>
<p>In Internet Explorer 8-10, SVG images with <code>.img-responsive</code> are disproportionately sized. To fix this, add <code>width: 100% \9;</code> where necessary. Bootstrap doesn't apply this automatically as it causes complications to other image formats.</p>
</div>
{% highlight html %}
<img src="..." class="img-responsive" alt="Responsive image">
{% endhighlight %}
<h2 id="images-shapes">Image shapes</h2>
<p>Add classes to an <code>&lt;img&gt;</code> element to easily style images in any project.</p>
<div class="bs-callout bs-callout-danger" id="callout-images-ie-rounded-corners">
<h4>Cross-browser compatibility</h4>
<p>Keep in mind that Internet Explorer 8 lacks support for rounded corners.</p>
</div>
<div class="bs-example bs-example-images" data-example-id="image-shapes">
<img data-src="holder.js/140x140" class="img-rounded" alt="A generic square placeholder image with rounded corners">
<img data-src="holder.js/140x140" class="img-circle" alt="A generic square placeholder image where only the portion within the circle circumscribed about said square is visible">
<img data-src="holder.js/140x140" class="img-thumbnail" alt="A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera">
</div>
{% highlight html %}
<img src="..." alt="..." class="img-rounded">
<img src="..." alt="..." class="img-circle">
<img src="..." alt="..." class="img-thumbnail">
{% endhighlight %}
</div>
-499
View File
@@ -1,499 +0,0 @@
<div class="bs-docs-section">
<h1 id="less" class="page-header">Using Less</h1>
<p class="lead">Bootstrap's CSS is built on Less, a preprocessor with additional functionality like variables, mixins, and functions for compiling CSS. Those looking to use the source Less files instead of our compiled CSS files can make use of the numerous variables and mixins we use throughout the framework.</p>
<p>Grid variables and mixins are covered <a href="#grid-less">within the Grid system section</a>.</p>
<h2 id="less-bootstrap">Compiling Bootstrap</h2>
<p>Bootstrap can be used in at least two ways: with the compiled CSS or with the source Less files. To compile the Less files, <a href="../getting-started/#grunt">consult the Getting Started section</a> for how to setup your development environment to run the necessary commands.</p>
<p>Third party compilation tools may work with Bootstrap, but they are not supported by our core team.</p>
<h2 id="less-variables">Variables</h2>
<p>Variables are used throughout the entire project as a way to centralize and share commonly used values like colors, spacing, or font stacks. For a complete breakdown, please see <a href="../customize/#less-variables-section">the Customizer</a>.</p>
<h3 id="less-variables-colors">Colors</h3>
<p>Easily make use of two color schemes: grayscale and semantic. Grayscale colors provide quick access to commonly used shades of black while semantic include various colors assigned to meaningful contextual values.</p>
<div class="bs-example">
<div class="color-swatches">
<div class="color-swatch gray-darker"></div>
<div class="color-swatch gray-dark"></div>
<div class="color-swatch gray"></div>
<div class="color-swatch gray-light"></div>
<div class="color-swatch gray-lighter"></div>
</div>
</div>
{% highlight scss %}
@gray-darker: lighten(#000, 13.5%); // #222
@gray-dark: lighten(#000, 20%); // #333
@gray: lighten(#000, 33.5%); // #555
@gray-light: lighten(#000, 46.7%); // #777
@gray-lighter: lighten(#000, 93.5%); // #eee
{% endhighlight %}
<div class="bs-example">
<div class="color-swatches">
<div class="color-swatch brand-primary"></div>
<div class="color-swatch brand-success"></div>
<div class="color-swatch brand-info"></div>
<div class="color-swatch brand-warning"></div>
<div class="color-swatch brand-danger"></div>
</div>
</div>
{% highlight scss %}
@brand-primary: darken(#428bca, 6.5%); // #337ab7
@brand-success: #5cb85c;
@brand-info: #5bc0de;
@brand-warning: #f0ad4e;
@brand-danger: #d9534f;
{% endhighlight %}
<p>Use any of these color variables as they are or reassign them to more meaningful variables for your project.</p>
{% highlight scss %}
// Use as-is
.masthead {
background-color: @brand-primary;
}
// Reassigned variables in Less
@alert-message-background: @brand-info;
.alert {
background-color: @alert-message-background;
}
{% endhighlight %}
<h3 id="less-variables-scaffolding">Scaffolding</h3>
<p>A handful of variables for quickly customizing key elements of your site's skeleton.</p>
{% highlight scss %}
// Scaffolding
@body-bg: #fff;
@text-color: @black-50;
{% endhighlight %}
<h3 id="less-variables-links">Links</h3>
<p>Easily style your links with the right color with only one value.</p>
{% highlight scss %}
// Variables
@link-color: @brand-primary;
@link-hover-color: darken(@link-color, 15%);
// Usage
a {
color: @link-color;
text-decoration: none;
&:hover {
color: @link-hover-color;
text-decoration: underline;
}
}
{% endhighlight %}
<p>Note that the <code>@link-hover-color</code> uses a function, another awesome tool from Less, to automagically create the right hover color. You can use <code>darken</code>, <code>lighten</code>, <code>saturate</code>, and <code>desaturate</code>.</p>
<h3 id="less-variables-typography">Typography</h3>
<p>Easily set your typeface, text size, leading, and more with a few quick variables. Bootstrap makes use of these as well to provide easy typographic mixins.</p>
{% highlight scss %}
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
@font-size-base: 14px;
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
@font-size-h1: floor((@font-size-base * 2.6)); // ~36px
@font-size-h2: floor((@font-size-base * 2.15)); // ~30px
@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px
@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
@font-size-h5: @font-size-base;
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
@line-height-base: 1.428571429; // 20/14
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
@headings-font-family: inherit;
@headings-font-weight: 500;
@headings-line-height: 1.1;
@headings-color: inherit;
{% endhighlight %}
<h3 id="less-variables-icons">Icons</h3>
<p>Two quick variables for customizing the location and filename of your icons.</p>
{% highlight scss %}
@icon-font-path: "../fonts/";
@icon-font-name: "glyphicons-halflings-regular";
{% endhighlight %}
<h3 id="less-variables-components">Components</h3>
<p>Components throughout Bootstrap make use of some default variables for setting common values. Here are the most commonly used.</p>
{% highlight scss %}
@padding-base-vertical: 6px;
@padding-base-horizontal: 12px;
@padding-large-vertical: 10px;
@padding-large-horizontal: 16px;
@padding-small-vertical: 5px;
@padding-small-horizontal: 10px;
@padding-xs-vertical: 1px;
@padding-xs-horizontal: 5px;
@line-height-large: 1.33;
@line-height-small: 1.5;
@border-radius-base: 4px;
@border-radius-large: 6px;
@border-radius-small: 3px;
@component-active-color: #fff;
@component-active-bg: @brand-primary;
@caret-width-base: 4px;
@caret-width-large: 5px;
{% endhighlight %}
<h2 id="less-mixins-vendor">Vendor mixins</h2>
<p>Vendor mixins are mixins to help support multiple browsers by including all relevant vendor prefixes in your compiled CSS.</p>
<h3 id="less-mixins-box-sizing">Box-sizing</h3>
<p>Reset your components' box model with a single mixin. For context, see this <a href="https://developer.mozilla.org/en-US/docs/CSS/box-sizing" target="_blank">helpful article from Mozilla</a>.</p>
<p>The mixin is <strong>deprecated</strong> as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixin internally until Bootstrap v4.</p>
{% highlight scss %}
.box-sizing(@box-model) {
-webkit-box-sizing: @box-model; // Safari <= 5
-moz-box-sizing: @box-model; // Firefox <= 19
box-sizing: @box-model;
}
{% endhighlight %}
<h3 id="less-mixins-rounded-corners">Rounded corners</h3>
<p>Today all modern browsers support the non-prefixed <code>border-radius</code> property. As such, there is no <code>.border-radius()</code> mixin, but Bootstrap does include shortcuts for quickly rounding two corners on a particular side of an object.</p>
{% highlight scss %}
.border-top-radius(@radius) {
border-top-right-radius: @radius;
border-top-left-radius: @radius;
}
.border-right-radius(@radius) {
border-bottom-right-radius: @radius;
border-top-right-radius: @radius;
}
.border-bottom-radius(@radius) {
border-bottom-right-radius: @radius;
border-bottom-left-radius: @radius;
}
.border-left-radius(@radius) {
border-bottom-left-radius: @radius;
border-top-left-radius: @radius;
}
{% endhighlight %}
<h3 id="less-mixins-box-shadow">Box (Drop) shadows</h3>
<p>If your target audience is using the latest and greatest browsers and devices, be sure to just use the <code>box-shadow</code> property on its own. If you need support for older Android (pre-v4) and iOS devices (pre-iOS 5), use the <strong>deprecated</strong> mixin to pick up the required <code>-webkit</code> prefix.</p>
<p>The mixin is <strong>deprecated</strong> as of v3.1.0, since Bootstrap doesn't officially support the outdated platforms that don't support the standard property. To preserve backwards-compatibility, Bootstrap will continue to use the mixin internally until Bootstrap v4.</p>
<p>Be sure to use <code>rgba()</code> colors in your box shadows so they blend as seamlessly as possible with backgrounds.</p>
{% highlight scss %}
.box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) {
-webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
box-shadow: @shadow;
}
{% endhighlight %}
<h3 id="less-mixins-transitions">Transitions</h3>
<p>Multiple mixins for flexibility. Set all transition information with one, or specify a separate delay and duration as needed.</p>
<p>The mixins are <strong>deprecated</strong> as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixins internally until Bootstrap v4.</p>
{% highlight scss %}
.transition(@transition) {
-webkit-transition: @transition;
transition: @transition;
}
.transition-property(@transition-property) {
-webkit-transition-property: @transition-property;
transition-property: @transition-property;
}
.transition-delay(@transition-delay) {
-webkit-transition-delay: @transition-delay;
transition-delay: @transition-delay;
}
.transition-duration(@transition-duration) {
-webkit-transition-duration: @transition-duration;
transition-duration: @transition-duration;
}
.transition-timing-function(@timing-function) {
-webkit-transition-timing-function: @timing-function;
transition-timing-function: @timing-function;
}
.transition-transform(@transition) {
-webkit-transition: -webkit-transform @transition;
-moz-transition: -moz-transform @transition;
-o-transition: -o-transform @transition;
transition: transform @transition;
}
{% endhighlight %}
<h3 id="less-mixins-transformations">Transformations</h3>
<p>Rotate, scale, translate (move), or skew any object.</p>
<p>The mixins are <strong>deprecated</strong> as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixins internally until Bootstrap v4.</p>
{% highlight scss %}
.rotate(@degrees) {
-webkit-transform: rotate(@degrees);
-ms-transform: rotate(@degrees); // IE9 only
transform: rotate(@degrees);
}
.scale(@ratio; @ratio-y...) {
-webkit-transform: scale(@ratio, @ratio-y);
-ms-transform: scale(@ratio, @ratio-y); // IE9 only
transform: scale(@ratio, @ratio-y);
}
.translate(@x; @y) {
-webkit-transform: translate(@x, @y);
-ms-transform: translate(@x, @y); // IE9 only
transform: translate(@x, @y);
}
.skew(@x; @y) {
-webkit-transform: skew(@x, @y);
-ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
transform: skew(@x, @y);
}
.translate3d(@x; @y; @z) {
-webkit-transform: translate3d(@x, @y, @z);
transform: translate3d(@x, @y, @z);
}
.rotateX(@degrees) {
-webkit-transform: rotateX(@degrees);
-ms-transform: rotateX(@degrees); // IE9 only
transform: rotateX(@degrees);
}
.rotateY(@degrees) {
-webkit-transform: rotateY(@degrees);
-ms-transform: rotateY(@degrees); // IE9 only
transform: rotateY(@degrees);
}
.perspective(@perspective) {
-webkit-perspective: @perspective;
-moz-perspective: @perspective;
perspective: @perspective;
}
.perspective-origin(@perspective) {
-webkit-perspective-origin: @perspective;
-moz-perspective-origin: @perspective;
perspective-origin: @perspective;
}
.transform-origin(@origin) {
-webkit-transform-origin: @origin;
-moz-transform-origin: @origin;
-ms-transform-origin: @origin; // IE9 only
transform-origin: @origin;
}
{% endhighlight %}
<h3 id="less-mixins-animations">Animations</h3>
<p>A single mixin for using all of CSS3's animation properties in one declaration and other mixins for individual properties.</p>
<p>The mixins are <strong>deprecated</strong> as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixins internally until Bootstrap v4.</p>
{% highlight scss %}
.animation(@animation) {
-webkit-animation: @animation;
animation: @animation;
}
.animation-name(@name) {
-webkit-animation-name: @name;
animation-name: @name;
}
.animation-duration(@duration) {
-webkit-animation-duration: @duration;
animation-duration: @duration;
}
.animation-timing-function(@timing-function) {
-webkit-animation-timing-function: @timing-function;
animation-timing-function: @timing-function;
}
.animation-delay(@delay) {
-webkit-animation-delay: @delay;
animation-delay: @delay;
}
.animation-iteration-count(@iteration-count) {
-webkit-animation-iteration-count: @iteration-count;
animation-iteration-count: @iteration-count;
}
.animation-direction(@direction) {
-webkit-animation-direction: @direction;
animation-direction: @direction;
}
{% endhighlight %}
<h3 id="less-mixins-opacity">Opacity</h3>
<p>Set the opacity for all browsers and provide a <code>filter</code> fallback for IE8.</p>
{% highlight scss %}
.opacity(@opacity) {
opacity: @opacity;
// IE8 filter
@opacity-ie: (@opacity * 100);
filter: ~"alpha(opacity=@{opacity-ie})";
}
{% endhighlight %}
<h3 id="less-mixins-placeholder">Placeholder text</h3>
<p>Provide context for form controls within each field.</p>
{% highlight scss %}
.placeholder(@color: @input-color-placeholder) {
&::-moz-placeholder { color: @color; } // Firefox
&:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
&::-webkit-input-placeholder { color: @color; } // Safari and Chrome
}
{% endhighlight %}
<h3 id="less-mixins-columns">Columns</h3>
<p>Generate columns via CSS within a single element.</p>
{% highlight scss %}
.content-columns(@width; @count; @gap) {
-webkit-column-width: @width;
-moz-column-width: @width;
column-width: @width;
-webkit-column-count: @count;
-moz-column-count: @count;
column-count: @count;
-webkit-column-gap: @gap;
-moz-column-gap: @gap;
column-gap: @gap;
}
{% endhighlight %}
<h3 id="less-mixins-gradients">Gradients</h3>
<p>Easily turn any two colors into a background gradient. Get more advanced and set a direction, use three colors, or use a radial gradient. With a single mixin you get all the prefixed syntaxes you'll need.</p>
{% highlight scss %}
#gradient > .vertical(#333; #000);
#gradient > .horizontal(#333; #000);
#gradient > .radial(#333; #000);
{% endhighlight %}
<p>You can also specify the angle of a standard two-color, linear gradient:</p>
{% highlight scss %}
#gradient > .directional(#333; #000; 45deg);
{% endhighlight %}
<p>If you need a barber-stripe style gradient, that's easy, too. Just specify a single color and we'll overlay a translucent white stripe.</p>
{% highlight scss %}
#gradient > .striped(#333; 45deg);
{% endhighlight %}
<p>Up the ante and use three colors instead. Set the first color, the second color, the second color's color stop (a percentage value like 25%), and the third color with these mixins:</p>
{% highlight scss %}
#gradient > .vertical-three-colors(#777; #333; 25%; #000);
#gradient > .horizontal-three-colors(#777; #333; 25%; #000);
{% endhighlight %}
<p><strong>Heads up!</strong> Should you ever need to remove a gradient, be sure to remove any IE-specific <code>filter</code> you may have added. You can do that by using the <code>.reset-filter()</code> mixin alongside <code>background-image: none;</code>.</p>
<h2 id="less-mixins-utility">Utility mixins</h2>
<p>Utility mixins are mixins that combine otherwise unrelated CSS properties to achieve a specific goal or task.</p>
<h3 id="less-mixins-clearfix">Clearfix</h3>
<p>Forget adding <code>class="clearfix"</code> to any element and instead add the <code>.clearfix()</code> mixin where appropriate. Uses the <a href="http://nicolasgallagher.com/micro-clearfix-hack/" target="_blank">micro clearfix</a> from <a href="https://twitter.com/necolas" target="_blank">Nicolas Gallagher</a>.</p>
{% highlight scss %}
// Mixin
.clearfix() {
&:before,
&:after {
content: " ";
display: table;
}
&:after {
clear: both;
}
}
// Usage
.container {
.clearfix();
}
{% endhighlight %}
<h3 id="less-mixins-centering">Horizontal centering</h3>
<p>Quickly center any element within its parent. <strong>Requires <code>width</code> or <code>max-width</code> to be set.</strong></p>
{% highlight scss %}
// Mixin
.center-block() {
display: block;
margin-left: auto;
margin-right: auto;
}
// Usage
.container {
width: 940px;
.center-block();
}
{% endhighlight %}
<h3 id="less-mixins-sizing">Sizing helpers</h3>
<p>Specify the dimensions of an object more easily.</p>
{% highlight scss %}
// Mixins
.size(@width; @height) {
width: @width;
height: @height;
}
.square(@size) {
.size(@size; @size);
}
// Usage
.image { .size(400px; 300px); }
.avatar { .square(48px); }
{% endhighlight %}
<h3 id="less-mixins-resizable">Resizable textareas</h3>
<p>Easily configure the resize options for any textarea, or any other element. Defaults to normal browser behavior (<code>both</code>).</p>
{% highlight scss %}
.resizable(@direction: both) {
// Options: horizontal, vertical, both
resize: @direction;
// Safari fix
overflow: auto;
}
{% endhighlight %}
<h3 id="less-mixins-truncating">Truncating text</h3>
<p>Easily truncate text with an ellipsis with a single mixin. <strong>Requires element to be <code>block</code> or <code>inline-block</code> level.</strong></p>
{% highlight scss %}
// Mixin
.text-overflow() {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// Usage
.branch-name {
display: inline-block;
max-width: 200px;
.text-overflow();
}
{% endhighlight %}
<h3 id="less-mixins-retina-images">Retina images</h3>
<p>Specify two image paths and the @1x image dimensions, and Bootstrap will provide an @2x media query. <strong>If you have many images to serve, consider writing your retina image CSS manually in a single media query.</strong></p>
{% highlight scss %}
.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
background-image: url("@{file-1x}");
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
background-image: url("@{file-2x}");
background-size: @width-1x @height-1x;
}
}
// Usage
.jumbotron {
.img-retina("/img/bg-1x.png", "/img/bg-2x.png", 100px, 100px);
}
{% endhighlight %}
</div>
-52
View File
@@ -1,52 +0,0 @@
<div class="bs-docs-section">
<h1 id="overview" class="page-header">Overview</h1>
<p class="lead">Get the lowdown on the key pieces of Bootstrap's infrastructure, including our approach to better, faster, stronger web development.</p>
<h2 id="overview-doctype">HTML5 doctype</h2>
<p>Bootstrap makes use of certain HTML elements and CSS properties that require the use of the HTML5 doctype. Include it at the beginning of all your projects.</p>
{% highlight html %}
<!DOCTYPE html>
<html lang="en">
...
</html>
{% endhighlight %}
<h2 id="overview-mobile">Mobile first</h2>
<p>With Bootstrap 2, we added optional mobile friendly styles for key aspects of the framework. With Bootstrap 3, we've rewritten the project to be mobile friendly from the start. Instead of adding on optional mobile styles, they're baked right into the core. In fact, <strong>Bootstrap is mobile first</strong>. Mobile first styles can be found throughout the entire library instead of in separate files.</p>
<p>To ensure proper rendering and touch zooming, <strong>add the viewport meta tag</strong> to your <code>&lt;head&gt;</code>.</p>
{% highlight html %}
<meta name="viewport" content="width=device-width, initial-scale=1">
{% endhighlight %}
<p>You can disable zooming capabilities on mobile devices by adding <code>user-scalable=no</code> to the viewport meta tag. This disables zooming, meaning users are only able to scroll, and results in your site feeling a bit more like a native application. Overall, we don't recommend this on every site, so use caution!</p>
{% highlight html %}
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
{% endhighlight %}
<h2 id="overview-type-links">Typography and links</h2>
<p>Bootstrap sets basic global display, typography, and link styles. Specifically, we:</p>
<ul>
<li>Set <code>background-color: #fff;</code> on the <code>body</code></li>
<li>Use the <code>@font-family-base</code>, <code>@font-size-base</code>, and <code>@line-height-base</code> attributes as our typographic base</li>
<li>Set the global link color via <code>@link-color</code> and apply link underlines only on <code>:hover</code></li>
</ul>
<p>These styles can be found within <code>scaffolding.less</code>.</p>
<h2 id="overview-normalize">Normalize.css</h2>
<p>For improved cross-browser rendering, we use <a href="http://necolas.github.io/normalize.css/" target="_blank">Normalize.css</a>, a project by <a href="https://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> and <a href="https://twitter.com/jon_neal" target="_blank">Jonathan Neal</a>.</p>
<h2 id="overview-container">Containers</h2>
<p>Bootstrap requires a containing element to wrap site contents and house our grid system. You may choose one of two containers to use in your projects. Note that, due to <code>padding</code> and more, neither container is nestable.</p>
<p>Use <code>.container</code> for a responsive fixed width container.</p>
{% highlight html %}
<div class="container">
...
</div>
{% endhighlight %}
<p>Use <code>.container-fluid</code> for a full width container, spanning the entire width of your viewport.</p>
{% highlight html %}
<div class="container-fluid">
...
</div>
{% endhighlight %}
</div>
@@ -1,258 +0,0 @@
<div class="bs-docs-section">
<h1 id="responsive-utilities" class="page-header">Responsive utilities</h1>
<p class="lead">For faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.</p>
<p>Try to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.</p>
<h2 id="responsive-utilities-classes">Available classes</h2>
<p>Use a single or combination of the available classes for toggling content across viewport breakpoints.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped responsive-utilities">
<thead>
<tr>
<th></th>
<th>
Extra small devices
<small>Phones (&lt;768px)</small>
</th>
<th>
Small devices
<small>Tablets (&ge;768px)</small>
</th>
<th>
Medium devices
<small>Desktops (&ge;992px)</small>
</th>
<th>
Large devices
<small>Desktops (&ge;1200px)</small>
</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><code>.visible-xs-*</code></th>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
</tr>
<tr>
<th scope="row"><code>.visible-sm-*</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
</tr>
<tr>
<th scope="row"><code>.visible-md-*</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
</tr>
<tr>
<th scope="row"><code>.visible-lg-*</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
</tr>
</tbody>
<tbody>
<tr>
<th scope="row"><code>.hidden-xs</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th scope="row"><code>.hidden-sm</code></th>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th scope="row"><code>.hidden-md</code></th>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th scope="row"><code>.hidden-lg</code></th>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
</tr>
</tbody>
</table>
</div>
<p>As of v3.2.0, the <code>.visible-*-*</code> classes for each breakpoint come in three variations, one for each CSS <code>display</code> property value listed below.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Group of classes</th>
<th>CSS <code>display</code></th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><code>.visible-*-block</code></th>
<td><code>display: block;</code></td>
</tr>
<tr>
<th scope="row"><code>.visible-*-inline</code></th>
<td><code>display: inline;</code></td>
</tr>
<tr>
<th scope="row"><code>.visible-*-inline-block</code></th>
<td><code>display: inline-block;</code></td>
</tr>
</tbody>
</table>
</div>
<p>So, for extra small (<code>xs</code>) screens for example, the available <code>.visible-*-*</code> classes are: <code>.visible-xs-block</code>, <code>.visible-xs-inline</code>, and <code>.visible-xs-inline-block</code>.</p>
<p>The classes <code>.visible-xs</code>, <code>.visible-sm</code>, <code>.visible-md</code>, and <code>.visible-lg</code> also exist, but are <strong>deprecated as of v3.2.0</strong>. They are approximately equivalent to <code>.visible-*-block</code>, except with additional special cases for toggling <code>&lt;table&gt;</code>-related elements.</p>
<h2 id="responsive-utilities-print">Print classes</h2>
<p>Similar to the regular responsive classes, use these for toggling content for print.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped responsive-utilities">
<thead>
<tr>
<th>Classes</th>
<th>Browser</th>
<th>Print</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<code>.visible-print-block</code><br>
<code>.visible-print-inline</code><br>
<code>.visible-print-inline-block</code>
</th>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th scope="row"><code>.hidden-print</code></th>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
</tr>
</tbody>
</table>
</div>
<p>The class <code>.visible-print</code> also exists but is <strong>deprecated</strong> as of v3.2.0. It is approximately equivalent to <code>.visible-print-block</code>, except with additional special cases for <code>&lt;table&gt;</code>-related elements.</p>
<h2 id="responsive-utilities-tests">Test cases</h2>
<p>Resize your browser or load on different devices to test the responsive utility classes.</p>
<h3>Visible on...</h3>
<p>Green checkmarks indicate the element <strong>is visible</strong> in your current viewport.</p>
<div class="row responsive-utilities-test visible-on">
<div class="col-xs-6 col-sm-3">
<span class="hidden-xs">Extra small</span>
<span class="visible-xs-block">&#10004; Visible on x-small</span>
</div>
<div class="col-xs-6 col-sm-3">
<span class="hidden-sm">Small</span>
<span class="visible-sm-block">&#10004; Visible on small</span>
</div>
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-3">
<span class="hidden-md">Medium</span>
<span class="visible-md-block">&#10004; Visible on medium</span>
</div>
<div class="col-xs-6 col-sm-3">
<span class="hidden-lg">Large</span>
<span class="visible-lg-block">&#10004; Visible on large</span>
</div>
</div>
<div class="row responsive-utilities-test visible-on">
<div class="col-xs-6">
<span class="hidden-xs hidden-sm">Extra small and small</span>
<span class="visible-xs-block visible-sm-block">&#10004; Visible on x-small and small</span>
</div>
<div class="col-xs-6">
<span class="hidden-md hidden-lg">Medium and large</span>
<span class="visible-md-block visible-lg-block">&#10004; Visible on medium and large</span>
</div>
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6">
<span class="hidden-xs hidden-md">Extra small and medium</span>
<span class="visible-xs-block visible-md-block">&#10004; Visible on x-small and medium</span>
</div>
<div class="col-xs-6">
<span class="hidden-sm hidden-lg">Small and large</span>
<span class="visible-sm-block visible-lg-block">&#10004; Visible on small and large</span>
</div>
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6">
<span class="hidden-xs hidden-lg">Extra small and large</span>
<span class="visible-xs-block visible-lg-block">&#10004; Visible on x-small and large</span>
</div>
<div class="col-xs-6">
<span class="hidden-sm hidden-md">Small and medium</span>
<span class="visible-sm-block visible-md-block">&#10004; Visible on small and medium</span>
</div>
</div>
<h3>Hidden on...</h3>
<p>Here, green checkmarks also indicate the element <strong>is hidden</strong> in your current viewport.</p>
<div class="row responsive-utilities-test hidden-on">
<div class="col-xs-6 col-sm-3">
<span class="hidden-xs">Extra small</span>
<span class="visible-xs-block">&#10004; Hidden on x-small</span>
</div>
<div class="col-xs-6 col-sm-3">
<span class="hidden-sm">Small</span>
<span class="visible-sm-block">&#10004; Hidden on small</span>
</div>
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6 col-sm-3">
<span class="hidden-md">Medium</span>
<span class="visible-md-block">&#10004; Hidden on medium</span>
</div>
<div class="col-xs-6 col-sm-3">
<span class="hidden-lg">Large</span>
<span class="visible-lg-block">&#10004; Hidden on large</span>
</div>
</div>
<div class="row responsive-utilities-test hidden-on">
<div class="col-xs-6">
<span class="hidden-xs hidden-sm">Extra small and small</span>
<span class="visible-xs-block visible-sm-block">&#10004; Hidden on x-small and small</span>
</div>
<div class="col-xs-6">
<span class="hidden-md hidden-lg">Medium and large</span>
<span class="visible-md-block visible-lg-block">&#10004; Hidden on medium and large</span>
</div>
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6">
<span class="hidden-xs hidden-md">Extra small and medium</span>
<span class="visible-xs-block visible-md-block">&#10004; Hidden on x-small and medium</span>
</div>
<div class="col-xs-6">
<span class="hidden-sm hidden-lg">Small and large</span>
<span class="visible-sm-block visible-lg-block">&#10004; Hidden on small and large</span>
</div>
<div class="clearfix visible-xs-block"></div>
<div class="col-xs-6">
<span class="hidden-xs hidden-lg">Extra small and large</span>
<span class="visible-xs-block visible-lg-block">&#10004; Hidden on x-small and large</span>
</div>
<div class="col-xs-6">
<span class="hidden-sm hidden-md">Small and medium</span>
<span class="visible-sm-block visible-md-block">&#10004; Hidden on small and medium</span>
</div>
</div>
</div>
-52
View File
@@ -1,52 +0,0 @@
<div class="bs-docs-section">
<h1 id="sass" class="page-header">Using Sass</h1>
<p class="lead">While Bootstrap is built on Less, it also has an <a href="{{ site.sass_repo }}">official Sass port</a>. We maintain it in a separate GitHub repository and handle updates with a conversion script.</p>
<h2 id="sass-contents">What's included</h2>
<p>Since the Sass port has a separate repo and serves a slightly different audience, the contents of the project differ greatly from the main Bootstrap project. This ensures the Sass port is as compatible with as many Sass-based systems as possible.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Path</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><code>lib/</code></th>
<td>Ruby gem code (Sass configuration, Rails and Compass integrations)</td>
</tr>
<tr>
<th scope="row"><code>tasks/</code></th>
<td>Converter scripts (turning upstream Less to Sass)</td>
</tr>
<tr>
<th scope="row"><code>test/</code></th>
<td>Compilation tests</td>
</tr>
<tr>
<th scope="row"><code>templates/</code></th>
<td>Compass package manifest</td>
</tr>
<tr>
<th scope="row"><code>vendor/assets/</code></th>
<td>Sass, JavaScript, and font files</td>
</tr>
<tr>
<th scope="row"><code>Rakefile</code></th>
<td>Internal tasks, such as rake and convert</td>
</tr>
</tbody>
</table>
</div>
<p>Visit the <a href="{{ site.sass_repo }}">Sass port's GitHub repository</a> to see these files in action.</p>
<h2 id="sass-installation">Installation</h2>
<p>For information on how to install and use Bootstrap for Sass, consult the <a href="{{ site.sass_repo }}">GitHub repository readme</a>. It's the most up to date source and includes information for use with Rails, Compass, and standard Sass projects.</p>
<p>
<a class="btn btn-lg btn-outline" href="{{ site.sass_repo }}">Bootstrap for Sass</a>
</p>
</div>
-467
View File
@@ -1,467 +0,0 @@
<div class="bs-docs-section">
<h1 id="tables" class="page-header">Tables</h1>
<h2 id="tables-example">Basic example</h2>
<p>For basic styling&mdash;light padding and only horizontal dividers&mdash;add the base class <code>.table</code> to any <code>&lt;table&gt;</code>. It may seem super redundant, but given the widespread use of tables for other plugins like calendars and date pickers, we've opted to isolate our custom table styles.</p>
<div class="bs-example" data-example-id="simple-table">
<table class="table">
<caption>Optional table caption.</caption>
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div><!-- /example -->
{% highlight html %}
<table class="table">
...
</table>
{% endhighlight %}
<h2 id="tables-striped">Striped rows</h2>
<p>Use <code>.table-striped</code> to add zebra-striping to any table row within the <code>&lt;tbody&gt;</code>.</p>
<div class="bs-callout bs-callout-danger" id="callout-tables-striped-ie8">
<h4>Cross-browser compatibility</h4>
<p>Striped tables are styled via the <code>:nth-child</code> CSS selector, which is not available in Internet Explorer 8.</p>
</div>
<div class="bs-example" data-example-id="striped-table">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div><!-- /example -->
{% highlight html %}
<table class="table table-striped">
...
</table>
{% endhighlight %}
<h2 id="tables-bordered">Bordered table</h2>
<p>Add <code>.table-bordered</code> for borders on all sides of the table and cells.</p>
<div class="bs-example" data-example-id="bordered-table">
<table class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div><!-- /example -->
{% highlight html %}
<table class="table table-bordered">
...
</table>
{% endhighlight %}
<h2 id="tables-hover-rows">Hover rows</h2>
<p>Add <code>.table-hover</code> to enable a hover state on table rows within a <code>&lt;tbody&gt;</code>.</p>
<div class="bs-example" data-example-id="hoverable-table">
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div><!-- /example -->
{% highlight html %}
<table class="table table-hover">
...
</table>
{% endhighlight %}
<h2 id="tables-condensed">Condensed table</h2>
<p>Add <code>.table-condensed</code> to make tables more compact by cutting cell padding in half.</p>
<div class="bs-example" data-example-id="condensed-table">
<table class="table table-condensed">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div><!-- /example -->
{% highlight html %}
<table class="table table-condensed">
...
</table>
{% endhighlight %}
<h2 id="tables-contextual-classes">Contextual classes</h2>
<p>Use contextual classes to color table rows or individual cells.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<colgroup>
<col class="col-xs-1">
<col class="col-xs-7">
</colgroup>
<thead>
<tr>
<th>Class</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<code>.active</code>
</th>
<td>Applies the hover color to a particular row or cell</td>
</tr>
<tr>
<th scope="row">
<code>.success</code>
</th>
<td>Indicates a successful or positive action</td>
</tr>
<tr>
<th scope="row">
<code>.info</code>
</th>
<td>Indicates a neutral informative change or action</td>
</tr>
<tr>
<th scope="row">
<code>.warning</code>
</th>
<td>Indicates a warning that might need attention</td>
</tr>
<tr>
<th scope="row">
<code>.danger</code>
</th>
<td>Indicates a dangerous or potentially negative action</td>
</tr>
</tbody>
</table>
</div>
<div class="bs-example" data-example-id="contextual-table">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Column heading</th>
<th>Column heading</th>
<th>Column heading</th>
</tr>
</thead>
<tbody>
<tr class="active">
<th scope="row">1</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr class="success">
<th scope="row">3</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr>
<th scope="row">4</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr class="info">
<th scope="row">5</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr>
<th scope="row">6</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr class="warning">
<th scope="row">7</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr>
<th scope="row">8</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
<tr class="danger">
<th scope="row">9</th>
<td>Column content</td>
<td>Column content</td>
<td>Column content</td>
</tr>
</tbody>
</table>
</div><!-- /example -->
{% highlight html %}
<!-- On rows -->
<tr class="active">...</tr>
<tr class="success">...</tr>
<tr class="warning">...</tr>
<tr class="danger">...</tr>
<tr class="info">...</tr>
<!-- On cells (`td` or `th`) -->
<tr>
<td class="active">...</td>
<td class="success">...</td>
<td class="warning">...</td>
<td class="danger">...</td>
<td class="info">...</td>
</tr>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-tables-context-accessibility">
<h4>Conveying meaning to assistive technologies</h4>
<p>Using color to add meaning to a table row or individual cell only provides a visual indication, which will not be conveyed to users of assistive technologies such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the visible text in the relevant table row/cell), or is included through alternative means, such as additional text hidden with the <code>.sr-only</code> class.</p>
</div>
<h2 id="tables-responsive">Responsive tables</h2>
<p>Create responsive tables by wrapping any <code>.table</code> in <code>.table-responsive</code> to make them scroll horizontally on small devices (under 768px). When viewing on anything larger than 768px wide, you will not see any difference in these tables.</p>
<div class="bs-callout bs-callout-warning" id="callout-tables-responsive-overflow">
<h4>Vertical clipping/truncation</h4>
<p>Responsive tables make use of <code>overflow-y: hidden</code>, which clips off any content that goes beyond the bottom or top edges of the table. In particular, this can clip off dropdown menus and other third-party widgets.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-tables-responsive-ff-fieldset">
<h4>Firefox and fieldsets</h4>
<p>Firefox has some awkward fieldset styling involving <code>width</code> that interferes with the responsive table. This cannot be overriden without a Firefox-specific hack that we <strong>don't</strong> provide in Bootstrap:</p>
{% highlight css %}
@-moz-document url-prefix() {
fieldset { display: table-cell; }
}
{% endhighlight %}
<p>For more information, read <a href="https://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685#17863685">this Stack Overflow answer</a>.</p>
</div>
<div class="bs-example" data-example-id="simple-responsive-table">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
</div><!-- /example -->
{% highlight html %}
<div class="table-responsive">
<table class="table">
...
</table>
</div>
{% endhighlight %}
</div>
-461
View File
@@ -1,461 +0,0 @@
<div class="bs-docs-section">
<h1 id="type" class="page-header">Typography</h1>
<!-- Headings -->
<h2 id="type-headings">Headings</h2>
<p>All HTML headings, <code>&lt;h1&gt;</code> through <code>&lt;h6&gt;</code>, are available. <code>.h1</code> through <code>.h6</code> classes are also available, for when you want to match the font styling of a heading but still want your text to be displayed inline.</p>
<div class="bs-example bs-example-type" data-example-id="simple-headings">
<table class="table">
<tbody>
<tr>
<td><h1>h1. Bootstrap heading</h1></td>
<td class="type-info">Semibold 36px</td>
</tr>
<tr>
<td><h2>h2. Bootstrap heading</h2></td>
<td class="type-info">Semibold 30px</td>
</tr>
<tr>
<td><h3>h3. Bootstrap heading</h3></td>
<td class="type-info">Semibold 24px</td>
</tr>
<tr>
<td><h4>h4. Bootstrap heading</h4></td>
<td class="type-info">Semibold 18px</td>
</tr>
<tr>
<td><h5>h5. Bootstrap heading</h5></td>
<td class="type-info">Semibold 14px</td>
</tr>
<tr>
<td><h6>h6. Bootstrap heading</h6></td>
<td class="type-info">Semibold 12px</td>
</tr>
</tbody>
</table>
</div>
{% highlight html %}
<h1>h1. Bootstrap heading</h1>
<h2>h2. Bootstrap heading</h2>
<h3>h3. Bootstrap heading</h3>
<h4>h4. Bootstrap heading</h4>
<h5>h5. Bootstrap heading</h5>
<h6>h6. Bootstrap heading</h6>
{% endhighlight %}
<p>Create lighter, secondary text in any heading with a generic <code>&lt;small&gt;</code> tag or the <code>.small</code> class.</p>
<div class="bs-example bs-example-type" data-example-id="small-headings">
<table class="table">
<tbody>
<tr>
<td><h1>h1. Bootstrap heading <small>Secondary text</small></h1></td>
</tr>
<tr>
<td><h2>h2. Bootstrap heading <small>Secondary text</small></h2></td>
</tr>
<tr>
<td><h3>h3. Bootstrap heading <small>Secondary text</small></h3></td>
</tr>
<tr>
<td><h4>h4. Bootstrap heading <small>Secondary text</small></h4></td>
</tr>
<tr>
<td><h5>h5. Bootstrap heading <small>Secondary text</small></h5></td>
</tr>
<tr>
<td><h6>h6. Bootstrap heading <small>Secondary text</small></h6></td>
</tr>
</tbody>
</table>
</div>
{% highlight html %}
<h1>h1. Bootstrap heading <small>Secondary text</small></h1>
<h2>h2. Bootstrap heading <small>Secondary text</small></h2>
<h3>h3. Bootstrap heading <small>Secondary text</small></h3>
<h4>h4. Bootstrap heading <small>Secondary text</small></h4>
<h5>h5. Bootstrap heading <small>Secondary text</small></h5>
<h6>h6. Bootstrap heading <small>Secondary text</small></h6>
{% endhighlight %}
<!-- Body copy -->
<h2 id="type-body-copy">Body copy</h2>
<p>Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>1.428</strong>. This is applied to the <code>&lt;body&gt;</code> and all paragraphs. In addition, <code>&lt;p&gt;</code> (paragraphs) receive a bottom margin of half their computed line-height (10px by default).</p>
<div class="bs-example" data-example-id="body-copy">
<p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.</p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.</p>
<p>Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
</div>
{% highlight html %}
<p>...</p>
{% endhighlight %}
<!-- Body copy .lead -->
<h3>Lead body copy</h3>
<p>Make a paragraph stand out by adding <code>.lead</code>.</p>
<div class="bs-example" data-example-id="lead-copy">
<p class="lead">Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus.</p>
</div>
{% highlight html %}
<p class="lead">...</p>
{% endhighlight %}
<!-- Using Less -->
<h3>Built with Less</h3>
<p>The typographic scale is based on two Less variables in <strong>variables.less</strong>: <code>@font-size-base</code> and <code>@line-height-base</code>. The first is the base font-size used throughout and the second is the base line-height. We use those variables and some simple math to create the margins, paddings, and line-heights of all our type and more. Customize them and Bootstrap adapts.</p>
<!-- Inline text elements -->
<h2 id="type-inline-text">Inline text elements</h2>
<h3>Marked text</h3>
<p>For highlighting a run of text due to its relevance in another context, use the <code>&lt;mark&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-mark">
<p>You can use the mark tag to <mark>highlight</mark> text.</p>
</div>
{% highlight html %}
You can use the mark tag to <mark>highlight</mark> text.
{% endhighlight %}
<h3>Deleted text</h3>
<p>For indicating blocks of text that have been deleted use the <code>&lt;del&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-del">
<p><del>This line of text is meant to be treated as deleted text.</del></p>
</div>
{% highlight html %}
<del>This line of text is meant to be treated as deleted text.</del>
{% endhighlight %}
<h3>Strikethrough text</h3>
<p>For indicating blocks of text that are no longer relevant use the <code>&lt;s&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-s">
<p><s>This line of text is meant to be treated as no longer accurate.</s></p>
</div>
{% highlight html %}
<s>This line of text is meant to be treated as no longer accurate.</s>
{% endhighlight %}
<h3>Inserted text</h3>
<p>For indicating additions to the document use the <code>&lt;ins&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-ins">
<p><ins>This line of text is meant to be treated as an addition to the document.</ins></p>
</div>
{% highlight html %}
<ins>This line of text is meant to be treated as an addition to the document.</ins>
{% endhighlight %}
<h3>Underlined text</h3>
<p>To underline text use the <code>&lt;u&gt;</code> tag.</p>
<div class="bs-example" data-example-id="simple-u">
<p><u>This line of text will render as underlined</u></p>
</div>
{% highlight html %}
<u>This line of text will render as underlined</u>
{% endhighlight %}
<p>Make use of HTML's default emphasis tags with lightweight styles.</p>
<h3>Small text</h3>
<p>For de-emphasizing inline or blocks of text, use the <code>&lt;small&gt;</code> tag to set text at 85% the size of the parent. Heading elements receive their own <code>font-size</code> for nested <code>&lt;small&gt;</code> elements.</p>
<p>You may alternatively use an inline element with <code>.small</code> in place of any <code>&lt;small&gt;</code>.</p>
<div class="bs-example" data-example-id="simple-small">
<p><small>This line of text is meant to be treated as fine print.</small></p>
</div>
{% highlight html %}
<small>This line of text is meant to be treated as fine print.</small>
{% endhighlight %}
<h3>Bold</h3>
<p>For emphasizing a snippet of text with a heavier font-weight.</p>
<div class="bs-example" data-example-id="simple-strong">
<p>The following snippet of text is <strong>rendered as bold text</strong>.</p>
</div>
{% highlight html %}
<strong>rendered as bold text</strong>
{% endhighlight %}
<h3>Italics</h3>
<p>For emphasizing a snippet of text with italics.</p>
<div class="bs-example" data-example-id="simple-em">
<p>The following snippet of text is <em>rendered as italicized text</em>.</p>
</div>
{% highlight html %}
<em>rendered as italicized text</em>
{% endhighlight %}
<div class="bs-callout bs-callout-info" id="callout-type-b-i-elems">
<h4>Alternate elements</h4>
<p>Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5. <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
</div>
<h2 id="type-alignment">Alignment classes</h2>
<p>Easily realign text to components with text alignment classes.</p>
<div class="bs-example" data-example-id="text-alignment">
<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>
</div>
{% highlight html %}
<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>
{% endhighlight %}
<h2 id="type-transformation">Transformation classes</h2>
<p>Transform text in components with text capitalization classes.</p>
<div class="bs-example" data-example-id="text-capitalization">
<p class="text-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p>
</div>
{% highlight html %}
<p class="text-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p>
{% endhighlight %}
<!-- Abbreviations -->
<h2 id="type-abbreviations">Abbreviations</h2>
<p>Stylized implementation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover and to users of assistive technologies.</p>
<h3>Basic abbreviation</h3>
<div class="bs-example" data-example-id="simple-abbr">
<p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
</div>
{% highlight html %}
<abbr title="attribute">attr</abbr>
{% endhighlight %}
<h3>Initialism</h3>
<p>Add <code>.initialism</code> to an abbreviation for a slightly smaller font-size.</p>
<div class="bs-example" data-example-id="simple-initialism">
<p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.</p>
</div>
{% highlight html %}
<abbr title="HyperText Markup Language" class="initialism">HTML</abbr>
{% endhighlight %}
<!-- Addresses -->
<h2 id="type-addresses">Addresses</h2>
<p>Present contact information for the nearest ancestor or the entire body of work. Preserve formatting by ending all lines with <code>&lt;br&gt;</code>.</p>
<div class="bs-example" data-example-id="simple-address">
<address>
<strong>Twitter, Inc.</strong><br>
1355 Market Street, Suite 900<br>
San Francisco, CA 94103<br>
<abbr title="Phone">P:</abbr> (123) 456-7890
</address>
<address>
<strong>Full Name</strong><br>
<a href="mailto:#">first.last@example.com</a>
</address>
</div>
{% highlight html %}
<address>
<strong>Twitter, Inc.</strong><br>
1355 Market Street, Suite 900<br>
San Francisco, CA 94103<br>
<abbr title="Phone">P:</abbr> (123) 456-7890
</address>
<address>
<strong>Full Name</strong><br>
<a href="mailto:#">first.last@example.com</a>
</address>
{% endhighlight %}
<!-- Blockquotes -->
<h2 id="type-blockquotes">Blockquotes</h2>
<p>For quoting blocks of content from another source within your document.</p>
<h3>Default blockquote</h3>
<p>Wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes, we recommend a <code>&lt;p&gt;</code>.</p>
<div class="bs-example" data-example-id="simple-blockquote">
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
</blockquote>
</div>
{% highlight html %}
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
</blockquote>
{% endhighlight %}
<h3>Blockquote options</h3>
<p>Style and content changes for simple variations on a standard <code>&lt;blockquote&gt;</code>.</p>
<h4>Naming a source</h4>
<p>Add a <code>&lt;footer&gt;</code> for identifying the source. Wrap the name of the source work in <code>&lt;cite&gt;</code>.</p>
<div class="bs-example" data-example-id="blockquote-cite">
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>Someone famous in <cite title="Source Title">Source Title</cite></footer>
</blockquote>
</div>
{% highlight html %}
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>Someone famous in <cite title="Source Title">Source Title</cite></footer>
</blockquote>
{% endhighlight %}
<h4>Alternate displays</h4>
<p>Add <code>.blockquote-reverse</code> for a blockquote with right-aligned content.</p>
<div class="bs-example" style="overflow: hidden;" data-example-id="blockquote-reverse">
<blockquote class="blockquote-reverse">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>Someone famous in <cite title="Source Title">Source Title</cite></footer>
</blockquote>
</div>
{% highlight html %}
<blockquote class="blockquote-reverse">
...
</blockquote>
{% endhighlight %}
<!-- Lists -->
<h2 id="type-lists">Lists</h2>
<h3>Unordered</h3>
<p>A list of items in which the order does <em>not</em> explicitly matter.</p>
<div class="bs-example" data-example-id="simple-ul">
<ul>
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit
<ul>
<li>Phasellus iaculis neque</li>
<li>Purus sodales ultricies</li>
<li>Vestibulum laoreet porttitor sem</li>
<li>Ac tristique libero volutpat at</li>
</ul>
</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ul>
</div>
{% highlight html %}
<ul>
<li>...</li>
</ul>
{% endhighlight %}
<h3>Ordered</h3>
<p>A list of items in which the order <em>does</em> explicitly matter.</p>
<div class="bs-example" data-example-id="simple-ol">
<ol>
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ol>
</div>
{% highlight html %}
<ol>
<li>...</li>
</ol>
{% endhighlight %}
<h3>Unstyled</h3>
<p>Remove the default <code>list-style</code> and left margin on list items (immediate children only). <strong>This only applies to immediate children list items</strong>, meaning you will need to add the class for any nested lists as well.</p>
<div class="bs-example" data-example-id="unstyled-list">
<ul class="list-unstyled">
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit
<ul>
<li>Phasellus iaculis neque</li>
<li>Purus sodales ultricies</li>
<li>Vestibulum laoreet porttitor sem</li>
<li>Ac tristique libero volutpat at</li>
</ul>
</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ul>
</div>
{% highlight html %}
<ul class="list-unstyled">
<li>...</li>
</ul>
{% endhighlight %}
<h3>Inline</h3>
<p>Place all list items on a single line with <code>display: inline-block;</code> and some light padding.</p>
<div class="bs-example" data-example-id="list-inline">
<ul class="list-inline">
<li>Lorem ipsum</li>
<li>Phasellus iaculis</li>
<li>Nulla volutpat</li>
</ul>
</div>
{% highlight html %}
<ul class="list-inline">
<li>...</li>
</ul>
{% endhighlight %}
<h3>Description</h3>
<p>A list of terms with their associated descriptions.</p>
<div class="bs-example" data-example-id="simple-dl">
<dl>
<dt>Description lists</dt>
<dd>A description list is perfect for defining terms.</dd>
<dt>Euismod</dt>
<dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
<dd>Donec id elit non mi porta gravida at eget metus.</dd>
<dt>Malesuada porta</dt>
<dd>Etiam porta sem malesuada magna mollis euismod.</dd>
</dl>
</div>
{% highlight html %}
<dl>
<dt>...</dt>
<dd>...</dd>
</dl>
{% endhighlight %}
<h4>Horizontal description</h4>
<p>Make terms and descriptions in <code>&lt;dl&gt;</code> line up side-by-side. Starts off stacked like default <code>&lt;dl&gt;</code>s, but when the navbar expands, so do these.</p>
<div class="bs-example" data-example-id="horizontal-dl">
<dl class="dl-horizontal">
<dt>Description lists</dt>
<dd>A description list is perfect for defining terms.</dd>
<dt>Euismod</dt>
<dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
<dd>Donec id elit non mi porta gravida at eget metus.</dd>
<dt>Malesuada porta</dt>
<dd>Etiam porta sem malesuada magna mollis euismod.</dd>
<dt>Felis euismod semper eget lacinia</dt>
<dd>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</dd>
</dl>
</div>
{% highlight html %}
<dl class="dl-horizontal">
<dt>...</dt>
<dd>...</dd>
</dl>
{% endhighlight %}
<div class="bs-callout bs-callout-info" id="callout-type-dl-truncate">
<h4>Auto-truncating</h4>
<p>Horizontal description lists will truncate terms that are too long to fit in the left column with <code>text-overflow</code>. In narrower viewports, they will change to the default stacked layout.</p>
</div>
</div>
File diff suppressed because it is too large Load Diff
+35 -44
View File
@@ -1,67 +1,58 @@
<!-- Footer
================================================== -->
<footer class="bs-docs-footer" role="contentinfo">
<footer class="bd-footer text-muted" role="contentinfo">
<div class="container">
<ul class="bs-docs-footer-links">
<ul class="bd-footer-links">
<li><a href="{{ site.repo }}">GitHub</a></li>
<li><a href="https://twitter.com/getbootstrap">Twitter</a></li>
<li><a href="../getting-started/#examples">Examples</a></li>
<li><a href="../about/">About</a></li>
<li><a href="{{ site.baseurl }}/examples/">Examples</a></li>
<li><a href="{{ site.baseurl }}/about/history/">About</a></li>
</ul>
<p>Designed and built with all the love in the world by <a href="https://twitter.com/mdo" target="_blank">@mdo</a> and <a href="https://twitter.com/fat" target="_blank">@fat</a>. Maintained by the <a href="https://github.com/orgs/twbs/people">core team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.</p>
<p>Code licensed <a rel="license" href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank">MIT</a>, docs <a rel="license" href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC BY 3.0</a>.</p>
<p>Currently v{{ site.current_version }}. Code licensed <a rel="license" href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank">MIT</a>, docs <a rel="license" href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC BY 3.0</a>.</p>
</div>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="{{ site.cdn.jquery }}"></script>
<script>window.jQuery || document.write('<script src="{{ site.baseurl }}/assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="{{ site.baseurl }}/assets/js/vendor/tether.min.js"></script>
{% if site.github %}
<script src="../dist/js/bootstrap.min.js"></script>
<script src="{{ site.baseurl }}/dist/js/bootstrap.min.js"></script>
{% else %}
<script src="../dist/js/bootstrap.js"></script>
<script src="{{ site.baseurl }}/dist/js/bootstrap.js"></script>
{% endif %}
{% if site.github %}
<script src="../assets/js/docs.min.js"></script>
<script src="{{ site.baseurl }}/assets/js/docs.min.js"></script>
{% else %}
{% for file in site.data.configBridge.paths.docsJs %}
<script src="{{ file }}"></script>
<script src="{{ site.baseurl }}/{{ file }}"></script>
{% endfor %}
{% endif %}
{% if page.slug == "customize" %}
<script>var __configBridge = {{ site.data.configBridge.config | jsonify }}</script>
{% if site.github %}
<script src="../assets/js/customize.min.js"></script>
{% else %}
{% for file in site.data.configBridge.paths.customizerJs %}
<script src="{{ file }}"></script>
{% endfor %}
{% endif %}
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="{{ site.baseurl }}/assets/js/ie10-viewport-bug-workaround.js"></script>
<script src="{{ site.baseurl }}/assets/js/ie-emulation-modes-warning.js"></script>
{% if page.layout == "docs" %}
<script src="{{ site.baseurl }}/assets/js/vendor/jekyll-search.min.js"></script>
<script>
SimpleJekyllSearch.init({
searchInput: document.getElementById('search-input'),
resultsContainer: document.getElementById('search-results'),
searchResultTemplate: '<a class="dropdown-item" href="{url}">{title}</a>',
noResultsText: '<div class="dropdown-item no-results">Sorry, there are no results for that search.</div>',
json: '/search.json'
})
</script>
{% endif %}
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../assets/js/ie10-viewport-bug-workaround.js"></script>
<!-- Analytics
================================================== -->
<script>
var _gauges = _gauges || [];
(function() {
var t = document.createElement('script');
t.async = true;
t.id = 'gauges-tracker';
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
t.src = '//secure.gaug.es/track.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(t, s);
})();
Holder.addTheme('gray', {
background: '#777',
foreground: 'rgba(255,255,255,.75)',
font: 'Helvetica',
fontweight: 'normal'
})
</script>
@@ -1,37 +0,0 @@
<div class="bs-docs-section">
<h1 id="accessibility" class="page-header">Accessibility</h1>
<p class="lead">Bootstrap follows common web standards and&mdash;with minimal extra effort&mdash;can be used to create sites that are accessible to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.</p>
<h2>Skip navigation</h2>
<p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to main content</code> link before the navigation (for a simple explanation, see this <a href="http://a11yproject.com/posts/skip-nav-links/">A11Y Project article on skip navigation links</a>). Using the <code>.sr-only</code> class will visually hide the skip link, and the <code>.sr-only-focusable</code> class will ensure that the link becomes visible once focused (for sighted keyboard users).</p>
<div class="bs-callout bs-callout-danger" id="callout-skiplinks">
<p>Due to long-standing shortcomings/bugs in Chrome (see <a href="https://code.google.com/p/chromium/issues/detail?id=262171" title="Chromium bug tracker - Issue 262171: Focus should cycle from named anchor">issue 262171 in the Chromium bug tracker</a>) and Internet Explorer (see this article on <a href="http://accessibleculture.org/articles/2010/05/in-page-links/">in-page links and focus order</a>), you will need to make sure that the target of your skip link is at least programmatically focusable by adding <code>tabindex="-1"</code>.</p>
<p>In addition, you may want to explicitly suppress a visible focus indication on the target (particularly as Chrome currently also sets focus on elements with <code>tabindex="-1"</code> when they are clicked with the mouse) with <code>#content:focus { outline: none; }</code>.</p>
<p>Note that this bug will also affect any other in-page links your site may be using, rendering them useless for keyboard users. You may consider adding a similar stop-gap fix to all other named anchors / fragment identifiers that act as link targets.</p>
</div>
{% highlight html %}
<body>
<a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
...
<div class="container" id="content" tabindex="-1">
<!-- The main page content -->
</div>
</body>
{% endhighlight %}
<h2>Nested headings</h2>
<p>When nesting headings (<code>&lt;h1&gt;</code> - <code>&lt;h6&gt;</code>), your primary document header should be an <code>&lt;h1&gt;</code>. Subsequent headings should make logical use of <code>&lt;h2&gt;</code> - <code>&lt;h6&gt;</code> such that screen readers can construct a table of contents for your pages.</p>
<p>Learn more at <a href="http://squizlabs.github.io/HTML_CodeSniffer/Standards/Section508/">HTML CodeSniffer</a> and <a href="http://accessibility.psu.edu/headings">Penn State's AccessAbility</a>.</p>
<h2>Color contrast</h2>
<p>Currently, some of the default color combinations available in Bootstrap (such as the various <a href="../css/#buttons">styled button</a> classes, some of the code highlighting colors used for <a href="../css/#code-block">basic code blocks</a>, the <code>.bg-primary</code> <a href="../css/#helper-classes-backgrounds">contextual background</a> helper class, and the default link color when used on a white background) have a low contrast ratio (below the <a href="http://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast">recommended ratio of 4.5:1</a>). This can cause problems to users with low vision or who are color blind. These default colors may need to be modified to increase their contrast and legibility.</p>
<h2>Additional resources</h2>
<ul>
<li><a href="https://github.com/squizlabs/HTML_CodeSniffer">"HTML Codesniffer" bookmarklet for identifying accessibility issues</a></li>
<li><a href="https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en">Chrome's Accessibility Developer Tools extension</a></li>
<li><a href="http://www.paciellogroup.com/resources/contrastanalyser/">Colour Contrast Analyser</a>
<li><a href="http://a11yproject.com/">The A11Y Project</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Accessibility">MDN accessibility documentation</a></li>
</ul>
</div>
@@ -1,210 +0,0 @@
<div class="bs-docs-section">
<h1 id="support" class="page-header">Browser and device support</h1>
<p class="lead">Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, though fully functional, renderings of certain components.</p>
<h2 id="support-browsers">Supported browsers</h2>
<p>Specifically, we support the <strong>latest versions</strong> of the following browsers and platforms. On Windows, <strong>we support Internet Explorer 8-11</strong>. More specific support information is provided below.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<td></td>
<th>Chrome</th>
<th>Firefox</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Android</th>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-muted" rowspan="3" style="vertical-align: middle;">N/A</td>
<td class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not Supported</td>
<td class="text-muted">N/A</td>
</tr>
<tr>
<th scope="row">iOS</th>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-muted">N/A</td>
<td class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
</tr>
<tr>
<th scope="row">Mac OS X</th>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
</tr>
<tr>
<th scope="row">Windows</th>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
<td class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not Supported</td>
</tr>
</tbody>
</table>
</div>
<p>Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 7, though they are not officially supported.</p>
<p>For a list of some of the browser bugs that Bootstrap has to grapple with, see our <a href="../browser-bugs/">Wall of browser bugs</a>.</p>
<h2 id="support-ie8-ie9">Internet Explorer 8 and 9</h2>
<p>Internet Explorer 8 and 9 are also supported, however, please be aware that some CSS3 properties and HTML5 elements are not fully supported by these browsers. In addition, <strong>Internet Explorer 8 requires the use of <a href="https://github.com/scottjehl/Respond">Respond.js</a> to enable media query support.</strong></p>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th class="col-xs-4">Feature</th>
<th class="col-xs-4">Internet Explorer 8</th>
<th class="col-xs-4">Internet Explorer 9</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><code>border-radius</code></th>
<td class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
</tr>
<tr>
<th scope="row"><code>box-shadow</code></th>
<td class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported</td>
</tr>
<tr>
<th scope="row"><code>transform</code></th>
<td class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not supported</td>
<td class="text-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Supported, with <code>-ms</code> prefix</td>
</tr>
<tr>
<th scope="row"><code>transition</code></th>
<td colspan="2" class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not supported</td>
</tr>
<tr>
<th scope="row"><code>placeholder</code></th>
<td colspan="2" class="text-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Not supported</td>
</tr>
</tbody>
</table>
</div>
<p>Visit <a href="http://caniuse.com/">Can I use...</a> for details on browser support of CSS3 and HTML5 features.</p>
<h2 id="support-ie8-respondjs">Internet Explorer 8 and Respond.js</h2>
<p>Beware of the following caveats when using Respond.js in your development and production environments for Internet Explorer 8.</p>
<h3 id="respond-js-x-domain">Respond.js and cross-domain CSS</h3>
<p>Using Respond.js with CSS hosted on a different (sub)domain (for example, on a CDN) requires some additional setup. <a href="https://github.com/scottjehl/Respond/blob/master/README.md#cdnx-domain-setup">See the Respond.js docs</a> for details.</p>
<h3 id="respond-file-proto">Respond.js and <code>file://</code></h3>
<p>Due to browser security rules, Respond.js doesn't work with pages viewed via the <code>file://</code> protocol (like when opening a local HTML file). To test responsive features in IE8, view your pages over HTTP(S). <a href="https://github.com/scottjehl/Respond/blob/master/README.md#support--caveats">See the Respond.js docs</a> for details.</p>
<h3 id="respond-import">Respond.js and <code>@import</code></h3>
<p>Respond.js doesn't work with CSS that's referenced via <code>@import</code>. In particular, some Drupal configurations are known to use <code>@import</code>. <a href="https://github.com/scottjehl/Respond/blob/master/README.md#support--caveats">See the Respond.js docs</a> for details.</p>
<h2 id="support-ie8-box-sizing">Internet Explorer 8 and box-sizing</h2>
<p>IE8 does not fully support <code>box-sizing: border-box;</code> when combined with <code>min-width</code>, <code>max-width</code>, <code>min-height</code>, or <code>max-height</code>. For that reason, as of v3.0.1, we no longer use <code>max-width</code> on <code>.container</code>s.</p>
<h2 id="support-ie8-font-face">Internet Explorer 8 and @font-face</h2>
<p>IE8 has some issues with <code>@font-face</code> when combined with <code>:before</code>. Bootstrap uses that combination with its Glyphicons. If a page is cached, and loaded without the mouse over the window (i.e. hit the refresh button or load something in an iframe) then the page gets rendered before the font loads. Hovering over the page (body) will show some of the icons and hovering over the remaining icons will show those as well. <a href="https://github.com/twbs/bootstrap/issues/13863">See issue #13863</a> for details.</p>
<h2 id="support-ie-compatibility-modes">IE Compatibility modes</h2>
<p>Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate <code>&lt;meta&gt;</code> tag in your pages:</p>
{% highlight html %}
<meta http-equiv="X-UA-Compatible" content="IE=edge">
{% endhighlight %}
<p>Confirm the document mode by opening the debugging tools: press <kbd>F12</kbd> and check the "Document Mode".</p>
<p>This tag is included in all of Bootstrap's documentation and examples to ensure the best rendering possible in each supported version of Internet Explorer.</p>
<p>See <a href="https://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge">this StackOverflow question</a> for more information.</p>
<h2 id="support-ie10-width">Internet Explorer 10 in Windows 8 and Windows Phone 8</h2>
<p>Internet Explorer 10 doesn't differentiate <strong>device width</strong> from <strong>viewport width</strong>, and thus doesn't properly apply the media queries in Bootstrap's CSS. Normally you'd just add a quick snippet of CSS to fix this:</p>
{% highlight scss %}
@-ms-viewport { width: device-width; }
{% endhighlight %}
<p>However, this doesn't work for devices running Windows Phone 8 versions older than <a href="http://blogs.windows.com/windows_phone/b/wpdev/archive/2013/10/14/introducing-windows-phone-preview-for-developers.aspx">Update 3 (a.k.a. GDR3)</a>, as it causes such devices to show a mostly desktop view instead of narrow "phone" view. To address this, you'll need to <strong>include the following CSS and JavaScript to work around the bug</strong>.</p>
{% highlight scss %}
@-webkit-viewport { width: device-width; }
@-moz-viewport { width: device-width; }
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
{% endhighlight %}
{% highlight js %}
// Copyright 2014-2015 Twitter, Inc.
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement('style')
msViewportStyle.appendChild(
document.createTextNode(
'@-ms-viewport{width:auto!important}'
)
)
document.querySelector('head').appendChild(msViewportStyle)
}
{% endhighlight %}
<p>For more information and usage guidelines, read <a href="http://timkadlec.com/2013/01/windows-phone-8-and-device-width/">Windows Phone 8 and Device-Width</a>.</p>
<p>As a heads up, we include this in all of Bootstrap's documentation and examples as a demonstration.</p>
<h2 id="support-safari-percentages">Safari percent rounding</h2>
<p>The rendering engine of versions of Safari prior to v7.1 for OS X and Safari for iOS v8.0 had some trouble with the number of decimal places used in our <code>.col-*-1</code> grid classes. So if you had 12 individual grid columns, you'd notice that they came up short compared to other rows of columns. Besides upgrading Safari/iOS, you have some options for workarounds:</p>
<ul>
<li>Add <code>.pull-right</code> to your last grid column to get the hard-right alignment</li>
<li>Tweak your percentages manually to get the perfect rounding for Safari (more difficult than the first option)</li>
</ul>
<h2 id="support-fixed-position-keyboards">Modals, navbars, and virtual keyboards</h2>
<h3>Overflow and scrolling</h3>
<p>Support for <code>overflow: hidden</code> on the <code>&lt;body&gt;</code> element is quite limited in iOS and Android. To that end, when you scroll past the top or bottom of a modal in either of those devices' browsers, the <code>&lt;body&gt;</code> content will begin to scroll.</p>
<h3>Virtual keyboards</h3>
<p>Also, note that if you're using a fixed navbar or using inputs within a modal, iOS has a rendering bug that doesn't update the position of fixed elements when the virtual keyboard is triggered. A few workarounds for this include transforming your elements to <code>position: absolute</code> or invoking a timer on focus to try to correct the positioning manually. This is not handled by Bootstrap, so it is up to you to decide which solution is best for your application.</p>
<h3>Navbar Dropdowns</h3>
<p>The <code>.dropdown-backdrop</code> element isn't used on iOS in the nav because of the complexity of z-indexing. Thus, to close dropdowns in navbars, you must directly click the dropdown element (or <a href="https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile">any other element which will fire a click event in iOS</a>).</p>
<h2 id="support-browser-zooming">Browser zooming</h2>
<p>Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.</p>
<h2 id="support-sticky-hover-mobile">Sticky <code>:hover</code>/<code>:focus</code> on mobile</h2>
<p>Even though real hovering isn't possible on most touchscreens, most mobile browsers emulate hovering support and make <code>:hover</code> "sticky". In other words, <code>:hover</code> styles start applying after tapping an element and only stop applying after the user taps some other element. This can cause Bootstrap's <code>:hover</code> states to become unwantedly "stuck" on such browsers. Some mobile browsers also make <code>:focus</code> similarly sticky. There is currently no simple workaround for these issues other than removing such styles entirely.</p>
<h2 id="support-printing">Printing</h2>
<p>Even in some modern browsers, printing can be quirky.</p>
<p>In particular, as of Chrome v32 and regardless of margin settings, Chrome uses a viewport width significantly narrower than the physical paper size when resolving media queries while printing a webpage. This can result in Bootstrap's extra-small grid being unexpectedly activated when printing. <a href="https://github.com/twbs/bootstrap/issues/12078">See #12078 for some details.</a> Suggested workarounds:</p>
<ul>
<li>Embrace the extra-small grid and make sure your page looks acceptable under it.</li>
<li>Customize the values of the <code>@screen-*</code> Less variables so that your printer paper is considered larger than extra-small.</li>
<li>Add custom media queries to change the grid size breakpoints for print media only.</li>
</ul>
<p>Also, as of Safari v8.0, fixed-width <code>.container</code>s can cause Safari to use an unusually small font size when printing. See <a href="https://github.com/twbs/bootstrap/issues/14868">#14868</a> for more details. One potential workaround for this is adding the following CSS:</p>
{% highlight css %}
@media print {
.container {
width: auto;
}
}
{% endhighlight %}
<h2 id="support-android-stock-browser">Android stock browser</h2>
<p>Out of the box, Android 4.1 (and even some newer releases apparently) ship with the Browser app as the default web browser of choice (as opposed to Chrome). Unfortunately, the Browser app has lots of bugs and inconsistencies with CSS in general.</p>
<h3>Select menus</h3>
<p>On <code>&lt;select&gt;</code> elements, the Android stock browser will not display the side controls if there is a <code>border-radius</code> and/or <code>border</code> applied. (See <a href="https://stackoverflow.com/questions/14744437/html-select-box-not-showing-drop-down-arrow-on-android-version-4-0-when-set-with">this StackOverflow question</a> for details.) Use the snippet of code below to remove the offending CSS and render the <code>&lt;select&gt;</code> as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.</p>
{% highlight html %}
<script>
$(function () {
var nua = navigator.userAgent
var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
if (isAndroid) {
$('select.form-control').removeClass('form-control').css('width', '100%')
}
})
</script>
{% endhighlight %}
<p>Want to see an example? <a href="http://jsbin.com/kuvoz/1">Check out this JS Bin demo.</a></p>
<h2 id="support-validators">Validators</h2>
<p>In order to provide the best possible experience to old and buggy browsers, Bootstrap uses <a href="http://browserhacks.com">CSS browser hacks</a> in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren't yet fully standardized, but these are used purely for progressive enhancement.</p>
<p>These validation warnings don't matter in practice since the non-hacky portion of our CSS does fully validate and the hacky portions don't interfere with the proper functioning of the non-hacky portion, hence why we deliberately ignore these particular warnings.</p>
<p>Our HTML docs likewise have some trivial and inconsequential HTML validation warnings due to our inclusion of a workaround for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=654072">a certain Firefox bug</a>.</p>
</div>
@@ -1,13 +0,0 @@
<div class="bs-docs-section">
<h1 id="community" class="page-header">Community</h1>
<p class="lead">Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.</p>
<ul>
<li>Read and subscribe to <a href="http://blog.getbootstrap.com/">The Official Bootstrap Blog</a>.</li>
<li>Chat with fellow Bootstrappers using IRC in the <code>irc.freenode.net</code> server, in the <a href="irc://irc.freenode.net/%23bootstrap">##bootstrap channel</a>.</li>
<li>For help using Bootstrap, ask on <a href="https://stackoverflow.com/questions/tagged/twitter-bootstrap-3">StackOverflow using the tag <code>twitter-bootstrap-3</code></a>.</li>
<li>Developers should use the keyword <code>bootstrap</code> on packages which modify or add to the functionality of Bootstrap when distributing through <a href="https://www.npmjs.com/browse/keyword/bootstrap">npm</a> or similar delivery mechanisms for maximum discoverability.</li>
<li>Find inspiring examples of people building with Bootstrap at the <a href="http://expo.getbootstrap.com">Bootstrap Expo</a>.</li>
</ul>
<p>You can also follow <a href="https://twitter.com/getbootstrap">@getbootstrap on Twitter</a> for the latest gossip and awesome music videos.</p>
</div>
@@ -1,22 +0,0 @@
<div class="bs-docs-section">
<h1 id="disable-responsive" class="page-header">Disabling responsiveness</h1>
<p class="lead">Bootstrap automatically adapts your pages for various screen sizes.
Here's how to disable this feature so your page works like <a href="../examples/non-responsive/">this non-responsive example</a>.</p>
<h2>Steps to disable page responsiveness</h2>
<ol>
<li>Omit the viewport <code>&lt;meta&gt;</code> mentioned in <a href="../css/#overview-mobile">the CSS docs</a></li>
<li>Override the <code>width</code> on the <code>.container</code> for each grid tier with a single width, for example <code>width: 970px !important;</code> Be sure that this comes after the default Bootstrap CSS. You can optionally avoid the <code>!important</code> with media queries or some selector-fu.</li>
<li>If using navbars, remove all navbar collapsing and expanding behavior.</li>
<li>For grid layouts, use <code>.col-xs-*</code> classes in addition to, or in place of, the medium/large ones. Don't worry, the extra-small device grid scales to all resolutions.</li>
</ol>
<p>You'll still need Respond.js for IE8 (since our media queries are still there and need to be processed).
This disables the "mobile site" aspects of Bootstrap.</p>
<h2>Bootstrap template with responsiveness disabled</h2>
<p>We've applied these steps to an example. Read its source code to see the specific changes implemented.</p>
<p>
<a href="../examples/non-responsive/" class="btn btn-primary">View non-responsive example</a>
</p>
</div>
@@ -1,63 +0,0 @@
<div class="bs-docs-section">
<h1 id="download" class="page-header">Download</h1>
<p class="lead">Bootstrap (currently v{{ site.current_version }}) has a few easy ways to quickly get started, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.</p>
<div class="row bs-downloads">
<div class="col-sm-4">
<h3 id="download-bootstrap">Bootstrap</h3>
<p>Compiled and minified CSS, JavaScript, and fonts. No docs or original source files are included.</p>
<p>
<a href="{{ site.download.dist }}" class="btn btn-lg btn-outline" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download compiled');">Download Bootstrap</a>
</p>
</div>
<div class="col-sm-4">
<h3 id="download-source">Source code</h3>
<p>Source Less, JavaScript, and font files, along with our docs. <strong>Requires a Less compiler and <a href="#grunt">some setup.</a></strong></p>
<p>
<a href="{{ site.download.source }}" class="btn btn-lg btn-outline" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download source');">Download source</a>
</p>
</div>
<div class="col-sm-4">
<h3 id="download-sass">Sass</h3>
<p><a href="{{ site.sass_repo }}">Bootstrap ported from Less to Sass</a> for easy inclusion in Rails, Compass, or Sass-only projects.</p>
<p>
<a href="{{ site.download.sass }}" class="btn btn-lg btn-outline" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download Sass');">Download Sass</a>
</p>
</div>
</div>
<h2 id="download-cdn">Bootstrap CDN</h2>
<p>The folks over at <a href="https://www.maxcdn.com/">MaxCDN</a> graciously provide CDN support for Bootstrap's CSS and JavaScript. Just use these <a href="https://www.bootstrapcdn.com/">Bootstrap CDN</a> links.</p>
{% highlight html %}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="{{ site.cdn.css }}">
<!-- Optional theme -->
<link rel="stylesheet" href="{{ site.cdn.css_theme }}">
<!-- Latest compiled and minified JavaScript -->
<script src="{{ site.cdn.js }}"></script>
{% endhighlight %}
<h2 id="download-bower">Install with Bower</h2>
<p>You can also install and manage Bootstrap's Less, CSS, JavaScript, and fonts using <a href="http://bower.io">Bower</a>:</p>
{% highlight bash %}$ bower install bootstrap{% endhighlight %}
<h2 id="download-npm">Install with npm</h2>
<p>You can also install Bootstrap using <a href="https://www.npmjs.com">npm</a>:</p>
{% highlight bash %}$ npm install bootstrap{% endhighlight %}
<p><code>require('bootstrap')</code> will load all of Bootstrap's jQuery plugins onto the jQuery object. The <code>bootstrap</code> module itself does not export anything. You can manually load Bootstrap's jQuery plugins individually by loading the <code>/js/*.js</code> files under the package's top-level directory.</p>
<p>Bootstrap's <code>package.json</code> contains some additional metadata under the following keys:</p>
<ul>
<li><code>less</code> - path to Bootstrap's main <a href="http://lesscss.org">Less</a> source file</li>
<li><code>style</code> - path to Bootstrap's non-minified CSS that's been precompiled using the default settings (no customization)</li>
</ul>
<h2 id="download-composer">Install with Composer</h2>
<p>You can also install and manage Bootstrap's Less, CSS, JavaScript, and fonts using <a href="https://getcomposer.org">Composer</a>:</p>
{% highlight bash %}$ composer require twbs/bootstrap{% endhighlight %}
<h2 id="download-autoprefixer">Autoprefixer required for Less/Sass</h2>
<p>Bootstrap uses <a href="https://github.com/postcss/autoprefixer">Autoprefixer</a> to deal with <a href="http://webdesign.about.com/od/css/a/css-vendor-prefixes.htm">CSS vendor prefixes</a>. If you're compiling Bootstrap from its Less/Sass source and not using our Gruntfile, you'll need to integrate Autoprefixer into your build process yourself. If you're using precompiled Bootstrap or using our Gruntfile, you don't need to worry about this because Autoprefixer is already integrated into our Gruntfile.</p>
</div>
@@ -1,161 +0,0 @@
<div class="bs-docs-section">
<h1 id="examples" class="page-header">Examples</h1>
<p class="lead">Build on the basic template above with Bootstrap's many components. We encourage you to customize and adapt Bootstrap to suit your individual project's needs.</p>
<p>Get the source code for every example below by <a href="{{ site.download.source }}">downloading the Bootstrap repository</a>. Examples can be found in the <code>docs/examples/</code> directory.</p>
<h2 id="examples-framework">Using the framework</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/starter-template/">
<img src="../examples/screenshots/starter-template.jpg" alt="Starter template example">
</a>
<h3>Starter template</h3>
<p>Nothing but the basics: compiled CSS and JavaScript along with a container.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/theme/">
<img src="../examples/screenshots/theme.jpg" alt="Bootstrap theme example">
</a>
<h3>Bootstrap theme</h3>
<p>Load the optional Bootstrap theme for a visually enhanced experience.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/grid/">
<img src="../examples/screenshots/grid.jpg" alt="Multiple grids example">
</a>
<h3>Grids</h3>
<p>Multiple examples of grid layouts with all four tiers, nesting, and more.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/jumbotron/">
<img src="../examples/screenshots/jumbotron.jpg" alt="Jumbotron example">
</a>
<h3>Jumbotron</h3>
<p>Build around the jumbotron with a navbar and some basic grid columns.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/jumbotron-narrow/">
<img src="../examples/screenshots/jumbotron-narrow.jpg" alt="Narrow jumbotron example">
</a>
<h3>Narrow jumbotron</h3>
<p>Build a more custom page by narrowing the default container and jumbotron.</p>
</div>
</div>
<h2 id="examples-navbars">Navbars in action</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar/">
<img src="../examples/screenshots/navbar.jpg" alt="Navbar example">
</a>
<h3>Navbar</h3>
<p>Super basic template that includes the navbar along with some additional content.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar-static-top/">
<img src="../examples/screenshots/navbar-static.jpg" alt="Static top navbar example">
</a>
<h3>Static top navbar</h3>
<p>Super basic template with a static top navbar along with some additional content.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar-fixed-top/">
<img src="../examples/screenshots/navbar-fixed.jpg" alt="Fixed navbar example">
</a>
<h3>Fixed navbar</h3>
<p>Super basic template with a fixed top navbar along with some additional content.</p>
</div>
</div>
<h2 id="examples-custom">Custom components</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/cover/">
<img src="../examples/screenshots/cover.jpg" alt="A one-page template example">
</a>
<h3>Cover</h3>
<p>A one-page template for building simple and beautiful home pages.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/carousel/">
<img src="../examples/screenshots/carousel.jpg" alt="Carousel example">
</a>
<h3>Carousel</h3>
<p>Customize the navbar and carousel, then add some new components.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/blog/">
<img src="../examples/screenshots/blog.jpg" alt="Blog layout example">
</a>
<h3>Blog</h3>
<p>Simple two-column blog layout with custom navigation, header, and type.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/dashboard/">
<img src="../examples/screenshots/dashboard.jpg" alt="Dashboard example">
</a>
<h3>Dashboard</h3>
<p>Basic structure for an admin dashboard with fixed sidebar and navbar.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/signin/">
<img src="../examples/screenshots/sign-in.jpg" alt="Sign-in page example">
</a>
<h3>Sign-in page</h3>
<p>Custom form layout and design for a simple sign in form.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/justified-nav/">
<img src="../examples/screenshots/justified-nav.jpg" alt="Justified nav example">
</a>
<h3>Justified nav</h3>
<p>Create a custom navbar with justified links. Heads up! <a href="../components/#nav-justified">Not too Safari friendly.</a></p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/sticky-footer/">
<img src="../examples/screenshots/sticky-footer.jpg" alt="Sticky footer example">
</a>
<h3>Sticky footer</h3>
<p>Attach a footer to the bottom of the viewport when the content is shorter than it.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/sticky-footer-navbar/">
<img src="../examples/screenshots/sticky-footer-navbar.jpg" alt="Sticky footer with navbar example">
</a>
<h3>Sticky footer with navbar</h3>
<p>Attach a footer to the bottom of the viewport with a fixed navbar at the top.</p>
</div>
</div>
<h2 id="examples-experiments">Experiments</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/non-responsive/">
<img src="../examples/screenshots/non-responsive.jpg" alt="Non-responsive example">
</a>
<h3>Non-responsive Bootstrap</h3>
<p>Easily disable the responsiveness of Bootstrap <a href="#disable-responsive">per our docs</a>.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/offcanvas/">
<img src="../examples/screenshots/offcanvas.jpg" alt="Off-canvas navigation example">
</a>
<h3>Off-canvas</h3>
<p>Build a toggleable off-canvas navigation menu for use with Bootstrap.</p>
</div>
</div>
</div>
-35
View File
@@ -1,35 +0,0 @@
<div class="bs-docs-section">
<h1 id="grunt" class="page-header">Compiling CSS and JavaScript</h1>
<p class="lead">Bootstrap uses <a href="http://gruntjs.com">Grunt</a> for its build system, with convenient methods for working with the framework. It's how we compile our code, run tests, and more.</p>
<h2 id="grunt-installing">Installing Grunt</h2>
<p>To install Grunt, you must <strong>first <a href="https://nodejs.org/download/">download and install node.js</a></strong> (which includes npm). npm stands for <a href="https://www.npmjs.com/">node packaged modules</a> and is a way to manage development dependencies through node.js.</p>
Then, from the command line:
<ol>
<li>Install <code>grunt-cli</code> globally with <code>npm install -g grunt-cli</code>.</li>
<li>Navigate to the root <code>/bootstrap/</code> directory, then run <code>npm install</code>. npm will look at the <a href="https://github.com/twbs/bootstrap/blob/master/package.json"><code>package.json</code></a> file and automatically install the necessary local dependencies listed there.</li>
</ol>
<p>When completed, you'll be able to run the various Grunt commands provided from the command line.</p>
<h2 id="grunt-commands">Available Grunt commands</h2>
<h3><code>grunt dist</code> (Just compile CSS and JavaScript)</h3>
<p>Regenerates the <code>/dist/</code> directory with compiled and minified CSS and JavaScript files. As a Bootstrap user, this is normally the command you want.</p>
<h3><code>grunt watch</code> (Watch)</h3>
<p>Watches the Less source files and automatically recompiles them to CSS whenever you save a change.</p>
<h3><code>grunt test</code> (Run tests)</h3>
<p>Runs <a href="http://jshint.com">JSHint</a> and runs the <a href="http://qunitjs.com">QUnit</a> tests headlessly in <a href="http://phantomjs.org">PhantomJS</a>.</p>
<h3><code>grunt docs</code> (Build &amp; test the docs assets)</h3>
<p>Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via <code>jekyll serve</code>.</p>
<h3><code>grunt</code> (Build absolutely everything and run tests)</h3>
<p>Compiles and minifies CSS and JavaScript, builds the documentation website, runs the HTML5 validator against the docs, regenerates the Customizer assets, and more. Requires <a href="http://jekyllrb.com/docs/installation/">Jekyll</a>. Usually only necessary if you're hacking on Bootstrap itself.</p>
<h2 id="grunt-troubleshooting">Troubleshooting</h2>
<p>Should you encounter problems with installing dependencies or running Grunt commands, first delete the <code>/node_modules/</code> directory generated by npm. Then, rerun <code>npm install</code>.</p>
</div>
@@ -1,34 +0,0 @@
<div class="bs-docs-section">
<h1 id="license-faqs" class="page-header">License FAQs</h1>
<p class="lead">Bootstrap is released under the MIT license and is copyright {{ site.time | date: "%Y" }} Twitter. Boiled down to smaller chunks, it can be described with the following conditions.</p>
<h2>It requires you to:</h2>
<ul>
<li>Keep the license and copyright notice included in Bootstrap's CSS and JavaScript files when you use them in your works</li>
</ul>
<h2>It permits you to:</h2>
<ul>
<li>Freely download and use Bootstrap, in whole or in part, for personal, private, company internal, or commercial purposes</li>
<li>Use Bootstrap in packages or distributions that you create</li>
<li>Modify the source code</li>
<li>Grant a sublicense to modify and distribute Bootstrap to third parties not included in the license</li>
</ul>
<h2>It forbids you to:</h2>
<ul>
<li>Hold the authors and license owners liable for damages as Bootstrap is provided without warranty</li>
<li>Hold the creators or copyright holders of Bootstrap liable</li>
<li>Redistribute any piece of Bootstrap without proper attribution</li>
<li>Use any marks owned by Twitter in any way that might state or imply that Twitter endorses your distribution</li>
<li>Use any marks owned by Twitter in any way that might state or imply that you created the Twitter software in question</li>
</ul>
<h2>It does not require you to:</h2>
<ul>
<li>Include the source of Bootstrap itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it</li>
<li>Submit changes that you make to Bootstrap back to the Bootstrap project (though such feedback is encouraged)</li>
</ul>
<p>The full Bootstrap license is located <a href="{{ site.repo }}/blob/master/LICENSE">in the project repository</a> for more information.</p>
</div>
@@ -1,37 +0,0 @@
<div class="bs-docs-section">
<h1 id="template" class="page-header">Basic template</h1>
<p class="lead">Start with this basic HTML template, or modify <a href="#examples">these examples</a>. We hope you'll customize our templates and examples, adapting them to suit your needs.</p>
<p>Copy the HTML below to begin working with a minimal Bootstrap document.</p>
{% highlight html %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>Hello, world!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>
{% endhighlight %}
</div>
@@ -1,51 +0,0 @@
<div class="bs-docs-section">
<h1 id="third-parties" class="page-header">Third party support</h1>
<p class="lead">While we don't officially support any third party plugins or add-ons, we do offer some useful advice to help avoid potential issues in your projects.</p>
<h2 id="third-box-sizing">Box-sizing</h2>
<p>Some third party software, including Google Maps and Google Custom Search Engine, conflict with Bootstrap due to <code>* { box-sizing: border-box; }</code>, a rule which makes it so <code>padding</code> does not affect the final computed width of an element. Learn more about <a href="https://css-tricks.com/box-sizing/">box model and sizing at CSS Tricks</a>.</p>
<p>Depending on the context, you may override as-needed (Option 1) or reset the box-sizing for entire regions (Option 2).</p>
{% highlight scss %}
/* Box-sizing resets
*
* Reset individual elements or override regions to avoid conflicts due to
* global box model settings of Bootstrap. Two options, individual overrides and
* region resets, are available as plain CSS and uncompiled Less formats.
*/
/* Option 1A: Override a single element's box model via CSS */
.element {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
/* Option 1B: Override a single element's box model by using a Bootstrap Less mixin */
.element {
.box-sizing(content-box);
}
/* Option 2A: Reset an entire region via CSS */
.reset-box-sizing,
.reset-box-sizing *,
.reset-box-sizing *:before,
.reset-box-sizing *:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
/* Option 2B: Reset an entire region with a custom Less mixin */
.reset-box-sizing {
&,
*,
*:before,
*:after {
.box-sizing(content-box);
}
}
.element {
.reset-box-sizing();
}
{% endhighlight %}
</div>
@@ -1,6 +0,0 @@
<div class="bs-docs-section">
<h1 id="tools" class="page-header">Tools</h1>
<h2 id="tools-bootlint">Bootlint</h2>
<p><strong><a href="https://github.com/twbs/bootlint">Bootlint</a></strong> is the official Bootstrap HTML <a href="http://en.wikipedia.org/wiki/Lint_(software)">linter</a> tool. It automatically checks for several common HTML mistakes in webpages that are using Bootstrap in a fairly "vanilla" way. Vanilla Bootstrap's components/widgets require their parts of the DOM to conform to certain structures. Bootlint checks that instances of Bootstrap components have correctly-structured HTML. Consider adding Bootlint to your Bootstrap web development toolchain so that none of the common mistakes slow down your project's development.</p>
</div>
@@ -1,12 +0,0 @@
<div class="bs-docs-section">
<h1 id="translations" class="page-header">Translations</h1>
<p class="lead">Community members have translated Bootstrap's documentation into various languages. None are officially supported and they may not always be up to date.</p>
<ul>
{% for language in site.data.translations %}
<li><a href="{{ language.url }}" hreflang="{{ language.code }}">{{ language.description }} ({{ language.name }})</a></li>
{% endfor %}
</ul>
<p><strong class="text-danger">We don't help organize or host translations, we just link to them.</strong></p>
<p>Finished a new or better translation? Open a pull request to add it to our list.</p>
</div>
@@ -1,55 +0,0 @@
<div class="bs-docs-section">
<h1 id="whats-included" class="page-header">What's included</h1>
<p class="lead">Bootstrap is downloadable in two forms, within which you'll find the following directories and files, logically grouping common resources and providing both compiled and minified variations.</p>
<div class="bs-callout bs-callout-warning" id="jquery-required">
<h4>jQuery required</h4>
<p>Please note that <strong>all JavaScript plugins require jQuery</strong> to be included, as shown in the <a href="#template">starter template</a>. <a href="{{ site.repo }}/blob/v{{ site.current_version }}/bower.json">Consult our <code>bower.json</code></a> to see which versions of jQuery are supported.</p>
</div>
<h2 id="whats-included-precompiled">Precompiled Bootstrap</h2>
<p>Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:</p>
<!-- NOTE: This info is intentionally duplicated in the README.
Copy any changes made here over to the README too. -->
{% highlight bash %}
bootstrap/
├── css/
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootstrap-theme.css
│ ├── bootstrap-theme.css.map
│ ├── bootstrap-theme.min.css
│ └── bootstrap-theme.min.css.map
├── js/
│ ├── bootstrap.js
│ └── bootstrap.min.js
└── fonts/
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
{% endhighlight %}
<!-- NOTE: This info is intentionally duplicated in the README.
Copy any changes made here over to the README too. -->
<p>This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). CSS <a href="https://developer.chrome.com/devtools/docs/css-preprocessors">source maps</a> (<code>bootstrap.*.map</code>) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.</p>
<h2 id="whats-included-source">Bootstrap source code</h2>
<p>The Bootstrap source code download includes the precompiled CSS, JavaScript, and font assets, along with source Less, JavaScript, and documentation. More specifically, it includes the following and more:</p>
{% highlight bash %}
bootstrap/
├── less/
├── js/
├── fonts/
├── dist/
│ ├── css/
│ ├── js/
│ └── fonts/
└── docs/
└── examples/
{% endhighlight %}
<p>The <code>less/</code>, <code>js/</code>, and <code>fonts/</code> are the source code for our CSS, JS, and icon fonts (respectively). The <code>dist/</code> folder includes everything listed in the precompiled download section above. The <code>docs/</code> folder includes the source code for our documentation, and <code>examples/</code> of Bootstrap usage. Beyond that, any other included file provides support for packages, license information, and development.</p>
</div>
+6 -27
View File
@@ -1,6 +1,6 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Bootstrap, a sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.">
<meta name="keywords" content="HTML, CSS, JS, JavaScript, framework, bootstrap, front-end, frontend, web development">
<meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors">
@@ -15,38 +15,17 @@
<!-- Bootstrap core CSS -->
{% if site.github %}
<link href="../dist/css/bootstrap.min.css" rel="stylesheet">
<link href="{{ site.baseurl }}/dist/css/bootstrap.min.css" rel="stylesheet">
{% else %}
<link href="../dist/css/bootstrap.css" rel="stylesheet">
{% endif %}
{% if page.slug == "css" or page.slug == "components" or page.slug == "js" %}
<!-- Optional Bootstrap Theme -->
{% if site.github %}
<link href="data:text/css;charset=utf-8," data-href="../dist/css/bootstrap-theme.min.css" rel="stylesheet" id="bs-theme-stylesheet">
{% else %}
<link href="data:text/css;charset=utf-8," data-href="../dist/css/bootstrap-theme.css" rel="stylesheet" id="bs-theme-stylesheet">
{% endif %}
<link href="{{ site.baseurl }}/dist/css/bootstrap.css" rel="stylesheet">
{% endif %}
<!-- Documentation extras -->
{% if site.github %}
<link href="../assets/css/docs.min.css" rel="stylesheet">
{% else %}
<link href="../assets/css/src/pygments-manni.css" rel="stylesheet">
<link href="../assets/css/src/docs.css" rel="stylesheet">
{% endif %}
<!--[if lt IE 9]><script src="../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="../assets/js/ie-emulation-modes-warning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link href="{{ site.baseurl }}/assets/css/docs.min.css" rel="stylesheet">
<!-- Favicons -->
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="{{ site.baseurl }}/apple-touch-icon.png">
<link rel="icon" href="{{ site.baseurl }}/favicon.ico">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-129
View File
@@ -1,129 +0,0 @@
<div class="bs-docs-section">
<h1 id="affix" class="page-header">Affix <small>affix.js</small></h1>
<h2 id="affix-examples">Example</h2>
<p>The affix plugin toggles <code>position: fixed;</code> on and off, emulating the effect found with <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/position#Sticky_positioning"><code>position: sticky;</code></a>. The subnavigation on the right is a live demo of the affix plugin.</p>
<hr class="bs-docs-separator">
<h2 id="affix-usage">Usage</h2>
<p>Use the affix plugin via data attributes or manually with your own JavaScript. <strong class="text-danger">In both situations, you must provide CSS for the positioning and width of your affixed content.</strong></p>
<p>Note: Do not use the affix plugin on an element contained in a relatively positioned element, such as a pulled or pushed column, due to a <a href="https://github.com/twbs/bootstrap/issues/12126">Safari rendering bug</a>.</p>
<h3>Positioning via CSS</h3>
<p>The affix plugin toggles between three classes, each representing a particular state: <code>.affix</code>, <code>.affix-top</code>, and <code>.affix-bottom</code>. You must provide the styles, with the exception of <code>position: fixed;</code> on <code>.affix</code>, for these classes yourself (independent of this plugin) to handle the actual positions.</p>
<p>Here's how the affix plugin works:</p>
<ol>
<li>To start, the plugin adds <code>.affix-top</code> to indicate the element is in its top-most position. At this point no CSS positioning is required.</li>
<li>Scrolling past the element you want affixed should trigger the actual affixing. This is where <code>.affix</code> replaces <code>.affix-top</code> and sets <code>position: fixed;</code> (provided by Bootstrap's CSS).</li>
<li>If a bottom offset is defined, scrolling past it should replace <code>.affix</code> with <code>.affix-bottom</code>. Since offsets are optional, setting one requires you to set the appropriate CSS. In this case, add <code>position: absolute;</code> when necessary. The plugin uses the data attribute or JavaScript option to determine where to position the element from there.</li>
</ol>
<p>Follow the above steps to set your CSS for either of the usage options below.</p>
<h3>Via data attributes</h3>
<p>To easily add affix behavior to any element, just add <code>data-spy="affix"</code> to the element you want to spy on. Use offsets to define when to toggle the pinning of an element.</p>
{% highlight html %}
<div data-spy="affix" data-offset-top="60" data-offset-bottom="200">
...
</div>
{% endhighlight %}
<h3>Via JavaScript</h3>
<p>Call the affix plugin via JavaScript:</p>
{% highlight js %}
$('#myAffix').affix({
offset: {
top: 100,
bottom: function () {
return (this.bottom = $('.footer').outerHeight(true))
}
}
})
{% endhighlight %}
<h3 id="affix-options">Options</h3>
<p>Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-offset-top="200"</code>.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped js-options-table">
<thead>
<tr>
<th>Name</th>
<th>type</th>
<th>default</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>offset</td>
<td>number | function | object</td>
<td>10</td>
<td>Pixels to offset from screen when calculating position of scroll. If a single number is provided, the offset will be applied in both top and bottom directions. To provide a unique, bottom and top offset just provide an object <code>offset: { top: 10 }</code> or <code>offset: { top: 10, bottom: 5 }</code>. Use a function when you need to dynamically calculate an offset.</td>
</tr>
<tr>
<td>target</td>
<td>selector | node | jQuery element</td>
<td>the <code>window</code> object</td>
<td>Specifies the target element of the affix.</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
<h3 id="affix-methods">Methods</h3>
<h4><code>.affix(options)</code></h4>
<p>Activates your content as affixed content. Accepts an optional options <code>object</code>.</p>
{% highlight js %}
$('#myAffix').affix({
offset: 15
})
{% endhighlight %}
<h4><code>.affix('checkPosition')</code></h4>
<p>Recalculates the state of the affix based on the dimensions, position, and scroll position of the relevant elements. The <code>.affix</code>, <code>.affix-top</code>, and <code>.affix-bottom</code> classes are added to or removed from the affixed content according to the new state. This method needs to be called whenever the dimensions of the affixed content or the target element are changed, to ensure correct positioning of the affixed content.</p>
{% highlight js %}$('#myAffix').affix('checkPosition'){% endhighlight %}
<h3 id="affix-events">Events</h3>
<p>Bootstrap's affix plugin exposes a few events for hooking into affix functionality.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped bs-events-table">
<thead>
<tr>
<th>Event Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>affix.bs.affix</td>
<td>This event fires immediately before the element has been affixed.</td>
</tr>
<tr>
<td>affixed.bs.affix</td>
<td>This event is fired after the element has been affixed.</td>
</tr>
<tr>
<td>affix-top.bs.affix</td>
<td>This event fires immediately before the element has been affixed-top.</td>
</tr>
<tr>
<td>affixed-top.bs.affix</td>
<td>This event is fired after the element has been affixed-top.</td>
</tr>
<tr>
<td>affix-bottom.bs.affix</td>
<td>This event fires immediately before the element has been affixed-bottom.</td>
</tr>
<tr>
<td>affixed-bottom.bs.affix</td>
<td>This event is fired after the element has been affixed-bottom.</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
</div>
-73
View File
@@ -1,73 +0,0 @@
<div class="bs-docs-section">
<h1 id="alerts" class="page-header">Alert messages <small>alert.js</small></h1>
<h2 id="alerts-examples">Example alerts</h2>
<p>Add dismiss functionality to all alert messages with this plugin.</p>
<p>When using a <code>.close</code> button, it must be the first child of the <code>.alert-dismissible</code> and no text content may come before it in the markup.</p>
<div class="bs-example bs-example-standalone" data-example-id="dismissible-alert-js">
<div class="alert alert-warning alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
</div>
<div class="alert alert-danger alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4>Oh snap! You got an error!</h4>
<p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
<p>
<button type="button" class="btn btn-danger">Take this action</button>
<button type="button" class="btn btn-default">Or do this</button>
</p>
</div>
</div><!-- /example -->
<h2 id="alerts-usage">Usage</h2>
<p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality. Closing an alert removes it from the DOM.</p>
{% highlight html %}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
{% endhighlight %}
<p>To have your alerts use animation when closing, make sure they have the <code>.fade</code> and <code>.in</code> classes already applied to them.</p>
<h3 id="alerts-methods">Methods</h3>
<h4><code>$().alert()</code></h4>
<p>Makes an alert listen for click events on descendant elements which have the <code>data-dismiss="alert"</code> attribute. (Not necessary when using the data-api's auto-initialization.)</p>
<h4><code>$().alert('close')</code></h4>
<p>Closes an alert by removing it from the DOM. If the <code>.fade</code> and <code>.in</code> classes are present on the element, the alert will fade out before it is removed.</p>
<h3 id="alerts-events">Events</h3>
<p>Bootstrap's alert plugin exposes a few events for hooking into alert functionality.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped bs-events-table">
<thead>
<tr>
<th>Event Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>close.bs.alert</td>
<td>This event fires immediately when the <code>close</code> instance method is called.</td>
</tr>
<tr>
<td>closed.bs.alert</td>
<td>This event is fired when the alert has been closed (will wait for CSS transitions to complete).</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
{% highlight js %}
$('#myAlert').on('closed.bs.alert', function () {
// do something…
})
{% endhighlight %}
</div>
-139
View File
@@ -1,139 +0,0 @@
<div class="bs-docs-section">
<h1 id="buttons" class="page-header">Buttons <small>button.js</small></h1>
<p class="lead">Do more with buttons. Control button states or create groups of buttons for more components like toolbars.</p>
<div class="bs-callout bs-callout-danger" id="callout-buttons-ff-autocomplete">
<h4>Cross-browser compatibility</h4>
<p><a href="https://github.com/twbs/bootstrap/issues/793">Firefox persists form control states (disabledness and checkedness) across page loads</a>. A workaround for this is to use <code>autocomplete="off"</code>. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=654072">Mozilla bug #654072</a>.</p>
</div>
<h2 id="buttons-stateful">Stateful</h2>
<p>Add <code>data-loading-text="Loading..."</code> to use a loading state on a button.</p>
<p><strong class="text-danger">This feature is deprecated since v3.3.5 and will be removed in v4.</strong></p>
<div class="bs-callout bs-callout-info" id="callout-buttons-state-names">
<h4>Use whichever state you like!</h4>
<p>For the sake of this demonstration, we are using <code>data-loading-text</code> and <code>$().button('loading')</code>, but that's not the only state you can use. <a href="#buttons-methods">See more on this below in the <code>$().button(string)</code> documentation</a>.</p>
</div>
<div class="bs-example">
<button type="button" id="loading-example-btn" data-loading-text="Loading..." class="btn btn-primary" autocomplete="off">
Loading state
</button>
</div><!-- /example -->
{% highlight html %}
<button type="button" id="myButton" data-loading-text="Loading..." class="btn btn-primary" autocomplete="off">
Loading state
</button>
<script>
$('#myButton').on('click', function () {
var $btn = $(this).button('loading')
// business logic...
$btn.button('reset')
})
</script>
{% endhighlight %}
<h2 id="buttons-single-toggle">Single toggle</h2>
<p>Add <code>data-toggle="button"</code> to activate toggling on a single button.</p>
<div class="bs-callout bs-callout-warning" id="callout-buttons-single-pretoggled">
<h4>Pre-toggled buttons need <code>.active</code> and <code>aria-pressed="true"</code></h4>
<p>For pre-toggled buttons, you must add the <code>.active</code> class and the <code>aria-pressed="true"</code> attribute to the <code>button</code> yourself.</p>
</div>
<div class="bs-example">
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off">
Single toggle
</button>
</div><!-- /example -->
{% highlight html %}
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off">
Single toggle
</button>
{% endhighlight %}
<h2 id="buttons-checkbox-radio">Checkbox / Radio</h2>
<p>Add <code>data-toggle="buttons"</code> to a <code>.btn-group</code> containing checkbox or radio inputs to enable toggling in their respective styles.</p>
<div class="bs-callout bs-callout-warning" id="callout-buttons-multi-preselected">
<h4>Preselected options need <code>.active</code></h4>
<p>For preselected options, you must add the <code>.active</code> class to the input's <code>label</code> yourself.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-buttons-only-click">
<h4>Visual checked state only updated on click</h4>
<p>If the checked state of a checkbox button is updated without firing a <code>click</code> event on the button (e.g. via <code>&lt;input type="reset"&gt;</code> or via setting the <code>checked</code> property of the input), you will need to toggle the <code>.active</code> class on the input's <code>label</code> yourself.</p>
</div>
<div class="bs-example" data-example-id="buttons-checkbox">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="checkbox" checked autocomplete="off"> Checkbox 1 (pre-checked)
</label>
<label class="btn btn-primary">
<input type="checkbox" autocomplete="off"> Checkbox 2
</label>
<label class="btn btn-primary">
<input type="checkbox" autocomplete="off"> Checkbox 3
</label>
</div>
</div><!-- /example -->
{% highlight html %}
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="checkbox" autocomplete="off" checked> Checkbox 1 (pre-checked)
</label>
<label class="btn btn-primary">
<input type="checkbox" autocomplete="off"> Checkbox 2
</label>
<label class="btn btn-primary">
<input type="checkbox" autocomplete="off"> Checkbox 3
</label>
</div>
{% endhighlight %}
<div class="bs-example" data-example-id="buttons-radio">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected)
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option2" autocomplete="off"> Radio 2
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option3" autocomplete="off"> Radio 3
</label>
</div>
</div><!-- /example -->
{% highlight html %}
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected)
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option2" autocomplete="off"> Radio 2
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option3" autocomplete="off"> Radio 3
</label>
</div>
{% endhighlight %}
<h2 id="buttons-methods">Methods</h2>
<h4><code>$().button('toggle')</code></h4>
<p>Toggles push state. Gives the button the appearance that it has been activated.</p>
<h4><code>$().button('reset')</code></h4>
<p>Resets button state - swaps text to original text. <strong>This method is asynchronous and returns before the resetting has actually completed.</strong></p>
<h4><code>$().button(string)</code></h4>
<p>Swaps text to any data defined text state.</p>
{% highlight html %}
<button type="button" id="myStateButton" data-complete-text="finished!" class="btn btn-primary" autocomplete="off">
...
</button>
<script>
$('#myStateButton').on('click', function () {
$(this).button('complete') // button text will be "finished!"
})
</script>
{% endhighlight %}
</div>
-255
View File
@@ -1,255 +0,0 @@
<div class="bs-docs-section">
<h1 id="carousel" class="page-header">Carousel <small>carousel.js</small></h1>
<p>A slideshow component for cycling through elements, like a carousel. <strong>Nested carousels are not supported.</strong></p>
<h2 id="carousel-examples">Examples</h2>
<div class="bs-example" data-example-id="simple-carousel">
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img data-src="holder.js/900x500/auto/#777:#555/text:First slide" alt="First slide">
</div>
<div class="item">
<img data-src="holder.js/900x500/auto/#666:#444/text:Second slide" alt="Second slide">
</div>
<div class="item">
<img data-src="holder.js/900x500/auto/#555:#333/text:Third slide" alt="Third slide">
</div>
</div>
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div><!-- /example -->
{% highlight html %}
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
<div class="item">
<img src="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
...
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
{% endhighlight %}
<div class="bs-callout bs-callout-danger" id="callout-carousel-accessibility">
<h4>Accessibility issue</h4>
<p>The carousel component is generally not compliant with accessibility standards. If you need to be compliant, please consider other options for presenting your content.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-carousel-transitions">
<h4>Transition animations not supported in Internet Explorer 8 &amp; 9</h4>
<p>Bootstrap exclusively uses CSS3 for its animations, but Internet Explorer 8 &amp; 9 don't support the necessary CSS properties. Thus, there are no slide transition animations when using these browsers. We have intentionally decided not to include jQuery-based fallbacks for the transitions.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-carousel-active">
<h4>Initial active element required</h4>
<p>The <code>.active</code> class needs to be added to one of the slides. Otherwise, the carousel will not be visible.</p>
</div>
<h3>Optional captions</h3>
<p>Add captions to your slides easily with the <code>.carousel-caption</code> element within any <code>.item</code>. Place just about any optional HTML within there and it will be automatically aligned and formatted.</p>
<div class="bs-example" data-example-id="carousel-with-captions">
<div id="carousel-example-captions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel-example-captions" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-captions" data-slide-to="1"></li>
<li data-target="#carousel-example-captions" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img data-src="holder.js/900x500/auto/#777:#777" alt="First slide image">
<div class="carousel-caption">
<h3>First slide label</h3>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="item">
<img data-src="holder.js/900x500/auto/#666:#666" alt="Second slide image">
<div class="carousel-caption">
<h3>Second slide label</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div class="item">
<img data-src="holder.js/900x500/auto/#555:#555" alt="Third slide image">
<div class="carousel-caption">
<h3>Third slide label</h3>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
</div>
</div>
</div>
<a class="left carousel-control" href="#carousel-example-captions" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-captions" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div><!-- /example -->
{% highlight html %}
<div class="item">
<img src="..." alt="...">
<div class="carousel-caption">
<h3>...</h3>
<p>...</p>
</div>
</div>
{% endhighlight %}
<h2 id="carousel-usage">Usage</h2>
<h3>Multiple carousels</h3>
<p>Carousels require the use of an <code>id</code> on the outermost container (the <code>.carousel</code>) for carousel controls to function properly. When adding multiple carousels, or when changing a carousel's <code>id</code>, be sure to update the relevant controls.</p>
<h3>Via data attributes</h3>
<p>Use data attributes to easily control the position of the carousel. <code>data-slide</code> accepts the keywords <code>prev</code> or <code>next</code>, which alters the slide position relative to its current position. Alternatively, use <code>data-slide-to</code> to pass a raw slide index to the carousel <code>data-slide-to="2"</code>, which shifts the slide position to a particular index beginning with <code>0</code>.</p>
<p>The <code>data-ride="carousel"</code> attribute is used to mark a carousel as animating starting at page load. <strong class="text-danger">It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.</strong></p>
<h3>Via JavaScript</h3>
<p>Call carousel manually with:</p>
{% highlight js %}
$('.carousel').carousel()
{% endhighlight %}
<h3 id="carousel-options">Options</h3>
<p>Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-interval=""</code>.</p>
<div class="table-responsive">
<table class="table table-bordered table-striped js-options-table">
<thead>
<tr>
<th>Name</th>
<th>type</th>
<th>default</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td>interval</td>
<td>number</td>
<td>5000</td>
<td>The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.</td>
</tr>
<tr>
<td>pause</td>
<td>string</td>
<td>"hover"</td>
<td>Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.</td>
</tr>
<tr>
<td>wrap</td>
<td>boolean</td>
<td>true</td>
<td>Whether the carousel should cycle continuously or have hard stops.</td>
</tr>
<tr>
<td>keyboard</td>
<td>boolean</td>
<td>true</td>
<td>Whether the carousel should react to keyboard events.</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
<h3 id="carousel-methods">Methods</h3>
<h4><code>.carousel(options)</code></h4>
<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
{% highlight js %}
$('.carousel').carousel({
interval: 2000
})
{% endhighlight %}
<h4><code>.carousel('cycle')</code></h4>
<p>Cycles through the carousel items from left to right.</p>
<h4><code>.carousel('pause')</code></h4>
<p>Stops the carousel from cycling through items.</p>
<h4><code>.carousel(number)</code></h4>
<p>Cycles the carousel to a particular frame (0 based, similar to an array).</p>
<h4><code>.carousel('prev')</code></h4>
<p>Cycles to the previous item.</p>
<h4><code>.carousel('next')</code></h4>
<p>Cycles to the next item.</p>
<h3 id="carousel-events">Events</h3>
<p>Bootstrap's carousel class exposes two events for hooking into carousel functionality.</p>
<p>Both events have the following additional properties:</p>
<ul>
<li><code>direction</code>: The direction in which the carousel is sliding (either <code>"left"</code> or <code>"right"</code>).</li>
<li><code>relatedTarget</code>: The DOM element that is being slid into place as the active item.</li>
</ul>
<p>All carousel events are fired at the carousel itself (i.e. at the <code>&lt;div class="carousel"&gt;</code>).</p>
<div class="table-responsive">
<table class="table table-bordered table-striped bs-events-table">
<thead>
<tr>
<th>Event Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>slide.bs.carousel</td>
<td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
</tr>
<tr>
<td>slid.bs.carousel</td>
<td>This event is fired when the carousel has completed its slide transition.</td>
</tr>
</tbody>
</table>
</div><!-- /.table-responsive -->
{% highlight js %}
$('#myCarousel').on('slide.bs.carousel', function () {
// do something…
})
{% endhighlight %}
</div>

Some files were not shown because too many files have changed in this diff Show More