Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'master' of http://git.local.twitter.com/bootstrap

  • Loading branch information...
commit 768fa3c8a666f98294d21d046156439eef582696 2 parents 3117fc9 + 799fd6a
@mdo mdo authored
View
BIN  .DS_Store
Binary file not shown
View
33 Makefile
@@ -1,10 +1,29 @@
-# NOTE: you must have the less npm package installed globally to build!
-# To install run: npm install less -g
-# ProTip: watchr -e "watch('lib/.*\.less') { system 'make' }"
+DATE=$(shell DATE)
+BOOTSTRAP = ./bootstrap-1.0.0.css
+BOOTSTRAP_MIN = ./bootstrap-1.0.0.min.css
+BOOTSTRAP_LESS = ./lib/bootstrap.less
+LESS_COMPESSOR ?= `which lessc`
+WATCHR ?= `which watchr`
build:
- @lessc ./lib/bootstrap.less > ./bootstrap-1.0.0.css
- @lessc ./lib/bootstrap.less > ./bootstrap-1.0.0.min.css --compress
- @echo "Bootstrap successfully built! - `date`"
+ @@if test ! -z ${LESS_COMPESSOR}; then \
+ sed 's/@DATE/'"${DATE}"'/' ${BOOTSTRAP_LESS} >${BOOTSTRAP_LESS}.tmp; \
+ lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP}; \
+ lessc ${BOOTSTRAP_LESS}.tmp > ${BOOTSTRAP_MIN} --compress; \
+ rm -f ${BOOTSTRAP_LESS}.tmp; \
+ echo "Bootstrap successfully built! - `date`"; \
+ else \
+ echo "You must have the LESS compiler installed in order to build Bootstrap."; \
+ echo "You can install it by running: npm install less -g"; \
+ fi
-.PHONY: build
+watch:
+ @@if test ! -z ${LESS_COMPESSOR}; then \
+ echo "Watching less files..."; \
+ watchr -e "watch('lib/.*\.less') { system 'make' }"; \
+ else \
+ echo "You must have the WATCHR installed in order to build Bootstrap."; \
+ echo "You can install it by running: gem install watchr"; \
+ fi
+
+.PHONY: build watch
View
BIN  assets/img/dropdown-arrow.gif
Deleted file not rendered
View
BIN  assets/img/grid-20px.png
Deleted file not rendered
View
BIN  assets/img/tablesorter-indicators.png
Deleted file not rendered
View
86 bootstrap-1.0.0.css
@@ -6,7 +6,7 @@
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: {{ date }}
+ * Date: Sat Jul 2 11:50:18 PDT 2011
*/
/*
* Reset.less
@@ -1013,31 +1013,61 @@ table.zebra-striped tbody tr:hover td {
}
table.zebra-striped th.header {
cursor: pointer;
- padding-right: 20px;
+}
+table.zebra-striped th.header:after {
+ width: 0px;
+ height: 0px;
+ display: inline-block;
+ float: right;
+ margin-top: 7px;
+ content: "↓";
+ text-indent: -99999px;
+ vertical-align: top;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-bottom: 4px solid #000;
+ visibility: hidden;
+ -webkit-box-shadow: 0 1px 0 #ffffff;
+ -moz-box-shadow: 0 1px 0 #ffffff;
+ box-shadow: 0 1px 0 #ffffff;
+ filter: alpha(opacity=30);
+ -khtml-opacity: 0.3;
+ -moz-opacity: 0.3;
+ opacity: 0.3;
}
table.zebra-striped th.headerSortUp, table.zebra-striped th.headerSortDown {
- background-image: url(assets/img/tablesorter-indicators.png);
- background-position: right -23px;
- background-repeat: no-repeat;
background-color: rgba(141, 192, 219, 0.25);
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-webkit-border-radius: 3px 3px 0 0;
-moz-border-radius: 3px 3px 0 0;
border-radius: 3px 3px 0 0;
}
-table.zebra-striped th.header:hover {
- background-image: url(assets/img/tablesorter-indicators.png);
- background-position: right 15px;
- background-repeat: no-repeat;
+table.zebra-striped th.header:hover:after {
+ visibility: visible;
}
table.zebra-striped th.actions:hover {
background-image: none;
}
-table.zebra-striped th.headerSortDown, table.zebra-striped th.headerSortDown:hover {
- background-position: right -25px;
-}
-table.zebra-striped th.headerSortUp, table.zebra-striped th.headerSortUp:hover {
- background-position: right -65px;
+table.zebra-striped th.headerSortDown:after, table.zebra-striped th.headerSortDown:hover:after {
+ visibility: visible;
+ filter: alpha(opacity=60);
+ -khtml-opacity: 0.6;
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+table.zebra-striped th.headerSortUp:after {
+ border-bottom: none;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #000;
+ visibility: visible;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ filter: alpha(opacity=60);
+ -khtml-opacity: 0.6;
+ -moz-opacity: 0.6;
+ opacity: 0.6;
}
table.zebra-striped th.blue {
color: #049cdb;
@@ -1134,8 +1164,11 @@ div.topbar a.logo img {
div.topbar form {
float: left;
margin: 5px 0 0 0;
- opacity: 1;
position: relative;
+ filter: alpha(opacity=100);
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ opacity: 1;
}
div.topbar form input {
background-color: #bfbfbf;
@@ -1222,16 +1255,21 @@ div.topbar ul li.menu {
position: relative;
}
div.topbar ul li.menu a.menu:after {
- width: 7px;
- height: 7px;
+ width: 0px;
+ height: 0px;
display: inline-block;
- background: transparent url(assets/img/dropdown-arrow.gif) no-repeat top center;
content: "↓";
text-indent: -99999px;
vertical-align: top;
margin-top: 8px;
margin-left: 4px;
- opacity: .5;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #fff;
+ filter: alpha(opacity=50);
+ -khtml-opacity: 0.5;
+ -moz-opacity: 0.5;
+ opacity: 0.5;
}
div.topbar ul li.menu.open a.menu, div.topbar ul li.menu.open a:hover {
background-color: #00b4eb;
@@ -1365,18 +1403,24 @@ div.alert-message.info {
div.alert-message a.close {
float: right;
margin-top: -2px;
- opacity: .5;
color: #fff;
font-size: 20px;
font-weight: bold;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+ filter: alpha(opacity=50);
+ -khtml-opacity: 0.5;
+ -moz-opacity: 0.5;
+ opacity: 0.5;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
div.alert-message a.close:hover {
- opacity: 1;
text-decoration: none;
+ filter: alpha(opacity=50);
+ -khtml-opacity: 0.5;
+ -moz-opacity: 0.5;
+ opacity: 0.5;
}
div.block-message {
margin-bottom: 18px;
View
16 bootstrap-1.0.0.min.css
@@ -131,12 +131,12 @@ table{width:100%;margin-bottom:18px;padding:0;text-align:left;border-collapse:se
table th{padding-top:9px;font-weight:bold;border-bottom-width:2px;}
table.zebra-striped tbody tr:nth-child(odd) td{background-color:#f9f9f9;}
table.zebra-striped tbody tr:hover td{background-color:#f5f5f5;}
-table.zebra-striped th.header{cursor:pointer;padding-right:20px;}
-table.zebra-striped th.headerSortUp,table.zebra-striped th.headerSortDown{background-image:url(assets/img/tablesorter-indicators.png);background-position:right -23px;background-repeat:no-repeat;background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}
-table.zebra-striped th.header:hover{background-image:url(assets/img/tablesorter-indicators.png);background-position:right 15px;background-repeat:no-repeat;}
+table.zebra-striped th.header{cursor:pointer;}table.zebra-striped th.header:after{width:0px;height:0px;display:inline-block;float:right;margin-top:7px;content:"↓";text-indent:-99999px;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid #000;visibility:hidden;-webkit-box-shadow:0 1px 0 #ffffff;-moz-box-shadow:0 1px 0 #ffffff;box-shadow:0 1px 0 #ffffff;filter:alpha(opacity=30);-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;}
+table.zebra-striped th.headerSortUp,table.zebra-striped th.headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}
+table.zebra-striped th.header:hover:after{visibility:visible;}
table.zebra-striped th.actions:hover{background-image:none;}
-table.zebra-striped th.headerSortDown,table.zebra-striped th.headerSortDown:hover{background-position:right -25px;}
-table.zebra-striped th.headerSortUp,table.zebra-striped th.headerSortUp:hover{background-position:right -65px;}
+table.zebra-striped th.headerSortDown:after,table.zebra-striped th.headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
+table.zebra-striped th.headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;}
table.zebra-striped th.blue{color:#049cdb;border-bottom-color:#049cdb;}
table.zebra-striped th.headerSortUp.blue,table.zebra-striped th.headerSortDown.blue{background-color:#ade6fe;}
table.zebra-striped th.green{color:#46a546;border-bottom-color:#46a546;}
@@ -152,7 +152,7 @@ table.zebra-striped th.headerSortUp.purple,table.zebra-striped th.headerSortDown
div.topbar{background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(#333333, #222222);background-image:-ms-linear-gradient(#333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(#333333, #222222);background-image:-o-linear-gradient(#333333, #222222);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);background-image:linear-gradient(#333333, #222222);height:40px;position:fixed;top:0;left:0;right:0;z-index:1000;overflow:visible;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);}div.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
div.topbar ul li a:hover,div.topbar ul li.active a,div.topbar a.logo:hover{background-color:#333;background-color:rgba(255, 255, 255, 0.15);color:#ffffff;text-decoration:none;}
div.topbar a.logo{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;}div.topbar a.logo img{float:left;margin-right:6px;}
-div.topbar form{float:left;margin:5px 0 0 0;opacity:1;position:relative;}div.topbar form input{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;width:220px;padding:4px 9px;color:#fff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;transition:none;}div.topbar form input:-moz-placeholder{color:#e6e6e6;}
+div.topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;}div.topbar form input{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;width:220px;padding:4px 9px;color:#fff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;transition:none;}div.topbar form input:-moz-placeholder{color:#e6e6e6;}
div.topbar form input::-webkit-input-placeholder{color:#e6e6e6;}
div.topbar form input:hover{background-color:#444;background-color:rgba(255, 255, 255, 0.5);color:#fff;}
div.topbar form input:focus,div.topbar form input.focused{outline:none;background-color:#fff;color:#404040;text-shadow:0 1px 0 #fff;border:0;padding:5px 10px;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);}
@@ -161,7 +161,7 @@ div.topbar ul li{display:block;float:left;font-size:13px;}div.topbar ul li a{dis
div.topbar ul li.active a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);}
div.topbar ul.primary-nav li ul{left:0;}
div.topbar ul.secondary-nav li ul{right:0;}
-div.topbar ul li.menu{position:relative;}div.topbar ul li.menu a.menu:after{width:7px;height:7px;display:inline-block;background:transparent url(assets/img/dropdown-arrow.gif) no-repeat top center;content:"↓";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;opacity:.5;}
+div.topbar ul li.menu{position:relative;}div.topbar ul li.menu a.menu:after{width:0px;height:0px;display:inline-block;content:"↓";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #fff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
div.topbar ul li.menu.open a.menu,div.topbar ul li.menu.open a:hover{background-color:#00b4eb;background-color:rgba(255, 255, 255, 0.1);color:#fff;}
div.topbar ul li.menu.open ul{display:block;}div.topbar ul li.menu.open ul li a{background-color:transparent;font-weight:normal;}div.topbar ul li.menu.open ul li a:hover{background-color:rgba(255, 255, 255, 0.1);color:#fff;}
div.topbar ul li.menu.open ul li.active a{background-color:rgba(255, 255, 255, 0.1);font-weight:bold;}
@@ -174,7 +174,7 @@ div.alert-message.error{background-color:#e06359;}
div.alert-message.warning{background-color:#ffd75a;}
div.alert-message.success{background-color:#74c474;}
div.alert-message.info{background-color:#30c0fb;}
-div.alert-message a.close{float:right;margin-top:-2px;opacity:.5;color:#fff;font-size:20px;font-weight:bold;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}div.alert-message a.close:hover{opacity:1;text-decoration:none;}
+div.alert-message a.close{float:right;margin-top:-2px;color:#fff;font-size:20px;font-weight:bold;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}div.alert-message a.close:hover{text-decoration:none;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;}
div.block-message{margin-bottom:18px;padding:14px;color:#404040;color:rgba(0, 0, 0, 0.8);text-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}div.block-message p{color:#404040;color:rgba(0, 0, 0, 0.8);margin-right:30px;margin-bottom:0;}
div.block-message ul{margin-bottom:0;}
div.block-message strong{display:block;}
View
2  lib/bootstrap.less
@@ -6,7 +6,7 @@
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Date: {{ date }}
+ * Date: @DATE
*/
// CSS Reset
View
16 lib/patterns.less
@@ -50,8 +50,8 @@ div.topbar {
form {
float: left;
margin: 5px 0 0 0;
- opacity: 1;
position: relative;
+ .opacity(100);
input {
background-color: @grayLight;
background-color: rgba(255,255,255,.3);
@@ -131,16 +131,18 @@ div.topbar {
position: relative;
a.menu {
&:after {
- width: 7px;
- height: 7px;
+ width: 0px;
+ height: 0px;
display: inline-block;
- background: transparent url(assets/img/dropdown-arrow.gif) no-repeat top center;
content: "↓";
text-indent: -99999px;
vertical-align: top;
margin-top: 8px;
margin-left: 4px;
- opacity: .5;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #fff;
+ .opacity(50);
}
}
&.open {
@@ -276,15 +278,15 @@ div.alert-message {
a.close {
float: right;
margin-top: -2px;
- opacity: .5;
color: #fff;
font-size: 20px;
font-weight: bold;
text-shadow: 0 1px 0 rgba(0,0,0,.5);
+ .opacity(50);
.border-radius(3px);
&:hover {
- opacity: 1;
text-decoration: none;
+ .opacity(50);
}
}
}
View
44 lib/tables.less
@@ -44,32 +44,54 @@ table.zebra-striped {
// Tablesorting styles w/ jQuery plugin
th.header { // For tablesorter tables, make THs have a pointer on hover
cursor: pointer;
- padding-right: 20px;
+ &:after {
+ width: 0px;
+ height: 0px;
+ display: inline-block;
+ float: right;
+ margin-top:7px;
+ content: "↓";
+ text-indent: -99999px;
+ vertical-align: top;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-bottom: 4px solid #000;
+ visibility:hidden;
+ .box-shadow(0 1px 0 #fff);
+ .opacity(30);
+ }
}
th.headerSortUp,
th.headerSortDown { // Style the sorted column headers (THs)
- background-image: url(assets/img/tablesorter-indicators.png);
- background-position: right -23px;
- background-repeat: no-repeat;
background-color: rgba(141,192,219,.25);
text-shadow: 0 1px 1px rgba(255,255,255,.75);
.border-radius(3px 3px 0 0);
}
th.header:hover { // Style the ascending (reverse alphabetical) column header
- background-image: url(assets/img/tablesorter-indicators.png);
- background-position: right 15px;
- background-repeat: no-repeat;
+ &:after {
+ visibility:visible;
+ }
}
th.actions:hover {
background-image: none;
}
th.headerSortDown,
th.headerSortDown:hover { // Style the descending (alphabetical) column header
- background-position: right -25px;
+ &:after {
+ visibility:visible;
+ .opacity(60);
+ }
}
- th.headerSortUp,
- th.headerSortUp:hover { // Style the ascending (reverse alphabetical) column header
- background-position: right -65px;
+ th.headerSortUp { // Style the ascending (reverse alphabetical) column header
+ &:after {
+ border-bottom: none;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #000;
+ visibility:visible;
+ .box-shadow(none); //can't add boxshadow to downward facing arrow :(
+ .opacity(60);
+ }
}
// Blue Table Headings
th.blue {
Please sign in to comment.
Something went wrong with that request. Please try again.