You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by th...@apache.org on 2014/12/07 03:29:07 UTC

[09/45] tapestry-5 git commit: TAP5-2415: Update Bootstrap to 3.3.1

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
index 6f9e490..9f7a67e 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
@@ -2,7 +2,7 @@
 
 .label-variant(@color) {
   background-color: @color;
-  
+
   &[href] {
     &:hover,
     &:focus {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
index e2008c8..31f8e2f 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
@@ -99,9 +99,12 @@
 
 // Placeholder text
 .placeholder(@color: @input-color-placeholder) {
-  &::-moz-placeholder           { color: @color;   // Firefox
-                                  opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
-  &:-ms-input-placeholder       { color: @color; } // Internet Explorer 10+
+  // Firefox
+  &::-moz-placeholder {
+    color: @color;
+    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
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 6da50ba..032a497 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
@@ -30,10 +30,10 @@
 
   // When fading in the modal, animate it to slide down
   &.fade .modal-dialog {
-    .translate3d(0, -25%, 0);
+    .translate(0, -25%);
     .transition-transform(~"0.3s ease-out");
   }
-  &.in .modal-dialog { .translate3d(0, 0, 0) }
+  &.in .modal-dialog { .translate(0, 0) }
 }
 .modal-open .modal {
   overflow-x: hidden;
@@ -62,12 +62,10 @@
 
 // Modal background
 .modal-backdrop {
-  position: fixed;
+  position: absolute;
   top: 0;
   right: 0;
-  bottom: 0;
   left: 0;
-  z-index: @zindex-modal-background;
   background-color: @modal-backdrop-bg;
   // Fade for backdrop
   &.fade { .opacity(0); }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 55bfd29..67fd352 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
@@ -67,6 +67,7 @@
 
     &.collapse {
       display: block !important;
+      visibility: visible !important;
       height: auto !important;
       padding-bottom: 0; // Override default setting
       overflow: visible !important;
@@ -92,7 +93,7 @@
   .navbar-collapse {
     max-height: @navbar-collapse-max-height;
 
-    @media (max-width: @screen-xs-min) and (orientation: landscape) {
+    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {
       max-height: 200px;
     }
   }
@@ -141,7 +142,6 @@
   right: 0;
   left: 0;
   z-index: @zindex-navbar-fixed;
-  .translate3d(0, 0, 0);
 
   // Undo the rounded corners
   @media (min-width: @grid-float-breakpoint) {
@@ -173,6 +173,10 @@
     text-decoration: none;
   }
 
+  > img {
+    display: block;
+  }
+
   @media (min-width: @grid-float-breakpoint) {
     .navbar > .container &,
     .navbar > .container-fluid & {
@@ -271,26 +275,10 @@
         padding-bottom: @navbar-padding-vertical;
       }
     }
-
-    &.navbar-right:last-child {
-      margin-right: -@navbar-padding-horizontal;
-    }
   }
 }
 
 
-// Component alignment
-//
-// Repurpose the pull utilities as their own navbar utilities to avoid specificity
-// issues with parents and chaining. Only do this when the navbar is uncollapsed
-// though so that navbar contents properly stack and align in mobile.
-
-@media (min-width: @grid-float-breakpoint) {
-  .navbar-left  { .pull-left(); }
-  .navbar-right { .pull-right(); }
-}
-
-
 // Navbar form
 //
 // Extension of the `.form-inline` with some extra flavor for optimum display in
@@ -311,6 +299,10 @@
   .form-group {
     @media (max-width: @grid-float-breakpoint-max) {
       margin-bottom: 5px;
+
+      &:last-child {
+        margin-bottom: 0;
+      }
     }
   }
 
@@ -326,11 +318,6 @@
     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;
-    }
   }
 }
 
@@ -344,6 +331,7 @@
 }
 // Menu position and menu caret support for dropups via extra dropup class
 .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+  .border-top-radius(@navbar-border-radius);
   .border-bottom-radius(0);
 }
 
@@ -375,14 +363,31 @@
     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 {
+// Component alignment
+//
+// Repurpose the pull utilities as their own navbar utilities to avoid specificity
+// issues with parents and chaining. Only do this when the navbar is uncollapsed
+// though so that navbar contents properly stack and align in mobile.
+//
+// Declared after the navbar components to ensure more specificity on the margins.
+
+@media (min-width: @grid-float-breakpoint) {
+  .navbar-left  { .pull-left(); }
+  .navbar-right {
+    .pull-right();
+    margin-right: -@navbar-padding-horizontal;
+
+    ~ .navbar-right {
       margin-right: 0;
     }
   }
 }
 
+
 // Alternate navbars
 // --------------------------------------------------
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 98a6430..f26fec7 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navs.less
@@ -36,7 +36,7 @@
         color: @nav-disabled-link-hover-color;
         text-decoration: none;
         background-color: transparent;
-        cursor: not-allowed;
+        cursor: @cursor-disabled;
       }
     }
   }
@@ -223,9 +223,11 @@
 .tab-content {
   > .tab-pane {
     display: none;
+    visibility: hidden;
   }
   > .active {
     display: block;
+    visibility: visible;
   }
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 ce04b6a..62a085a 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/normalize.less
@@ -1,4 +1,4 @@
-/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
 
 //
 // 1. Set default font family to sans-serif.
@@ -25,7 +25,8 @@ body {
 
 //
 // Correct `block` display not defined for any HTML5 element in IE 8/9.
-// Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
+// Correct `block` display not defined for `details` or `summary` in IE 10/11
+// and Firefox.
 // Correct `block` display not defined for `main` in IE 11.
 //
 
@@ -38,6 +39,7 @@ footer,
 header,
 hgroup,
 main,
+menu,
 nav,
 section,
 summary {
@@ -85,7 +87,7 @@ template {
 //
 
 a {
-  background: transparent;
+  background-color: transparent;
 }
 
 //

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 59103f4..41abaaa 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/pager.less
@@ -48,8 +48,7 @@
     > span {
       color: @pager-disabled-color;
       background-color: @pager-bg;
-      cursor: not-allowed;
+      cursor: @cursor-disabled;
     }
   }
-
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 b2856ae..38c4c3d 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/pagination.less
@@ -69,7 +69,7 @@
       color: @pagination-disabled-color;
       background-color: @pagination-disabled-bg;
       border-color: @pagination-disabled-border;
-      cursor: not-allowed;
+      cursor: @cursor-disabled;
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 2dc2131..d0f8f95 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
@@ -56,7 +56,8 @@
 // any kind of custom content between the two.
 
 .panel {
-  > .list-group {
+  > .list-group,
+  > .panel-collapse > .list-group {
     margin-bottom: 0;
 
     .list-group-item {
@@ -100,6 +101,11 @@
   > .table-responsive > .table,
   > .panel-collapse > .table {
     margin-bottom: 0;
+
+    caption {
+      padding-left: @panel-body-padding;
+      padding-right: @panel-body-padding;
+    }
   }
   // Add border top radius for first one
   > .table:first-child,
@@ -109,6 +115,9 @@
     > thead:first-child,
     > tbody:first-child {
       > tr:first-child {
+        border-top-left-radius: (@panel-border-radius - 1);
+        border-top-right-radius: (@panel-border-radius - 1);
+
         td:first-child,
         th:first-child {
           border-top-left-radius: (@panel-border-radius - 1);
@@ -128,6 +137,9 @@
     > tbody:last-child,
     > tfoot:last-child {
       > tr:last-child {
+        border-bottom-left-radius: (@panel-border-radius - 1);
+        border-bottom-right-radius: (@panel-border-radius - 1);
+
         td:first-child,
         th:first-child {
           border-bottom-left-radius: (@panel-border-radius - 1);
@@ -140,7 +152,9 @@
     }
   }
   > .panel-body + .table,
-  > .panel-body + .table-responsive {
+  > .panel-body + .table-responsive,
+  > .table + .panel-body,
+  > .table-responsive + .panel-body {
     border-top: 1px solid @table-border-color;
   }
   > .table > tbody:first-child > tr:first-child th,
@@ -202,6 +216,7 @@
   .panel {
     margin-bottom: 0;
     border-radius: @panel-border-radius;
+
     + .panel {
       margin-top: 5px;
     }
@@ -209,10 +224,13 @@
 
   .panel-heading {
     border-bottom: 0;
-    + .panel-collapse > .panel-body {
+
+    + .panel-collapse > .panel-body,
+    + .panel-collapse > .list-group {
       border-top: 1px solid @panel-inner-border;
     }
   }
+
   .panel-footer {
     border-top: 0;
     + .panel-collapse .panel-body {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less b/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
index bf6af40..53ee0ec 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
@@ -11,7 +11,12 @@
   display: none;
   max-width: @popover-max-width;
   padding: 1px;
-  text-align: left; // Reset given new insertion method
+  // Reset font and text propertes given new insertion method
+  font-family: @font-family-base;
+  font-size: @font-size-base;
+  font-weight: normal;
+  line-height: @line-height-base;
+  text-align: left;
   background-color: @popover-bg;
   background-clip: padding-box;
   border: 1px solid @popover-fallback-border-color;
@@ -33,8 +38,6 @@
   margin: 0; // reset heading margin
   padding: 8px 14px;
   font-size: @font-size-base;
-  font-weight: normal;
-  line-height: 18px;
   background-color: @popover-title-bg;
   border-bottom: 1px solid darken(@popover-title-bg, 5%);
   border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;
@@ -129,5 +132,4 @@
       bottom: -@popover-arrow-width;
     }
   }
-
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 3655d03..94ca58f 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/print.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/print.less
@@ -1,101 +1,107 @@
-//
-// Basic print styles
-// --------------------------------------------------
-// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+
+// ==========================================================================
+// Print styles.
+// Inlined to avoid the additional HTTP request: h5bp.com/r
+// ==========================================================================
 
 @media print {
+    *,
+    *:before,
+    *:after {
+        background: transparent !important;
+        color: #000 !important; // Black prints faster: h5bp.com/s
+        box-shadow: none !important;
+        text-shadow: none !important;
+    }
+
+    a,
+    a:visited {
+        text-decoration: underline;
+    }
+
+    a[href]:after {
+        content: " (" attr(href) ")";
+    }
+
+    abbr[title]:after {
+        content: " (" attr(title) ")";
+    }
+
+    // Don't show links that are fragment identifiers,
+    // or use the `javascript:` pseudo protocol
+    a[href^="#"]:after,
+    a[href^="javascript:"]:after {
+        content: "";
+    }
+
+    pre,
+    blockquote {
+        border: 1px solid #999;
+        page-break-inside: avoid;
+    }
+
+    thead {
+        display: table-header-group; // h5bp.com/t
+    }
+
+    tr,
+    img {
+        page-break-inside: avoid;
+    }
 
-  * {
-    text-shadow: none !important;
-    color: #000 !important; // Black prints faster: h5bp.com/s
-    background: transparent !important;
-    box-shadow: none !important;
-  }
-
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-
-  // Don't show links for images, or javascript/internal links
-  a[href^="javascript:"]:after,
-  a[href^="#"]:after {
-    content: "";
-  }
-
-  pre,
-  blockquote {
-    border: 1px solid #999;
-    page-break-inside: avoid;
-  }
-
-  thead {
-    display: table-header-group; // h5bp.com/t
-  }
-
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-
-  img {
-    max-width: 100% !important;
-  }
-
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-
-  // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
-  // Once fixed, we can just straight up remove this.
-  select {
-    background: #fff !important;
-  }
-
-  // Bootstrap components
-  .navbar {
-    display: none;
-  }
-  .table {
-    td,
-    th {
-      background-color: #fff !important;
-    }
-  }
-  .btn,
-  .dropup > .btn {
-    > .caret {
-      border-top-color: #000 !important;
-    }
-  }
-  .label {
-    border: 1px solid #000;
-  }
-
-  .table {
-    border-collapse: collapse !important;
-  }
-  .table-bordered {
-    th,
-    td {
-      border: 1px solid #ddd !important;
-    }
-  }
+    img {
+        max-width: 100% !important;
+    }
+
+    p,
+    h2,
+    h3 {
+        orphans: 3;
+        widows: 3;
+    }
+
+    h2,
+    h3 {
+        page-break-after: avoid;
+    }
+
+    // Bootstrap specific changes start
+    //
+    // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
+    // Once fixed, we can just straight up remove this.
+    select {
+        background: #fff !important;
+    }
+
+    // Bootstrap components
+    .navbar {
+        display: none;
+    }
+    .btn,
+    .dropup > .btn {
+        > .caret {
+            border-top-color: #000 !important;
+        }
+    }
+    .label {
+        border: 1px solid #000;
+    }
+
+    .table {
+        border-collapse: collapse !important;
+
+        td,
+        th {
+            background-color: #fff !important;
+        }
+    }
+    .table-bordered {
+        th,
+        td {
+            border: 1px solid #ddd !important;
+        }
+    }
 
+    // Bootstrap specific changes end
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 3ac52a2..8868a1f 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/progress-bars.less
@@ -19,7 +19,6 @@
 }
 
 
-
 // Bar itself
 // -------------------------
 
@@ -29,7 +28,7 @@
   height: @line-height-computed;
   margin-bottom: @line-height-computed;
   background-color: @progress-bg;
-  border-radius: @border-radius-base;
+  border-radius: @progress-border-radius;
   .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
 }
 
@@ -67,23 +66,6 @@
   .animation(progress-bar-stripes 2s linear infinite);
 }
 
-// Account for lower percentages
-.progress-bar {
-  &[aria-valuenow="1"],
-  &[aria-valuenow="2"] {
-    min-width: 30px;
-  }
-
-  &[aria-valuenow="0"] {
-    color: @gray-light;
-    min-width: 30px;
-    background-color: transparent;
-    background-image: none;
-    box-shadow: none;
-  }
-}
-
-
 
 // Variations
 // -------------------------

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-embed.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-embed.less b/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-embed.less
index a884d49..c1fa8f8 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-embed.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/responsive-embed.less
@@ -12,7 +12,8 @@
   .embed-responsive-item,
   iframe,
   embed,
-  object {
+  object,
+  video {
     position: absolute;
     top: 0;
     left: 0;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 c1e270f..2a40fbc 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/scaffolding.less
@@ -52,7 +52,7 @@ a {
   &:hover,
   &:focus {
     color: @link-hover-color;
-    text-decoration: underline;
+    text-decoration: @link-hover-decoration;
   }
 
   &:focus {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 2e1ef33..ba24498 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
@@ -6,6 +6,12 @@
 table {
   background-color: @table-bg;
 }
+caption {
+  padding-top: @table-cell-padding;
+  padding-bottom: @table-cell-padding;
+  color: @text-muted;
+  text-align: left;
+}
 th {
   text-align: left;
 }
@@ -106,10 +112,7 @@ th {
 
 .table-striped {
   > tbody > tr:nth-child(odd) {
-    > td,
-    > th {
-      background-color: @table-bg-accent;
-    }
+    background-color: @table-bg-accent;
   }
 }
 
@@ -120,10 +123,7 @@ th {
 
 .table-hover {
   > tbody > tr:hover {
-    > td,
-    > th {
-      background-color: @table-bg-hover;
-    }
+    background-color: @table-bg-hover;
   }
 }
 
@@ -169,14 +169,15 @@ table {
 // will display normally.
 
 .table-responsive {
+  overflow-x: auto;
+  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
+
   @media screen and (max-width: @screen-xs-max) {
     width: 100%;
     margin-bottom: (@line-height-computed * 0.75);
     overflow-y: hidden;
-    overflow-x: auto;
     -ms-overflow-style: -ms-autohiding-scrollbar;
     border: 1px solid @table-border-color;
-    -webkit-overflow-scrolling: touch;
 
     // Tighten up spacing
     > .table {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 b089424..a15d16e 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
@@ -7,7 +7,6 @@
 @import "mixins.less";
 
 
-
 //
 // Buttons
 // --------------------------------------------------
@@ -28,6 +27,10 @@
   &.active {
     .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
   }
+
+  .badge {
+    text-shadow: none;
+  }
 }
 
 // Mixin for generating new styles
@@ -74,7 +77,6 @@
 .btn-danger  { .btn-styles(@btn-danger-bg); }
 
 
-
 //
 // Images
 // --------------------------------------------------
@@ -85,7 +87,6 @@
 }
 
 
-
 //
 // Dropdowns
 // --------------------------------------------------
@@ -103,7 +104,6 @@
 }
 
 
-
 //
 // Navbar
 // --------------------------------------------------
@@ -116,8 +116,9 @@
   @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
   .box-shadow(@shadow);
 
+  .navbar-nav > .open > a,
   .navbar-nav > .active > a {
-    #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));
+    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));
     .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
   }
 }
@@ -131,8 +132,9 @@
   #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
   .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
 
+  .navbar-nav > .open > a,
   .navbar-nav > .active > a {
-    #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));
+    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));
     .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
   }
 
@@ -149,6 +151,17 @@
   border-radius: 0;
 }
 
+// Fix active state of dropdown items in collapsed mode
+@media (max-width: @grid-float-breakpoint-max) {
+  .navbar .navbar-nav .open .dropdown-menu > .active > a {
+    &,
+    &:hover,
+    &:focus {
+      color: #fff;
+      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
+    }
+  }
+}
 
 
 //
@@ -175,7 +188,6 @@
 .alert-danger     { .alert-styles(@alert-danger-bg); }
 
 
-
 //
 // Progress bars
 // --------------------------------------------------
@@ -218,8 +230,11 @@
   text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
   #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
   border-color: darken(@list-group-active-border, 7.5%);
-}
 
+  .badge {
+    text-shadow: none;
+  }
+}
 
 
 //
@@ -245,7 +260,6 @@
 .panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }
 
 
-
 //
 // Wells
 // --------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 c428920..0713e67 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/thumbnails.less
@@ -12,7 +12,7 @@
   background-color: @thumbnail-bg;
   border: 1px solid @thumbnail-border;
   border-radius: @thumbnail-border-radius;
-  .transition(all .2s ease-in-out);
+  .transition(border .2s ease-in-out);
 
   > img,
   a > img {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 bd62699..9c2a37f 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
@@ -9,7 +9,10 @@
   z-index: @zindex-tooltip;
   display: block;
   visibility: visible;
+  // Reset font and text propertes given new insertion method
+  font-family: @font-family-base;
   font-size: @font-size-small;
+  font-weight: normal;
   line-height: 1.4;
   .opacity(0);
 
@@ -39,6 +42,7 @@
   border-color: transparent;
   border-style: solid;
 }
+// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1
 .tooltip {
   &.top .tooltip-arrow {
     bottom: 0;
@@ -49,13 +53,15 @@
   }
   &.top-left .tooltip-arrow {
     bottom: 0;
-    left: @tooltip-arrow-width;
+    right: @tooltip-arrow-width;
+    margin-bottom: -@tooltip-arrow-width;
     border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
     border-top-color: @tooltip-arrow-color;
   }
   &.top-right .tooltip-arrow {
     bottom: 0;
-    right: @tooltip-arrow-width;
+    left: @tooltip-arrow-width;
+    margin-bottom: -@tooltip-arrow-width;
     border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
     border-top-color: @tooltip-arrow-color;
   }
@@ -82,13 +88,15 @@
   }
   &.bottom-left .tooltip-arrow {
     top: 0;
-    left: @tooltip-arrow-width;
+    right: @tooltip-arrow-width;
+    margin-top: -@tooltip-arrow-width;
     border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
     border-bottom-color: @tooltip-arrow-color;
   }
   &.bottom-right .tooltip-arrow {
     top: 0;
-    right: @tooltip-arrow-width;
+    left: @tooltip-arrow-width;
+    margin-top: -@tooltip-arrow-width;
     border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
     border-bottom-color: @tooltip-arrow-color;
   }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/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 9b1e48b..3ec976e 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/type.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/type.less
@@ -80,11 +80,6 @@ small,
   font-size: floor((100% * @font-size-small / @font-size-base));
 }
 
-// Undo browser default styling
-cite {
-  font-style: normal;
-}
-
 mark,
 .mark {
   background-color: @state-warning-bg;
@@ -299,12 +294,6 @@ blockquote.pull-right {
   }
 }
 
-// Quotes
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-
 // Addresses
 address {
   margin-bottom: @line-height-computed;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/utilities.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/utilities.less b/tapestry-webresources/src/test/webapp/bootstrap/less/utilities.less
index c0becab..a260312 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/utilities.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/utilities.less
@@ -53,5 +53,4 @@
 
 .affix {
   position: fixed;
-  .translate3d(0, 0, 0);
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less b/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
index 582f0f8..b13be9d 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
@@ -7,13 +7,14 @@
 //
 //## Gray and brand colors for use across Bootstrap.
 
-@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
-
-@brand-primary:         #428bca;
+@gray-base:              #000;
+@gray-darker:            lighten(@gray-base, 13.5%); // #222
+@gray-dark:              lighten(@gray-base, 20%);   // #333
+@gray:                   lighten(@gray-base, 33.5%); // #555
+@gray-light:             lighten(@gray-base, 46.7%); // #777
+@gray-lighter:           lighten(@gray-base, 93.5%); // #eee
+
+@brand-primary:         darken(#428bca, 6.5%);
 @brand-success:         #5cb85c;
 @brand-info:            #5bc0de;
 @brand-warning:         #f0ad4e;
@@ -33,6 +34,8 @@
 @link-color:            @brand-primary;
 //** Link hover color set via `darken()` function.
 @link-hover-color:      darken(@link-color, 15%);
+//** Link hover decoration.
+@link-hover-decoration: underline;
 
 
 //== Typography
@@ -181,13 +184,20 @@
 @input-color:                    @gray;
 //** `<input>` border color
 @input-border:                   #ccc;
-//** `<input>` border radius
+
+// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
+//** Default `.form-control` border radius
 @input-border-radius:            @border-radius-base;
+//** Large `.form-control` border radius
+@input-border-radius-large:      @border-radius-large;
+//** Small `.form-control` border radius
+@input-border-radius-small:      @border-radius-small;
+
 //** Border color for inputs on focus
 @input-border-focus:             #66afe9;
 
 //** Placeholder text color
-@input-color-placeholder:        @gray-light;
+@input-color-placeholder:        #999;
 
 //** Default `.form-control` height
 @input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);
@@ -204,6 +214,9 @@
 //** Border color for textual input addons
 @input-group-addon-border-color: @input-border;
 
+//** Disabled cursor for form controls and buttons.
+@cursor-disabled:                not-allowed;
+
 
 //== Dropdowns
 //
@@ -252,8 +265,7 @@
 @zindex-popover:           1060;
 @zindex-tooltip:           1070;
 @zindex-navbar-fixed:      1030;
-@zindex-modal-background:  1040;
-@zindex-modal:             1050;
+@zindex-modal:             1040;
 
 
 //== Media queries breakpoints
@@ -315,17 +327,17 @@
 //## Define the maximum width of `.container` for different screen sizes.
 
 // Small screen / tablet
-@container-tablet:             ((720px + @grid-gutter-width));
+@container-tablet:             (720px + @grid-gutter-width);
 //** For `@screen-sm-min` and up.
 @container-sm:                 @container-tablet;
 
 // Medium screen / desktop
-@container-desktop:            ((940px + @grid-gutter-width));
+@container-desktop:            (940px + @grid-gutter-width);
 //** For `@screen-md-min` and up.
 @container-md:                 @container-desktop;
 
 // Large screen / wide desktop
-@container-large-desktop:      ((1140px + @grid-gutter-width));
+@container-large-desktop:      (1140px + @grid-gutter-width);
 //** For `@screen-lg-min` and up.
 @container-lg:                 @container-large-desktop;
 
@@ -368,12 +380,12 @@
 
 // Inverted navbar
 // Reset inverted navbar basics
-@navbar-inverse-color:                      @gray-light;
+@navbar-inverse-color:                      lighten(@gray-light, 15%);
 @navbar-inverse-bg:                         #222;
 @navbar-inverse-border:                     darken(@navbar-inverse-bg, 10%);
 
 // Inverted navbar links
-@navbar-inverse-link-color:                 @gray-light;
+@navbar-inverse-link-color:                 lighten(@gray-light, 15%);
 @navbar-inverse-link-hover-color:           #fff;
 @navbar-inverse-link-hover-bg:              transparent;
 @navbar-inverse-link-active-color:          @navbar-inverse-link-hover-color;
@@ -403,8 +415,6 @@
 @nav-disabled-link-color:                   @gray-light;
 @nav-disabled-link-hover-color:             @gray-light;
 
-@nav-open-link-hover-color:                 #fff;
-
 //== Tabs
 @nav-tabs-border-color:                     #ddd;
 
@@ -529,7 +539,7 @@
 //** Popover arrow width
 @popover-arrow-width:                 10px;
 //** Popover arrow color
-@popover-arrow-color:                 #fff;
+@popover-arrow-color:                 @popover-bg;
 
 //** Popover outer arrow width
 @popover-arrow-outer-width:           (@popover-arrow-width + 1);
@@ -628,6 +638,8 @@
 @progress-bg:                 #f5f5f5;
 //** Progress bar text color
 @progress-bar-color:          #fff;
+//** Variable for setting rounded corners on progress bar.
+@progress-border-radius:      @border-radius-base;
 
 //** Default progress bar color
 @progress-bar-bg:             @brand-primary;
@@ -842,5 +854,3 @@
 @dl-horizontal-offset:        @component-offset-horizontal;
 //** Horizontal line color.
 @hr-border:                   @gray-lighter;
-
-