You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2014/02/07 22:48:48 UTC
[2/3] Update Less4J to 1.2.4
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
index 3d24e66..ae746d8 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
@@ -19,8 +19,8 @@
.clearfix() {
&:before,
&:after {
- content: " "; /* 1 */
- display: table; /* 2 */
+ content: " "; // 1
+ display: table; // 2
}
&:after {
clear: both;
@@ -30,7 +30,7 @@
// WebKit-style focus
.tab-focus() {
// Default
- outline: thin dotted #333;
+ outline: thin dotted;
// WebKit
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
@@ -55,7 +55,8 @@
// Placeholder text
.placeholder(@color: @input-color-placeholder) {
&:-moz-placeholder { color: @color; } // Firefox 4-18
- &::-moz-placeholder { color: @color; } // Firefox 19+
+ &::-moz-placeholder { color: @color; // Firefox 19+
+ opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
&:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
&::-webkit-input-placeholder { color: @color; } // Safari and Chrome
}
@@ -87,11 +88,7 @@
}
// New mixin to use as of v3.0.1
.text-hide() {
- font: ~"0/0" a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
+ .hide-text();
}
@@ -118,6 +115,10 @@
}
// Drop shadows
+//
+// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
+// supported browsers that have box shadow capabilities now support the
+// standard `box-shadow` property.
.box-shadow(@shadow) {
-webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
box-shadow: @shadow;
@@ -150,17 +151,17 @@
// Transformations
.rotate(@degrees) {
-webkit-transform: rotate(@degrees);
- -ms-transform: rotate(@degrees); // IE9+
+ -ms-transform: rotate(@degrees); // IE9 only
transform: rotate(@degrees);
}
-.scale(@ratio) {
- -webkit-transform: scale(@ratio);
- -ms-transform: scale(@ratio); // IE9+
- transform: scale(@ratio);
+.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+
+ -ms-transform: translate(@x, @y); // IE9 only
transform: translate(@x, @y);
}
.skew(@x; @y) {
@@ -175,12 +176,12 @@
.rotateX(@degrees) {
-webkit-transform: rotateX(@degrees);
- -ms-transform: rotateX(@degrees); // IE9+
+ -ms-transform: rotateX(@degrees); // IE9 only
transform: rotateX(@degrees);
}
.rotateY(@degrees) {
-webkit-transform: rotateY(@degrees);
- -ms-transform: rotateY(@degrees); // IE9+
+ -ms-transform: rotateY(@degrees); // IE9 only
transform: rotateY(@degrees);
}
.perspective(@perspective) {
@@ -196,6 +197,7 @@
.transform-origin(@origin) {
-webkit-transform-origin: @origin;
-moz-transform-origin: @origin;
+ -ms-transform-origin: @origin; // IE9 only
transform-origin: @origin;
}
@@ -204,6 +206,30 @@
-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;
+}
// Backface visibility
// Prevent browsers from flickering when using CSS 3D transforms.
@@ -277,10 +303,8 @@
// Creates two color stops, start and end, by specifying a color and position for each color stop.
// Color stops are not available in IE9 and below.
.horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
- background-image: -webkit-gradient(linear, @start-percent top, @end-percent top, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+
- background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1+, Chrome 10+
- background-image: -moz-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // FF 3.6+
- background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10
+ background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+
+ background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
background-repeat: repeat-x;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
}
@@ -290,47 +314,36 @@
// Creates two color stops, start and end, by specifying a color and position for each color stop.
// Color stops are not available in IE9 and below.
.vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
- background-image: -webkit-gradient(linear, left @start-percent, left @end-percent, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+
- background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1+, Chrome 10+
- background-image: -moz-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // FF 3.6+
- background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10
+ background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
+ background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
background-repeat: repeat-x;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
}
.directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
background-repeat: repeat-x;
- background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1+, Chrome 10+
- background-image: -moz-linear-gradient(@deg, @start-color, @end-color); // FF 3.6+
- background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10
+ background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+
+ background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
}
.horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
- background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));
background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
- background-image: -moz-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
background-repeat: no-repeat;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
}
.vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));
background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
- background-image: -moz-linear-gradient(top, @start-color, @mid-color @color-stop, @end-color);
background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
background-repeat: no-repeat;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
}
.radial(@inner-color: #555; @outer-color: #333) {
- background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@inner-color), to(@outer-color));
background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
- background-image: -moz-radial-gradient(circle, @inner-color, @outer-color);
background-image: radial-gradient(circle, @inner-color, @outer-color);
background-repeat: no-repeat;
}
.striped(@color: rgba(255,255,255,.15); @angle: 45deg) {
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, @color), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, @color), color-stop(.75, @color), color-stop(.75, transparent), to(transparent));
background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
}
}
@@ -369,7 +382,7 @@
//
// Keep images from scaling beyond the width of their parents.
-.img-responsive(@display: block;) {
+.img-responsive(@display: block) {
display: @display;
max-width: 100%; // Part 1: Set a maximum relative to the parent
height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
@@ -391,7 +404,7 @@
// Panels
// -------------------------
-.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border;) {
+.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
border-color: @border;
& > .panel-heading {
@@ -402,9 +415,6 @@
+ .panel-collapse .panel-body {
border-top-color: @border;
}
- & > .dropdown .caret {
- border-color: @heading-text-color transparent;
- }
}
& > .panel-footer {
+ .panel-collapse .panel-body {
@@ -430,7 +440,7 @@
// Tables
// -------------------------
-.table-row-variant(@state; @background; @border) {
+.table-row-variant(@state; @background) {
// Exact selectors below required to override `.table-striped` and prevent
// inheritance to nested tables.
.table > thead > tr,
@@ -456,6 +466,34 @@
}
}
+// List Groups
+// -------------------------
+.list-group-item-variant(@state; @background; @color) {
+ .list-group-item-@{state} {
+ color: @color;
+ background-color: @background;
+
+ a& {
+ color: @color;
+
+ .list-group-item-heading { color: inherit; }
+
+ &:hover,
+ &:focus {
+ color: @color;
+ background-color: darken(@background, 5%);
+ }
+ &.active,
+ &.active:hover,
+ &.active:focus {
+ color: #fff;
+ background-color: @color;
+ border-color: @color;
+ }
+ }
+ }
+}
+
// Button variants
// -------------------------
// Easily pump out default styles, as well as :hover, :focus, :active,
@@ -491,6 +529,11 @@
border-color: @border;
}
}
+
+ .badge {
+ color: @background;
+ background-color: @color;
+ }
}
// Button sizes
@@ -538,6 +581,24 @@
}
}
+// Contextual backgrounds
+// -------------------------
+.bg-variant(@color) {
+ background-color: @color;
+ a&:hover {
+ background-color: darken(@color, 10%);
+ }
+}
+
+// Typography
+// -------------------------
+.text-emphasis-variant(@color) {
+ color: @color;
+ a&:hover {
+ color: darken(@color, 10%);
+ }
+}
+
// Navbar vertical align
// -------------------------
// Vertically center elements in the navbar.
@@ -561,9 +622,10 @@
// More easily include all the states for responsive-utilities.less.
.responsive-visibility() {
display: block !important;
- tr& { display: table-row !important; }
+ table& { display: table; }
+ tr& { display: table-row !important; }
th&,
- td& { display: table-cell !important; }
+ td& { display: table-cell !important; }
}
.responsive-invisibility() {
@@ -583,14 +645,14 @@
margin-left: auto;
padding-left: (@grid-gutter-width / 2);
padding-right: (@grid-gutter-width / 2);
- .clearfix();
+ &:extend(.clearfix all);
}
// Creates a wrapper for a series of columns
.make-row(@gutter: @grid-gutter-width) {
margin-left: (@gutter / -2);
margin-right: (@gutter / -2);
- .clearfix();
+ &:extend(.clearfix all);
}
// Generate the extra small columns
@@ -598,30 +660,39 @@
position: relative;
float: left;
width: percentage((@columns / @grid-columns));
- // Prevent columns from collapsing when empty
min-height: 1px;
- // Inner gutter via padding
padding-left: (@gutter / 2);
padding-right: (@gutter / 2);
}
+.make-xs-column-offset(@columns) {
+ @media (min-width: @screen-xs-min) {
+ margin-left: percentage((@columns / @grid-columns));
+ }
+}
+.make-xs-column-push(@columns) {
+ @media (min-width: @screen-xs-min) {
+ left: percentage((@columns / @grid-columns));
+ }
+}
+.make-xs-column-pull(@columns) {
+ @media (min-width: @screen-xs-min) {
+ right: 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));
@@ -638,30 +709,26 @@
}
}
+
// 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) {
+ @media (min-width: @screen-md-min) {
left: percentage((@columns / @grid-columns));
}
}
@@ -671,23 +738,19 @@
}
}
+
// 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));
@@ -714,11 +777,11 @@
// Common styles for all sizes of grid columns, widths 1-12
.col(@index) when (@index = 1) { // initial
@item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
- .col(@index + 1, @item);
+ .col((@index + 1), @item);
}
.col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
@item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
- .col(@index + 1, ~"@{list}, @{item}");
+ .col((@index + 1), ~"@{list}, @{item}");
}
.col(@index, @list) when (@index > @grid-columns) { // terminal
@{list} {
@@ -736,13 +799,13 @@
.make-grid-columns-float(@class) {
.col(@index) when (@index = 1) { // initial
@item: ~".col-@{class}-@{index}";
- .col(@index + 1, @item);
+ .col((@index + 1), @item);
}
- .col(@index, @list) when (@index < @grid-columns) { // general
+ .col(@index, @list) when (@index =< @grid-columns) { // general
@item: ~".col-@{class}-@{index}";
- .col(@index + 1, ~"@{list}, @{item}");
+ .col((@index + 1), ~"@{list}, @{item}");
}
- .col(@index, @list) when (@index = @grid-columns) { // terminal
+ .col(@index, @list) when (@index > @grid-columns) { // terminal
@{list} {
float: left;
}
@@ -775,7 +838,7 @@
.make-grid(@index, @class, @type) when (@index >= 0) {
.calc-grid(@index, @class, @type);
// next iteration
- .make-grid(@index - 1, @class, @type);
+ .make-grid((@index - 1), @class, @type);
}
@@ -810,6 +873,10 @@
border-color: @border-color;
background-color: @background-color;
}
+ // Optional feedback icon
+ .form-control-feedback {
+ color: @text-color;
+ }
}
// Form control focus state
@@ -852,7 +919,8 @@
line-height: @input-height;
}
- textarea& {
+ textarea&,
+ select[multiple]& {
height: auto;
}
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
index 99cf764..e7f3d72 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
@@ -22,7 +22,12 @@
right: 0;
bottom: 0;
left: 0;
- z-index: @zindex-modal-background;
+ z-index: @zindex-modal;
+ -webkit-overflow-scrolling: touch;
+
+ // Prevent Chrome on Windows from adding a focus outline. For details, see
+ // https://github.com/twbs/bootstrap/pull/10951.
+ outline: 0;
// When fading in the modal, animate it to slide down
&.fade .modal-dialog {
@@ -35,11 +40,8 @@
// Shell div to position the modal with bottom padding
.modal-dialog {
position: relative;
- margin-left: auto;
- margin-right: auto;
width: auto;
- padding: 10px;
- z-index: (@zindex-modal-background + 10);
+ margin: 10px;
}
// Actual modal
@@ -62,11 +64,11 @@
right: 0;
bottom: 0;
left: 0;
- z-index: (@zindex-modal-background - 10);
+ z-index: @zindex-modal-background;
background-color: @modal-backdrop-bg;
// Fade for backdrop
&.fade { .opacity(0); }
- &.in { .opacity(.5); }
+ &.in { .opacity(@modal-backdrop-opacity); }
}
// Modal header
@@ -100,7 +102,7 @@
padding: (@modal-inner-padding - 1) @modal-inner-padding @modal-inner-padding;
text-align: right; // right align buttons
border-top: 1px solid @modal-footer-border-color;
- .clearfix(); // clear it in case folks use .pull-* classes on buttons
+ &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons
// Properly space out buttons
.btn + .btn {
@@ -118,15 +120,19 @@
}
// Scale up the modal
-@media screen and (min-width: @screen-sm-min) {
+@media (min-width: @screen-sm-min) {
+ // Automatically set modal's width for larger viewports
.modal-dialog {
- width: 600px;
- padding-top: 30px;
- padding-bottom: 30px;
+ width: @modal-md;
+ margin: 30px auto;
}
.modal-content {
.box-shadow(0 5px 15px rgba(0,0,0,.5));
}
+ // Modal sizes
+ .modal-sm { width: @modal-sm; }
+ .modal-lg { width: @modal-lg; }
+
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
index 987cde6..ddb67b9 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
@@ -15,7 +15,7 @@
border: 1px solid transparent;
// Prevent floats from breaking the navbar
- .clearfix();
+ &:extend(.clearfix all);
@media (min-width: @grid-float-breakpoint) {
border-radius: @navbar-border-radius;
@@ -29,7 +29,7 @@
// styling of responsive aspects.
.navbar-header {
- .clearfix();
+ &:extend(.clearfix all);
@media (min-width: @grid-float-breakpoint) {
float: left;
@@ -48,13 +48,13 @@
// content for the user's viewport.
.navbar-collapse {
- max-height: 340px;
+ max-height: @navbar-collapse-max-height;
overflow-x: visible;
padding-right: @navbar-padding-horizontal;
padding-left: @navbar-padding-horizontal;
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
- .clearfix();
+ &:extend(.clearfix all);
-webkit-overflow-scrolling: touch;
&.in {
@@ -74,18 +74,16 @@
}
&.in {
- overflow-y: auto;
+ overflow-y: visible;
}
- // Account for first and last children spacing
- .navbar-nav.navbar-left:first-child {
- margin-left: -@navbar-padding-horizontal;
- }
- .navbar-nav.navbar-right:last-child {
- margin-right: -@navbar-padding-horizontal;
- }
- .navbar-text:last-child {
- margin-right: 0;
+ // Undo the collapse side padding for navbars with containers to ensure
+ // alignment of right-aligned contents.
+ .navbar-fixed-top &,
+ .navbar-static-top &,
+ .navbar-fixed-bottom & {
+ padding-left: 0;
+ padding-right: 0;
}
}
}
@@ -95,14 +93,17 @@
//
// When a container is present, change the behavior of the header and collapse.
-.container > .navbar-header,
-.container > .navbar-collapse {
- margin-right: -@navbar-padding-horizontal;
- margin-left: -@navbar-padding-horizontal;
+.container,
+.container-fluid {
+ > .navbar-header,
+ > .navbar-collapse {
+ margin-right: -@navbar-padding-horizontal;
+ margin-left: -@navbar-padding-horizontal;
- @media (min-width: @grid-float-breakpoint) {
- margin-right: 0;
- margin-left: 0;
+ @media (min-width: @grid-float-breakpoint) {
+ margin-right: 0;
+ margin-left: 0;
+ }
}
}
@@ -154,6 +155,7 @@
padding: @navbar-padding-vertical @navbar-padding-horizontal;
font-size: @font-size-large;
line-height: @line-height-computed;
+ height: @line-height-computed;
&:hover,
&:focus {
@@ -161,7 +163,8 @@
}
@media (min-width: @grid-float-breakpoint) {
- .navbar > .container & {
+ .navbar > .container &,
+ .navbar > .container-fluid & {
margin-left: -@navbar-padding-horizontal;
}
}
@@ -180,9 +183,16 @@
padding: 9px 10px;
.navbar-vertical-align(34px);
background-color: transparent;
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid transparent;
border-radius: @border-radius-base;
+ // We remove the `outline` here, but later compensate by attaching `:hover`
+ // styles to `:focus`.
+ &:focus {
+ outline: none;
+ }
+
// Bars
.icon-bar {
display: block;
@@ -202,7 +212,7 @@
// Navbar nav links
//
-// Builds on top of the `.nav` components with it's own modifier class to make
+// Builds on top of the `.nav` components with its own modifier class to make
// the nav the full height of the horizontal nav (above 768px).
.navbar-nav {
@@ -214,7 +224,7 @@
line-height: @line-height-computed;
}
- @media (max-width: @screen-xs-max) {
+ @media (max-width: @grid-float-breakpoint-max) {
// Dropdowns get custom display when collapsed
.open .dropdown-menu {
position: static;
@@ -246,12 +256,15 @@
> li {
float: left;
> a {
- padding-top: ((@navbar-height - @line-height-computed) / 2);
- padding-bottom: ((@navbar-height - @line-height-computed) / 2);
+ padding-top: @navbar-padding-vertical;
+ padding-bottom: @navbar-padding-vertical;
}
}
- }
+ &.navbar-right:last-child {
+ margin-right: -@navbar-padding-horizontal;
+ }
+ }
}
@@ -285,7 +298,7 @@
.form-inline();
.form-group {
- @media (max-width: @screen-xs-max) {
+ @media (max-width: @grid-float-breakpoint-max) {
margin-bottom: 5px;
}
}
@@ -302,6 +315,11 @@
padding-top: 0;
padding-bottom: 0;
.box-shadow(none);
+
+ // Outdent the form if last child to line up with content down the page
+ &.navbar-right:last-child {
+ margin-right: -@navbar-padding-horizontal;
+ }
}
}
@@ -318,13 +336,6 @@
.border-bottom-radius(0);
}
-// Right aligned menus need alt position
-.navbar-nav.pull-right > li > .dropdown-menu,
-.navbar-nav > li > .dropdown-menu.pull-right {
- left: auto;
- right: 0;
-}
-
// Buttons in navbars
//
@@ -332,6 +343,13 @@
.navbar-btn {
.navbar-vertical-align(@input-height-base);
+
+ &.btn-sm {
+ .navbar-vertical-align(@input-height-small);
+ }
+ &.btn-xs {
+ .navbar-vertical-align(22);
+ }
}
@@ -340,12 +358,17 @@
// Add a class to make any element properly align itself vertically within the navbars.
.navbar-text {
- float: left;
.navbar-vertical-align(@line-height-computed);
@media (min-width: @grid-float-breakpoint) {
+ float: left;
margin-left: @navbar-padding-horizontal;
margin-right: @navbar-padding-horizontal;
+
+ // Outdent the form if last child to line up with content down the page
+ &.navbar-right:last-child {
+ margin-right: 0;
+ }
}
}
@@ -414,15 +437,8 @@
border-color: @navbar-default-border;
}
- // Dropdown menu items and carets
+ // Dropdown menu items
.navbar-nav {
- // Caret should match text color on hover
- > .dropdown > a:hover .caret,
- > .dropdown > a:focus .caret {
- border-top-color: @navbar-default-link-hover-color;
- border-bottom-color: @navbar-default-link-hover-color;
- }
-
// Remove background color from open dropdown
> .open > a {
&,
@@ -430,19 +446,10 @@
&:focus {
background-color: @navbar-default-link-active-bg;
color: @navbar-default-link-active-color;
- .caret {
- border-top-color: @navbar-default-link-active-color;
- border-bottom-color: @navbar-default-link-active-color;
- }
}
}
- > .dropdown > a .caret {
- border-top-color: @navbar-default-link-color;
- border-bottom-color: @navbar-default-link-color;
- }
-
- @media (max-width: @screen-xs-max) {
+ @media (max-width: @grid-float-breakpoint-max) {
// Dropdowns get custom display when collapsed
.open .dropdown-menu {
> li > a {
@@ -561,31 +568,16 @@
color: @navbar-inverse-link-active-color;
}
}
- > .dropdown > a:hover .caret {
- border-top-color: @navbar-inverse-link-hover-color;
- border-bottom-color: @navbar-inverse-link-hover-color;
- }
- > .dropdown > a .caret {
- border-top-color: @navbar-inverse-link-color;
- border-bottom-color: @navbar-inverse-link-color;
- }
- > .open > a {
- &,
- &:hover,
- &:focus {
- .caret {
- border-top-color: @navbar-inverse-link-active-color;
- border-bottom-color: @navbar-inverse-link-active-color;
- }
- }
- }
- @media (max-width: @screen-xs-max) {
+ @media (max-width: @grid-float-breakpoint-max) {
// Dropdowns get custom display
.open .dropdown-menu {
> .dropdown-header {
border-color: @navbar-inverse-border;
}
+ .divider {
+ background-color: @navbar-inverse-border;
+ }
> li > a {
color: @navbar-inverse-link-color;
&:hover,
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less b/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less
index 6cddcd4..9e729b3 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less
@@ -10,7 +10,7 @@
margin-bottom: 0;
padding-left: 0; // Override default ul/ol
list-style: none;
- .clearfix();
+ &:extend(.clearfix all);
> li {
position: relative;
@@ -48,11 +48,6 @@
&:focus {
background-color: @nav-link-hover-bg;
border-color: @link-color;
-
- .caret {
- border-top-color: @link-hover-color;
- border-bottom-color: @link-hover-color;
- }
}
}
@@ -96,7 +91,7 @@
}
}
- // Active state, and it's :hover to override normal :hover
+ // Active state, and its :hover to override normal :hover
&.active > a {
&,
&:hover,
@@ -138,11 +133,6 @@
&:focus {
color: @nav-pills-active-link-hover-color;
background-color: @nav-pills-active-link-hover-bg;
-
- .caret {
- border-top-color: @nav-pills-active-link-hover-color;
- border-bottom-color: @nav-pills-active-link-hover-color;
- }
}
}
}
@@ -243,16 +233,6 @@
// Dropdowns
// -------------------------
-// Make dropdown carets use link color in navs
-.nav .caret {
- border-top-color: @link-color;
- border-bottom-color: @link-color;
-}
-.nav a:hover .caret {
- border-top-color: @link-hover-color;
- border-bottom-color: @link-hover-color;
-}
-
// Specific dropdowns
.nav-tabs .dropdown-menu {
// make dropdown border overlap tab border
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less b/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less
index 42a393f..024e257 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less
@@ -1,6 +1,25 @@
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
+/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
+
+//
+// 1. Set default font family to sans-serif.
+// 2. Prevent iOS text size adjust after orientation change, without disabling
+// user zoom.
+//
+
+html {
+ font-family: sans-serif; // 1
+ -ms-text-size-adjust: 100%; // 2
+ -webkit-text-size-adjust: 100%; // 2
+}
+
+//
+// Remove default margin.
+//
+
+body {
+ margin: 0;
+}
-// ==========================================================================
// HTML5 display definitions
// ==========================================================================
@@ -24,13 +43,16 @@ summary {
}
//
-// Correct `inline-block` display not defined in IE 8/9.
+// 1. Correct `inline-block` display not defined in IE 8/9.
+// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
//
audio,
canvas,
+progress,
video {
- display: inline-block;
+ display: inline-block; // 1
+ vertical-align: baseline; // 2
}
//
@@ -53,31 +75,6 @@ template {
display: none;
}
-// ==========================================================================
-// Base
-// ==========================================================================
-
-//
-// 1. Set default font family to sans-serif.
-// 2. Prevent iOS text size adjust after orientation change, without disabling
-// user zoom.
-//
-
-html {
- font-family: sans-serif; // 1
- -ms-text-size-adjust: 100%; // 2
- -webkit-text-size-adjust: 100%; // 2
-}
-
-//
-// Remove default margin.
-//
-
-body {
- margin: 0;
-}
-
-// ==========================================================================
// Links
// ==========================================================================
@@ -90,14 +87,6 @@ a {
}
//
-// Address `outline` inconsistency between Chrome and other browsers.
-//
-
-a:focus {
- outline: thin dotted;
-}
-
-//
// Improve readability when focused and also mouse hovered in all browsers.
//
@@ -106,19 +95,8 @@ a:hover {
outline: 0;
}
+// Text-level semantics
// ==========================================================================
-// Typography
-// ==========================================================================
-
-//
-// Address variable `h1` font-size and margin within `section` and `article`
-// contexts in Firefox 4+, Safari 5, and Chrome.
-//
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
//
// Address styling not present in IE 8/9, Safari 5, and Chrome.
@@ -146,13 +124,13 @@ dfn {
}
//
-// Address differences between Firefox and other browsers.
+// Address variable `h1` font-size and margin within `section` and `article`
+// contexts in Firefox 4+, Safari 5, and Chrome.
//
-hr {
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
}
//
@@ -165,34 +143,6 @@ mark {
}
//
-// Correct font family set oddly in Safari 5 and Chrome.
-//
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, serif;
- font-size: 1em;
-}
-
-//
-// Improve readability of pre-formatted text in all browsers.
-//
-
-pre {
- white-space: pre-wrap;
-}
-
-//
-// Set consistent quote types.
-//
-
-q {
- quotes: "\201C" "\201D" "\2018" "\2019";
-}
-
-//
// Address inconsistent and variable font size in all browsers.
//
@@ -220,7 +170,6 @@ sub {
bottom: -0.25em;
}
-// ==========================================================================
// Embedded content
// ==========================================================================
@@ -240,8 +189,7 @@ svg:not(:root) {
overflow: hidden;
}
-// ==========================================================================
-// Figures
+// Grouping content
// ==========================================================================
//
@@ -249,63 +197,77 @@ svg:not(:root) {
//
figure {
- margin: 0;
+ margin: 1em 40px;
}
-// ==========================================================================
-// Forms
-// ==========================================================================
+//
+// Address differences between Firefox and other browsers.
+//
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
//
-// Define consistent border, margin, and padding.
+// Contain overflow in all browsers.
//
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
+pre {
+ overflow: auto;
}
//
-// 1. Correct `color` not being inherited in IE 8/9.
-// 2. Remove padding so people aren't caught out if they zero out fieldsets.
+// Address odd `em`-unit font size rendering in all browsers.
//
-legend {
- border: 0; // 1
- padding: 0; // 2
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
}
+// Forms
+// ==========================================================================
+
+//
+// Known limitation: by default, Chrome and Safari on OS X allow very limited
+// styling of `select`, unless a `border` property is set.
+//
+
//
-// 1. Correct font family not being inherited in all browsers.
-// 2. Correct font size not being inherited in all browsers.
+// 1. Correct color not being inherited.
+// Known issue: affects color of disabled elements.
+// 2. Correct font properties not being inherited.
// 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
//
button,
input,
+optgroup,
select,
textarea {
- font-family: inherit; // 1
- font-size: 100%; // 2
+ color: inherit; // 1
+ font: inherit; // 2
margin: 0; // 3
}
//
-// Address Firefox 4+ setting `line-height` on `input` using `!important` in
-// the UA stylesheet.
+// Address `overflow` set to `hidden` in IE 8/9/10.
//
-button,
-input {
- line-height: normal;
+button {
+ overflow: visible;
}
//
// Address inconsistent `text-transform` inheritance for `button` and `select`.
// All other form control elements do not inherit `text-transform` values.
-// Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
-// Correct `select` style inheritance in Firefox 4+ and Opera.
+// Correct `button` style inheritance in Firefox, IE 8+, and Opera
+// Correct `select` style inheritance in Firefox.
//
button,
@@ -339,6 +301,28 @@ html input[disabled] {
}
//
+// Remove inner padding and border in Firefox 4+.
+//
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+//
+// Address Firefox 4+ setting `line-height` on `input` using `!important` in
+// the UA stylesheet.
+//
+
+input {
+ line-height: normal;
+}
+
+//
+// It's recommended that you don't attempt to style these elements.
+// Firefox's implementation doesn't respect box-sizing, padding, or width.
+//
// 1. Address box sizing set to `content-box` in IE 8/9/10.
// 2. Remove excess padding in IE 8/9/10.
//
@@ -350,6 +334,17 @@ input[type="radio"] {
}
//
+// Fix the cursor style for Chrome's increment/decrement buttons. For certain
+// `font-size` values of the `input`, it causes the cursor style of the
+// decrement button to change from `default` to `text`.
+//
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+//
// 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
// 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
// (include `-moz` to future-proof).
@@ -363,8 +358,9 @@ input[type="search"] {
}
//
-// Remove inner padding and search cancel button in Safari 5 and Chrome
-// on OS X.
+// Remove inner padding and search cancel button in Safari and Chrome on OS X.
+// Safari (but not Chrome) clips the cancel button when the search input has
+// padding (and `textfield` appearance).
//
input[type="search"]::-webkit-search-cancel-button,
@@ -373,26 +369,42 @@ input[type="search"]::-webkit-search-decoration {
}
//
-// Remove inner padding and border in Firefox 4+.
+// Define consistent border, margin, and padding.
//
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
}
//
-// 1. Remove default vertical scrollbar in IE 8/9.
-// 2. Improve readability and alignment in all browsers.
+// 1. Correct `color` not being inherited in IE 8/9.
+// 2. Remove padding so people aren't caught out if they zero out fieldsets.
+//
+
+legend {
+ border: 0; // 1
+ padding: 0; // 2
+}
+
+//
+// Remove default vertical scrollbar in IE 8/9.
//
textarea {
- overflow: auto; // 1
- vertical-align: top; // 2
+ overflow: auto;
+}
+
+//
+// Don't inherit the `font-weight` (applied by a rule above).
+// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+//
+
+optgroup {
+ font-weight: bold;
}
-// ==========================================================================
// Tables
// ==========================================================================
@@ -404,3 +416,8 @@ table {
border-collapse: collapse;
border-spacing: 0;
}
+
+td,
+th {
+ padding: 0;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less b/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less
index 16993dd..59103f4 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less
@@ -8,22 +8,22 @@
margin: @line-height-computed 0;
list-style: none;
text-align: center;
- .clearfix();
+ &:extend(.clearfix all);
li {
display: inline;
> a,
> span {
display: inline-block;
padding: 5px 14px;
- background-color: @pagination-bg;
- border: 1px solid @pagination-border;
+ background-color: @pager-bg;
+ border: 1px solid @pager-border;
border-radius: @pager-border-radius;
}
> a:hover,
> a:focus {
text-decoration: none;
- background-color: @pagination-hover-bg;
+ background-color: @pager-hover-bg;
}
}
@@ -47,7 +47,7 @@
> a:focus,
> span {
color: @pager-disabled-color;
- background-color: @pagination-bg;
+ background-color: @pager-bg;
cursor: not-allowed;
}
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less b/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less
index 5c68b8b..b2856ae 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less
@@ -16,6 +16,7 @@
padding: @padding-base-vertical @padding-base-horizontal;
line-height: @line-height-base;
text-decoration: none;
+ color: @pagination-color;
background-color: @pagination-bg;
border: 1px solid @pagination-border;
margin-left: -1px;
@@ -39,7 +40,9 @@
> li > span {
&:hover,
&:focus {
+ color: @pagination-hover-color;
background-color: @pagination-hover-bg;
+ border-color: @pagination-hover-border;
}
}
@@ -51,7 +54,7 @@
z-index: 2;
color: @pagination-active-color;
background-color: @pagination-active-bg;
- border-color: @pagination-active-bg;
+ border-color: @pagination-active-border;
cursor: default;
}
}
@@ -64,8 +67,8 @@
> a:hover,
> a:focus {
color: @pagination-disabled-color;
- background-color: @pagination-bg;
- border-color: @pagination-border;
+ background-color: @pagination-disabled-bg;
+ border-color: @pagination-disabled-border;
cursor: not-allowed;
}
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less b/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
index a107ff1..e677d2b 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
@@ -14,8 +14,8 @@
// Panel contents
.panel-body {
- padding: 15px;
- .clearfix();
+ padding: @panel-body-padding;
+ &:extend(.clearfix all);
}
@@ -27,19 +27,28 @@
.panel {
> .list-group {
margin-bottom: 0;
-
.list-group-item {
border-width: 1px 0;
-
- // Remove border radius for top one
+ border-radius: 0;
&:first-child {
- .border-top-radius(0);
+ border-top: 0;
}
- // But keep it for the last one
&:last-child {
border-bottom: 0;
}
}
+ // Add border top radius for first one
+ &:first-child {
+ .list-group-item:first-child {
+ .border-top-radius((@panel-border-radius - 1));
+ }
+ }
+ // Add border bottom radius for last one
+ &:last-child {
+ .list-group-item:last-child {
+ .border-bottom-radius((@panel-border-radius - 1));
+ }
+ }
}
}
// Collapse space between when there's no additional content.
@@ -57,13 +66,51 @@
.panel {
> .table,
- > .table-responsive {
+ > .table-responsive > .table {
margin-bottom: 0;
}
+ // Add border top radius for first one
+ > .table:first-child,
+ > .table-responsive:first-child > .table:first-child {
+ > thead:first-child,
+ > tbody:first-child {
+ > tr:first-child {
+ td:first-child,
+ th:first-child {
+ border-top-left-radius: (@panel-border-radius - 1);
+ }
+ td:last-child,
+ th:last-child {
+ border-top-right-radius: (@panel-border-radius - 1);
+ }
+ }
+ }
+ }
+ // Add border bottom radius for last one
+ > .table:last-child,
+ > .table-responsive:last-child > .table:last-child {
+ > tbody:last-child,
+ > tfoot:last-child {
+ > tr:last-child {
+ td:first-child,
+ th:first-child {
+ border-bottom-left-radius: (@panel-border-radius - 1);
+ }
+ td:last-child,
+ th:last-child {
+ border-bottom-right-radius: (@panel-border-radius - 1);
+ }
+ }
+ }
+ }
> .panel-body + .table,
> .panel-body + .table-responsive {
border-top: 1px solid @table-border-color;
}
+ > .table > tbody:first-child > tr:first-child th,
+ > .table > tbody:first-child > tr:first-child td {
+ border-top: 0;
+ }
> .table-bordered,
> .table-responsive > .table-bordered {
border: 0;
@@ -79,7 +126,10 @@
> td:last-child {
border-right: 0;
}
-
+ &:first-child > th,
+ &:first-child > td {
+ border-top: 0;
+ }
&:last-child > th,
&:last-child > td {
border-bottom: 0;
@@ -87,6 +137,10 @@
}
}
}
+ > .table-responsive {
+ border: 0;
+ margin-bottom: 0;
+ }
}
@@ -94,18 +148,20 @@
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
- .border-top-radius(@panel-border-radius - 1);
+ .border-top-radius((@panel-border-radius - 1));
> .dropdown .dropdown-toggle {
color: inherit;
}
}
-// Within heading, strip any `h*` tag of it's default margins for spacing.
+// Within heading, strip any `h*` tag of its default margins for spacing.
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: ceil((@font-size-base * 1.125));
+ color: inherit;
+
> a {
color: inherit;
}
@@ -116,7 +172,7 @@
padding: 10px 15px;
background-color: @panel-footer-bg;
border-top: 1px solid @panel-inner-border;
- .border-bottom-radius(@panel-border-radius - 1);
+ .border-bottom-radius((@panel-border-radius - 1));
}
@@ -126,6 +182,8 @@
// the help of our collapse JavaScript plugin.
.panel-group {
+ margin-bottom: @line-height-computed;
+
// Tighten up margin so it's only between panels
.panel {
margin-bottom: 0;
@@ -161,12 +219,12 @@
.panel-success {
.panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
}
+.panel-info {
+ .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
+}
.panel-warning {
.panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
}
.panel-danger {
.panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
}
-.panel-info {
- .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/print.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/print.less b/tapestry-webresources/src/test/webapp/bootstrap/less/print.less
index 07277a3..3655d03 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/print.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/print.less
@@ -50,10 +50,6 @@
max-width: 100% !important;
}
- @page {
- margin: 2cm .5cm;
- }
-
p,
h2,
h3 {
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less b/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less
index 507c82d..76c87be 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less
@@ -12,18 +12,6 @@
to { background-position: 0 0; }
}
-// Firefox
-@-moz-keyframes progress-bar-stripes {
- from { background-position: 40px 0; }
- to { background-position: 0 0; }
-}
-
-// Opera
-@-o-keyframes progress-bar-stripes {
- from { background-position: 0 0; }
- to { background-position: 40px 0; }
-}
-
// Spec and IE10+
@keyframes progress-bar-stripes {
from { background-position: 40px 0; }
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-utilities.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-utilities.less b/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-utilities.less
index df53e47..5a31816 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-utilities.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-utilities.less
@@ -23,187 +23,71 @@
// Visibility utilities
-
.visible-xs {
.responsive-invisibility();
+
@media (max-width: @screen-xs-max) {
.responsive-visibility();
}
- &.visible-sm {
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
- .responsive-visibility();
- }
- }
- &.visible-md {
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
- .responsive-visibility();
- }
- }
- &.visible-lg {
- @media (min-width: @screen-lg-min) {
- .responsive-visibility();
- }
- }
}
.visible-sm {
.responsive-invisibility();
- &.visible-xs {
- @media (max-width: @screen-xs-max) {
- .responsive-visibility();
- }
- }
+
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
.responsive-visibility();
}
- &.visible-md {
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
- .responsive-visibility();
- }
- }
- &.visible-lg {
- @media (min-width: @screen-lg-min) {
- .responsive-visibility();
- }
- }
}
.visible-md {
.responsive-invisibility();
- &.visible-xs {
- @media (max-width: @screen-xs-max) {
- .responsive-visibility();
- }
- }
- &.visible-sm {
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
- .responsive-visibility();
- }
- }
+
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
.responsive-visibility();
}
- &.visible-lg {
- @media (min-width: @screen-lg-min) {
- .responsive-visibility();
- }
- }
}
.visible-lg {
.responsive-invisibility();
- &.visible-xs {
- @media (max-width: @screen-xs-max) {
- .responsive-visibility();
- }
- }
- &.visible-sm {
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
- .responsive-visibility();
- }
- }
- &.visible-md {
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
- .responsive-visibility();
- }
- }
+
@media (min-width: @screen-lg-min) {
.responsive-visibility();
}
}
.hidden-xs {
- .responsive-visibility();
@media (max-width: @screen-xs-max) {
.responsive-invisibility();
}
- &.hidden-sm {
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
- .responsive-invisibility();
- }
- }
- &.hidden-md {
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
- .responsive-invisibility();
- }
- }
- &.hidden-lg {
- @media (min-width: @screen-lg-min) {
- .responsive-invisibility();
- }
- }
}
.hidden-sm {
- .responsive-visibility();
- &.hidden-xs {
- @media (max-width: @screen-xs-max) {
- .responsive-invisibility();
- }
- }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
.responsive-invisibility();
}
- &.hidden-md {
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
- .responsive-invisibility();
- }
- }
- &.hidden-lg {
- @media (min-width: @screen-lg-min) {
- .responsive-invisibility();
- }
- }
}
.hidden-md {
- .responsive-visibility();
- &.hidden-xs {
- @media (max-width: @screen-xs-max) {
- .responsive-invisibility();
- }
- }
- &.hidden-sm {
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
- .responsive-invisibility();
- }
- }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
.responsive-invisibility();
}
- &.hidden-lg {
- @media (min-width: @screen-lg-min) {
- .responsive-invisibility();
- }
- }
}
.hidden-lg {
- .responsive-visibility();
- &.hidden-xs {
- @media (max-width: @screen-xs-max) {
- .responsive-invisibility();
- }
- }
- &.hidden-sm {
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
- .responsive-invisibility();
- }
- }
- &.hidden-md {
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
- .responsive-invisibility();
- }
- }
@media (min-width: @screen-lg-min) {
.responsive-invisibility();
}
}
+
// Print utilities
+//
+// Media queries are placed on the inside to be mixin-friendly.
+
.visible-print {
.responsive-invisibility();
-}
-@media print {
- .visible-print {
+ @media print {
.responsive-visibility();
}
- .hidden-print {
+}
+
+.hidden-print {
+ @media print {
.responsive-invisibility();
}
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less b/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less
index 976b4e3..fe29f2d 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less
@@ -4,8 +4,13 @@
// Reset the box-sizing
-
-*,
+//
+// Heads up! This reset may cause conflicts with some third-party widgets.
+// For recommendations on resolving such conflicts, see
+// http://getbootstrap.com/getting-started/#third-box-sizing
+* {
+ .box-sizing(border-box);
+}
*:before,
*:after {
.box-sizing(border-box);
@@ -56,6 +61,16 @@ a {
}
+// Figures
+//
+// We reset this here because previously Normalize had no `figure` margins. This
+// ensures we don't break anyone's use of the element.
+
+figure {
+ margin: 0;
+}
+
+
// Images
img {
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less b/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
index 0deadc7..c41989c 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
@@ -104,10 +104,12 @@ th {
//
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.table-striped > tbody > tr:nth-child(odd) {
- > td,
- > th {
- background-color: @table-bg-accent;
+.table-striped {
+ > tbody > tr:nth-child(odd) {
+ > td,
+ > th {
+ background-color: @table-bg-accent;
+ }
}
}
@@ -116,10 +118,12 @@ th {
//
// Placed here since it has to come after the potential zebra striping
-.table-hover > tbody > tr:hover {
- > td,
- > th {
- background-color: @table-bg-hover;
+.table-hover {
+ > tbody > tr:hover {
+ > td,
+ > th {
+ background-color: @table-bg-hover;
+ }
}
}
@@ -129,6 +133,7 @@ th {
// Reset default table behavior
table col[class*="col-"] {
+ position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
float: none;
display: table-column;
}
@@ -136,6 +141,7 @@ table {
td,
th {
&[class*="col-"] {
+ position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
float: none;
display: table-cell;
}
@@ -148,21 +154,12 @@ table {
// Exact selectors below required to override `.table-striped` and prevent
// inheritance to nested tables.
-.table > thead > tr,
-.table > tbody > tr,
-.table > tfoot > tr {
- > td.active,
- > th.active,
- &.active > td,
- &.active > th {
- background-color: @table-bg-active;
- }
-}
-
// Generate the contextual variants
-.table-row-variant(success; @state-success-bg; @state-success-border);
-.table-row-variant(danger; @state-danger-bg; @state-danger-border);
-.table-row-variant(warning; @state-warning-bg; @state-warning-border);
+.table-row-variant(active; @table-bg-active);
+.table-row-variant(success; @state-success-bg);
+.table-row-variant(info; @state-info-bg);
+.table-row-variant(warning; @state-warning-bg);
+.table-row-variant(danger; @state-danger-bg);
// Responsive tables
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less b/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
index 0addce3..6f957fb 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
@@ -63,9 +63,9 @@
.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
.btn-primary { .btn-styles(@btn-primary-bg); }
.btn-success { .btn-styles(@btn-success-bg); }
+.btn-info { .btn-styles(@btn-info-bg); }
.btn-warning { .btn-styles(@btn-warning-bg); }
.btn-danger { .btn-styles(@btn-danger-bg); }
-.btn-info { .btn-styles(@btn-info-bg); }
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less b/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less
index bc4178b..11aa283 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less
@@ -5,11 +5,17 @@
// Mixin and adjust the regular image class
.thumbnail {
- .img-thumbnail();
- display: block; // Override the inline-block from `.img-thumbnail`
+ display: block;
+ padding: @thumbnail-padding;
margin-bottom: @line-height-computed;
+ line-height: @line-height-base;
+ background-color: @thumbnail-bg;
+ border: 1px solid @thumbnail-border;
+ border-radius: @thumbnail-border-radius;
+ .transition(all .2s ease-in-out);
- > img {
+ > img,
+ a > img {
.img-responsive();
margin-left: auto;
margin-right: auto;
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less b/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
index ce793cb..bd62699 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
@@ -13,7 +13,7 @@
line-height: 1.4;
.opacity(0);
- &.in { .opacity(.9); }
+ &.in { .opacity(@tooltip-opacity); }
&.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
&.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
&.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a839caf/tapestry-webresources/src/test/webapp/bootstrap/less/type.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/type.less b/tapestry-webresources/src/test/webapp/bootstrap/less/type.less
index 437c70b..a55730d 100755
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/type.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/type.less
@@ -3,75 +3,6 @@
// --------------------------------------------------
-// Body text
-// -------------------------
-
-p {
- margin: 0 0 (@line-height-computed / 2);
-}
-.lead {
- margin-bottom: @line-height-computed;
- font-size: floor(@font-size-base * 1.15);
- font-weight: 200;
- line-height: 1.4;
-
- @media (min-width: @screen-sm-min) {
- font-size: (@font-size-base * 1.5);
- }
-}
-
-
-// Emphasis & misc
-// -------------------------
-
-// Ex: 14px base font * 85% = about 12px
-small,
-.small { font-size: 85%; }
-
-// Undo browser default styling
-cite { font-style: normal; }
-
-// Contextual emphasis
-.text-muted {
- color: @text-muted;
-}
-.text-primary {
- color: @brand-primary;
- &:hover {
- color: darken(@brand-primary, 10%);
- }
-}
-.text-warning {
- color: @state-warning-text;
- &:hover {
- color: darken(@state-warning-text, 10%);
- }
-}
-.text-danger {
- color: @state-danger-text;
- &:hover {
- color: darken(@state-danger-text, 10%);
- }
-}
-.text-success {
- color: @state-success-text;
- &:hover {
- color: darken(@state-success-text, 10%);
- }
-}
-.text-info {
- color: @state-info-text;
- &:hover {
- color: darken(@state-info-text, 10%);
- }
-}
-
-// Alignment
-.text-left { text-align: left; }
-.text-right { text-align: right; }
-.text-center { text-align: center; }
-
-
// Headings
// -------------------------
@@ -90,9 +21,9 @@ h1, h2, h3, h4, h5, h6,
}
}
-h1,
-h2,
-h3 {
+h1, .h1,
+h2, .h2,
+h3, .h3 {
margin-top: @line-height-computed;
margin-bottom: (@line-height-computed / 2);
@@ -101,9 +32,9 @@ h3 {
font-size: 65%;
}
}
-h4,
-h5,
-h6 {
+h4, .h4,
+h5, .h5,
+h6, .h6 {
margin-top: (@line-height-computed / 2);
margin-bottom: (@line-height-computed / 2);
@@ -121,6 +52,84 @@ h5, .h5 { font-size: @font-size-h5; }
h6, .h6 { font-size: @font-size-h6; }
+// Body text
+// -------------------------
+
+p {
+ margin: 0 0 (@line-height-computed / 2);
+}
+
+.lead {
+ margin-bottom: @line-height-computed;
+ font-size: floor((@font-size-base * 1.15));
+ font-weight: 200;
+ line-height: 1.4;
+
+ @media (min-width: @screen-sm-min) {
+ font-size: (@font-size-base * 1.5);
+ }
+}
+
+
+// Emphasis & misc
+// -------------------------
+
+// Ex: 14px base font * 85% = about 12px
+small,
+.small { font-size: 85%; }
+
+// Undo browser default styling
+cite { font-style: normal; }
+
+// Alignment
+.text-left { text-align: left; }
+.text-right { text-align: right; }
+.text-center { text-align: center; }
+.text-justify { text-align: justify; }
+
+// Contextual colors
+.text-muted {
+ color: @text-muted;
+}
+.text-primary {
+ .text-emphasis-variant(@brand-primary);
+}
+.text-success {
+ .text-emphasis-variant(@state-success-text);
+}
+.text-info {
+ .text-emphasis-variant(@state-info-text);
+}
+.text-warning {
+ .text-emphasis-variant(@state-warning-text);
+}
+.text-danger {
+ .text-emphasis-variant(@state-danger-text);
+}
+
+// Contextual backgrounds
+// For now we'll leave these alongside the text classes until v4 when we can
+// safely shift things around (per SemVer rules).
+.bg-primary {
+ // Given the contrast here, this is the only class to have its color inverted
+ // automatically.
+ color: #fff;
+ .bg-variant(@brand-primary);
+}
+.bg-success {
+ .bg-variant(@state-success-bg);
+}
+.bg-info {
+ .bg-variant(@state-info-bg);
+}
+.bg-warning {
+ .bg-variant(@state-warning-bg);
+}
+.bg-danger {
+ .bg-variant(@state-danger-bg);
+}
+
+
// Page header
// -------------------------
@@ -131,7 +140,6 @@ h6, .h6 { font-size: @font-size-h6; }
}
-
// Lists
// --------------------------------------------------
@@ -171,6 +179,7 @@ ol {
// Description Lists
dl {
+ margin-top: 0; // Remove browser default
margin-bottom: @line-height-computed;
}
dt,
@@ -200,7 +209,7 @@ dd {
}
dd {
margin-left: @component-offset-horizontal;
- .clearfix(); // Clear the floated `dt` if an empty `dd` is present
+ &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
}
}
}
@@ -215,7 +224,7 @@ abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted @abbr-border-color;
}
-abbr.initialism {
+.initialism {
font-size: 90%;
text-transform: uppercase;
}
@@ -224,43 +233,51 @@ abbr.initialism {
blockquote {
padding: (@line-height-computed / 2) @line-height-computed;
margin: 0 0 @line-height-computed;
+ font-size: (@font-size-base * 1.25);
border-left: 5px solid @blockquote-border-color;
- p {
- font-size: (@font-size-base * 1.25);
- font-weight: 300;
- line-height: 1.25;
- }
- p:last-child {
- margin-bottom: 0;
+
+ p,
+ ul,
+ ol {
+ &:last-child {
+ margin-bottom: 0;
+ }
}
- small {
+
+ // Note: Deprecated small and .small as of v3.1.0
+ // Context: https://github.com/twbs/bootstrap/issues/11660
+ footer,
+ small,
+ .small {
display: block;
+ font-size: 80%; // back to default font-size
line-height: @line-height-base;
color: @blockquote-small-color;
+
&:before {
- content: '\2014 \00A0'; // EM DASH, NBSP
+ content: '\2014 \00A0'; // em dash, nbsp
}
}
+}
- // Float right with text-align: right
- &.pull-right {
- padding-right: 15px;
- padding-left: 0;
- border-right: 5px solid @blockquote-border-color;
- border-left: 0;
- p,
- small,
- .small {
- text-align: right;
- }
- small,
- .small {
- &:before {
- content: '';
- }
- &:after {
- content: '\00A0 \2014'; // NBSP, EM DASH
- }
+// Opposite alignment of blockquote
+//
+// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
+.blockquote-reverse,
+blockquote.pull-right {
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid @blockquote-border-color;
+ border-left: 0;
+ text-align: right;
+
+ // Account for citation
+ footer,
+ small,
+ .small {
+ &:before { content: ''; }
+ &:after {
+ content: '\00A0 \2014'; // nbsp, em dash
}
}
}