You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2013/08/25 00:36:33 UTC
[08/10] Include Bootstrap 3 source to test Less compilation Replace
WRO4J CoffeeScript compiler with own implementation
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/main/resources/org/apache/tapestry5/webresources/internal/invoke-coffeescript.js
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/main/resources/org/apache/tapestry5/webresources/internal/invoke-coffeescript.js b/tapestry-wro4j/src/main/resources/org/apache/tapestry5/webresources/internal/invoke-coffeescript.js
new file mode 100644
index 0000000..822afa1
--- /dev/null
+++ b/tapestry-wro4j/src/main/resources/org/apache/tapestry5/webresources/internal/invoke-coffeescript.js
@@ -0,0 +1,14 @@
+// Compiles CoffeeScript source to JavaScript.
+//
+// input - string containing contents of the file
+// filename - name of file, used to report errors
+//
+// Returns { output: <compiled JavaScript> } or { exception: <exception message> }
+function compileCoffeeScriptSource(input, filename) {
+ try {
+ return { output: CoffeeScript.compile(input, {header: true}) };
+ }
+ catch (err) {
+ return { exception: CoffeeScript.helpers.prettyErrorMessage(err, filename, input, false) };
+ }
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/groovy/t5/wro4j/components/Layout.groovy
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/groovy/t5/wro4j/components/Layout.groovy b/tapestry-wro4j/src/test/groovy/t5/wro4j/components/Layout.groovy
index 6bb4523..eb04d4b 100644
--- a/tapestry-wro4j/src/test/groovy/t5/wro4j/components/Layout.groovy
+++ b/tapestry-wro4j/src/test/groovy/t5/wro4j/components/Layout.groovy
@@ -4,7 +4,7 @@ import org.apache.tapestry5.annotations.Import
import org.apache.tapestry5.ioc.annotations.Inject
import org.apache.tapestry5.services.ComponentClassResolver
-@Import(stack="core", module = "bootstrap")
+@Import(stack="core", module = "bootstrap-dropdown")
class Layout {
@Inject
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/groovy/t5/wro4j/tests/Wro4jSpec.groovy
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/groovy/t5/wro4j/tests/Wro4jSpec.groovy b/tapestry-wro4j/src/test/groovy/t5/wro4j/tests/Wro4jSpec.groovy
index ee37621..e706d78 100644
--- a/tapestry-wro4j/src/test/groovy/t5/wro4j/tests/Wro4jSpec.groovy
+++ b/tapestry-wro4j/src/test/groovy/t5/wro4j/tests/Wro4jSpec.groovy
@@ -1,10 +1,10 @@
package t5.wro4j.tests
-import geb.spock.GebSpec
+import geb.spock.GebReportingSpec
import org.apache.tapestry5.test.Jetty7Runner
import spock.lang.Shared
-class Wro4jSpec extends GebSpec {
+class Wro4jSpec extends GebReportingSpec {
@Shared
def runner;
@@ -43,6 +43,11 @@ class Wro4jSpec extends GebSpec {
waitFor { !$("body[data-page-initialized]").empty }
+ // Because the CoffeeScript may already be pre-compiled, it can outrace the Less compilation.
+ // For some reason, the navbar is invisible (at least to Selenium) until the CSS loads.
+
+ waitFor { $(".navbar .dropdown-toggle").visible() }
+
$(".navbar .dropdown-toggle").click()
$(".navbar .dropdown-menu a", text: "MultiLess").click()
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/java/t5/wro4j/services/AppModule.java
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/java/t5/wro4j/services/AppModule.java b/tapestry-wro4j/src/test/java/t5/wro4j/services/AppModule.java
index 49d96dc..017d8d2 100644
--- a/tapestry-wro4j/src/test/java/t5/wro4j/services/AppModule.java
+++ b/tapestry-wro4j/src/test/java/t5/wro4j/services/AppModule.java
@@ -12,7 +12,6 @@ import org.apache.tapestry5.services.compatibility.Compatibility;
import org.apache.tapestry5.services.compatibility.Trait;
import org.apache.tapestry5.services.javascript.JavaScriptStack;
import org.apache.tapestry5.services.javascript.StackExtension;
-import org.apache.tapestry5.services.javascript.StackExtensionType;
import org.apache.tapestry5.wro4j.modules.WRO4JModule;
@SubModule(WRO4JModule.class)
@@ -31,14 +30,21 @@ public class AppModule
{
configuration.add(SymbolConstants.JAVASCRIPT_INFRASTRUCTURE_PROVIDER, "jquery");
configuration.add(SymbolConstants.MINIFICATION_ENABLED, true);
- configuration.add(SymbolConstants.BOOTSTRAP_ROOT, "context:bootstrap");
+
+ // Temporarily comment out due to problems with Less4J & Bootstrap 3
+ // see https://github.com/SomMeri/less4j/issues/160
+
+ // configuration.add(SymbolConstants.BOOTSTRAP_ROOT, "context:bootstrap");
}
@Contribute(JavaScriptStack.class)
@Core
public static void overrideBootstrapCSS(OrderedConfiguration<StackExtension> configuration)
{
- configuration.override("bootstrap.css",
- new StackExtension(StackExtensionType.STYLESHEET, "context:bootstrap/css/bootstrap.less"), "before:tapestry.css");
+ // Temporarily comment out due to problems with Less4J & Bootstrap 3
+ // see https://github.com/SomMeri/less4j/issues/160
+
+ // configuration.override("bootstrap.css",
+ // new StackExtension(StackExtensionType.STYLESHEET, "context:bootstrap/less/bootstrap.less"), "before:tapestry.css");
}
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/resources/GebConfig.groovy
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/resources/GebConfig.groovy b/tapestry-wro4j/src/test/resources/GebConfig.groovy
index ea30d3c..5605ce2 100644
--- a/tapestry-wro4j/src/test/resources/GebConfig.groovy
+++ b/tapestry-wro4j/src/test/resources/GebConfig.groovy
@@ -4,5 +4,5 @@ baseUrl = "http://localhost:8080"
waiting {
// Long timeout since we have to wait for Rhino & friends to spin up
- timeout = 120
+ timeout = 240
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/resources/t5/wro4j/components/Layout.tml
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/resources/t5/wro4j/components/Layout.tml b/tapestry-wro4j/src/test/resources/t5/wro4j/components/Layout.tml
index 04915e3..7619c41 100644
--- a/tapestry-wro4j/src/test/resources/t5/wro4j/components/Layout.tml
+++ b/tapestry-wro4j/src/test/resources/t5/wro4j/components/Layout.tml
@@ -3,16 +3,22 @@
<title>WRO4J Tests: ${componentResources.pageName}</title>
</head>
-<div class="navbar navbar-inverse">
- <div class="navbar-inner">
- <div class="container">
- <a class="brand" href="/">WRO4J Module Tests</a>
- <ul class="nav">
- <li><p class="navbar-text">${componentResources.pageName}</p></li>
- </ul>
- <ul class="pull-right nav">
- <li class="divider-vertical"/>
+<nav class="navbar xnavbar-inverse">
+ <div class="container">
+ <div class="navbar-header">
+ <ul class="nav navbar-nav">
+
+ <li>
+ <a class="navbar-brand" href="/">WRO4J Module Tests</a>
+
+ </li>
+
+ <li class="navbar-text">
+ <p>${componentResources.pageName}</p>
+
+ </li>
<li class="dropdown">
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Pages <b class="caret"/>
</a>
@@ -25,7 +31,7 @@
</ul>
</div>
</div>
-</div>
+</nav>
<div class="container">
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/accordion.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/accordion.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/accordion.less
deleted file mode 100644
index d63523b..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/accordion.less
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Accordion
-// --------------------------------------------------
-
-
-// Parent container
-.accordion {
- margin-bottom: @baseLineHeight;
-}
-
-// Group == heading + body
-.accordion-group {
- margin-bottom: 2px;
- border: 1px solid #e5e5e5;
- .border-radius(@baseBorderRadius);
-}
-.accordion-heading {
- border-bottom: 0;
-}
-.accordion-heading .accordion-toggle {
- display: block;
- padding: 8px 15px;
-}
-
-// General toggle styles
-.accordion-toggle {
- cursor: pointer;
-}
-
-// Inner needs the styles because you can't animate properly with any styles on the element
-.accordion-inner {
- padding: 9px 15px;
- border-top: 1px solid #e5e5e5;
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/alerts.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/alerts.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/alerts.less
deleted file mode 100644
index 0116b19..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/alerts.less
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// Alerts
-// --------------------------------------------------
-
-
-// Base styles
-// -------------------------
-
-.alert {
- padding: 8px 35px 8px 14px;
- margin-bottom: @baseLineHeight;
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
- background-color: @warningBackground;
- border: 1px solid @warningBorder;
- .border-radius(@baseBorderRadius);
-}
-.alert,
-.alert h4 {
- // Specified for the h4 to prevent conflicts of changing @headingsColor
- color: @warningText;
-}
-.alert h4 {
- margin: 0;
-}
-
-// Adjust close link position
-.alert .close {
- position: relative;
- top: -2px;
- right: -21px;
- line-height: @baseLineHeight;
-}
-
-
-// Alternate styles
-// -------------------------
-
-.alert-success {
- background-color: @successBackground;
- border-color: @successBorder;
- color: @successText;
-}
-.alert-success h4 {
- color: @successText;
-}
-.alert-danger,
-.alert-error {
- background-color: @errorBackground;
- border-color: @errorBorder;
- color: @errorText;
-}
-.alert-danger h4,
-.alert-error h4 {
- color: @errorText;
-}
-.alert-info {
- background-color: @infoBackground;
- border-color: @infoBorder;
- color: @infoText;
-}
-.alert-info h4 {
- color: @infoText;
-}
-
-
-// Block alerts
-// -------------------------
-
-.alert-block {
- padding-top: 14px;
- padding-bottom: 14px;
-}
-.alert-block > p,
-.alert-block > ul {
- margin-bottom: 0;
-}
-.alert-block p + p {
- margin-top: 5px;
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/bootstrap.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/bootstrap.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/bootstrap.less
deleted file mode 100644
index d4ebf37..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/bootstrap.less
+++ /dev/null
@@ -1,63 +0,0 @@
-/*!
- * Bootstrap v2.3.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-// Core variables and mixins
-@import "variables.less"; // Modify this for custom colors, font-sizes, etc
-@import "mixins.less";
-
-// CSS Reset
-@import "reset.less";
-
-// Grid system and page structure
-@import "scaffolding.less";
-@import "grid.less";
-@import "layouts.less";
-
-// Base CSS
-@import "type.less";
-@import "code.less";
-@import "forms.less";
-@import "tables.less";
-
-// Components: common
-@import "sprites.less";
-@import "dropdowns.less";
-@import "wells.less";
-@import "component-animations.less";
-@import "close.less";
-
-// Components: Buttons & Alerts
-@import "buttons.less";
-@import "button-groups.less";
-@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
-
-// Components: Nav
-@import "navs.less";
-@import "navbar.less";
-@import "breadcrumbs.less";
-@import "pagination.less";
-@import "pager.less";
-
-// Components: Popovers
-@import "modals.less";
-@import "tooltip.less";
-@import "popovers.less";
-
-// Components: Misc
-@import "thumbnails.less";
-@import "media.less";
-@import "labels-badges.less";
-@import "progress-bars.less";
-@import "accordion.less";
-@import "carousel.less";
-@import "hero-unit.less";
-
-// Utility classes
-@import "utilities.less"; // Has to be last to override when necessary
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/breadcrumbs.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/breadcrumbs.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/breadcrumbs.less
deleted file mode 100644
index f753df6..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/breadcrumbs.less
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// Breadcrumbs
-// --------------------------------------------------
-
-
-.breadcrumb {
- padding: 8px 15px;
- margin: 0 0 @baseLineHeight;
- list-style: none;
- background-color: #f5f5f5;
- .border-radius(@baseBorderRadius);
- > li {
- display: inline-block;
- .ie7-inline-block();
- text-shadow: 0 1px 0 @white;
- > .divider {
- padding: 0 5px;
- color: #ccc;
- }
- }
- > .active {
- color: @grayLight;
- }
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/button-groups.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/button-groups.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/button-groups.less
deleted file mode 100644
index 55cdc60..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/button-groups.less
+++ /dev/null
@@ -1,229 +0,0 @@
-//
-// Button groups
-// --------------------------------------------------
-
-
-// Make the div behave like a button
-.btn-group {
- position: relative;
- display: inline-block;
- .ie7-inline-block();
- font-size: 0; // remove as part 1 of font-size inline-block hack
- vertical-align: middle; // match .btn alignment given font-size hack above
- white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
- .ie7-restore-left-whitespace();
-}
-
-// Space out series of button groups
-.btn-group + .btn-group {
- margin-left: 5px;
-}
-
-// Optional: Group multiple button groups together for a toolbar
-.btn-toolbar {
- font-size: 0; // Hack to remove whitespace that results from using inline-block
- margin-top: @baseLineHeight / 2;
- margin-bottom: @baseLineHeight / 2;
- > .btn + .btn,
- > .btn-group + .btn,
- > .btn + .btn-group {
- margin-left: 5px;
- }
-}
-
-// Float them, remove border radius, then re-add to first and last elements
-.btn-group > .btn {
- position: relative;
- .border-radius(0);
-}
-.btn-group > .btn + .btn {
- margin-left: -1px;
-}
-.btn-group > .btn,
-.btn-group > .dropdown-menu,
-.btn-group > .popover {
- font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
-}
-
-// Reset fonts for other sizes
-.btn-group > .btn-mini {
- font-size: @fontSizeMini;
-}
-.btn-group > .btn-small {
- font-size: @fontSizeSmall;
-}
-.btn-group > .btn-large {
- font-size: @fontSizeLarge;
-}
-
-// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
-.btn-group > .btn:first-child {
- margin-left: 0;
- .border-top-left-radius(@baseBorderRadius);
- .border-bottom-left-radius(@baseBorderRadius);
-}
-// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
-.btn-group > .btn:last-child,
-.btn-group > .dropdown-toggle {
- .border-top-right-radius(@baseBorderRadius);
- .border-bottom-right-radius(@baseBorderRadius);
-}
-// Reset corners for large buttons
-.btn-group > .btn.large:first-child {
- margin-left: 0;
- .border-top-left-radius(@borderRadiusLarge);
- .border-bottom-left-radius(@borderRadiusLarge);
-}
-.btn-group > .btn.large:last-child,
-.btn-group > .large.dropdown-toggle {
- .border-top-right-radius(@borderRadiusLarge);
- .border-bottom-right-radius(@borderRadiusLarge);
-}
-
-// On hover/focus/active, bring the proper btn to front
-.btn-group > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group > .btn:active,
-.btn-group > .btn.active {
- z-index: 2;
-}
-
-// On active and open, don't show outline
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-
-
-
-// Split button dropdowns
-// ----------------------
-
-// Give the line between buttons some depth
-.btn-group > .btn + .dropdown-toggle {
- padding-left: 8px;
- padding-right: 8px;
- .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
- *padding-top: 5px;
- *padding-bottom: 5px;
-}
-.btn-group > .btn-mini + .dropdown-toggle {
- padding-left: 5px;
- padding-right: 5px;
- *padding-top: 2px;
- *padding-bottom: 2px;
-}
-.btn-group > .btn-small + .dropdown-toggle {
- *padding-top: 5px;
- *padding-bottom: 4px;
-}
-.btn-group > .btn-large + .dropdown-toggle {
- padding-left: 12px;
- padding-right: 12px;
- *padding-top: 7px;
- *padding-bottom: 7px;
-}
-
-.btn-group.open {
-
- // The clickable button for toggling the menu
- // Remove the gradient and set the same inset shadow as the :active state
- .dropdown-toggle {
- background-image: none;
- .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
- }
-
- // Keep the hover's background when dropdown is open
- .btn.dropdown-toggle {
- background-color: @btnBackgroundHighlight;
- }
- .btn-primary.dropdown-toggle {
- background-color: @btnPrimaryBackgroundHighlight;
- }
- .btn-warning.dropdown-toggle {
- background-color: @btnWarningBackgroundHighlight;
- }
- .btn-danger.dropdown-toggle {
- background-color: @btnDangerBackgroundHighlight;
- }
- .btn-success.dropdown-toggle {
- background-color: @btnSuccessBackgroundHighlight;
- }
- .btn-info.dropdown-toggle {
- background-color: @btnInfoBackgroundHighlight;
- }
- .btn-inverse.dropdown-toggle {
- background-color: @btnInverseBackgroundHighlight;
- }
-}
-
-
-// Reposition the caret
-.btn .caret {
- margin-top: 8px;
- margin-left: 0;
-}
-// Carets in other button sizes
-.btn-large .caret {
- margin-top: 6px;
-}
-.btn-large .caret {
- border-left-width: 5px;
- border-right-width: 5px;
- border-top-width: 5px;
-}
-.btn-mini .caret,
-.btn-small .caret {
- margin-top: 8px;
-}
-// Upside down carets for .dropup
-.dropup .btn-large .caret {
- border-bottom-width: 5px;
-}
-
-
-
-// Account for other colors
-.btn-primary,
-.btn-warning,
-.btn-danger,
-.btn-info,
-.btn-success,
-.btn-inverse {
- .caret {
- border-top-color: @white;
- border-bottom-color: @white;
- }
-}
-
-
-
-// Vertical button groups
-// ----------------------
-
-.btn-group-vertical {
- display: inline-block; // makes buttons only take up the width they need
- .ie7-inline-block();
-}
-.btn-group-vertical > .btn {
- display: block;
- float: none;
- max-width: 100%;
- .border-radius(0);
-}
-.btn-group-vertical > .btn + .btn {
- margin-left: 0;
- margin-top: -1px;
-}
-.btn-group-vertical > .btn:first-child {
- .border-radius(@baseBorderRadius @baseBorderRadius 0 0);
-}
-.btn-group-vertical > .btn:last-child {
- .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
-}
-.btn-group-vertical > .btn-large:first-child {
- .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
-}
-.btn-group-vertical > .btn-large:last-child {
- .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/buttons.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/buttons.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/buttons.less
deleted file mode 100644
index 4cd4d86..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/buttons.less
+++ /dev/null
@@ -1,228 +0,0 @@
-//
-// Buttons
-// --------------------------------------------------
-
-
-// Base styles
-// --------------------------------------------------
-
-// Core
-.btn {
- display: inline-block;
- .ie7-inline-block();
- padding: 4px 12px;
- margin-bottom: 0; // For input.btn
- font-size: @baseFontSize;
- line-height: @baseLineHeight;
- text-align: center;
- vertical-align: middle;
- cursor: pointer;
- .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
- border: 1px solid @btnBorder;
- *border: 0; // Remove the border to prevent IE7's black border on input:focus
- border-bottom-color: darken(@btnBorder, 10%);
- .border-radius(@baseBorderRadius);
- .ie7-restore-left-whitespace(); // Give IE7 some love
- .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
-
- // Hover/focus state
- &:hover,
- &:focus {
- color: @grayDark;
- text-decoration: none;
- background-position: 0 -15px;
-
- // transition is only when going to hover/focus, otherwise the background
- // behind the gradient (there for IE<=9 fallback) gets mismatched
- .transition(background-position .1s linear);
- }
-
- // Focus state for keyboard and accessibility
- &:focus {
- .tab-focus();
- }
-
- // Active state
- &.active,
- &:active {
- background-image: none;
- outline: 0;
- .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
- }
-
- // Disabled state
- &.disabled,
- &[disabled] {
- cursor: default;
- background-image: none;
- .opacity(65);
- .box-shadow(none);
- }
-
-}
-
-
-
-// Button Sizes
-// --------------------------------------------------
-
-// Large
-.btn-large {
- padding: @paddingLarge;
- font-size: @fontSizeLarge;
- .border-radius(@borderRadiusLarge);
-}
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
- margin-top: 4px;
-}
-
-// Small
-.btn-small {
- padding: @paddingSmall;
- font-size: @fontSizeSmall;
- .border-radius(@borderRadiusSmall);
-}
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
- margin-top: 0;
-}
-.btn-mini [class^="icon-"],
-.btn-mini [class*=" icon-"] {
- margin-top: -1px;
-}
-
-// Mini
-.btn-mini {
- padding: @paddingMini;
- font-size: @fontSizeMini;
- .border-radius(@borderRadiusSmall);
-}
-
-
-// Block button
-// -------------------------
-
-.btn-block {
- display: block;
- width: 100%;
- padding-left: 0;
- padding-right: 0;
- .box-sizing(border-box);
-}
-
-// Vertically space out multiple block buttons
-.btn-block + .btn-block {
- margin-top: 5px;
-}
-
-// Specificity overrides
-input[type="submit"],
-input[type="reset"],
-input[type="button"] {
- &.btn-block {
- width: 100%;
- }
-}
-
-
-
-// Alternate buttons
-// --------------------------------------------------
-
-// Provide *some* extra contrast for those who can get it
-.btn-primary.active,
-.btn-warning.active,
-.btn-danger.active,
-.btn-success.active,
-.btn-info.active,
-.btn-inverse.active {
- color: rgba(255,255,255,.75);
-}
-
-// Set the backgrounds
-// -------------------------
-.btn-primary {
- .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
-}
-// Warning appears are orange
-.btn-warning {
- .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
-}
-// Danger and error appear as red
-.btn-danger {
- .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
-}
-// Success appears as green
-.btn-success {
- .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
-}
-// Info appears as a neutral blue
-.btn-info {
- .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
-}
-// Inverse appears as dark gray
-.btn-inverse {
- .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
-}
-
-
-// Cross-browser Jank
-// --------------------------------------------------
-
-button.btn,
-input[type="submit"].btn {
-
- // Firefox 3.6 only I believe
- &::-moz-focus-inner {
- padding: 0;
- border: 0;
- }
-
- // IE7 has some default padding on button controls
- *padding-top: 3px;
- *padding-bottom: 3px;
-
- &.btn-large {
- *padding-top: 7px;
- *padding-bottom: 7px;
- }
- &.btn-small {
- *padding-top: 3px;
- *padding-bottom: 3px;
- }
- &.btn-mini {
- *padding-top: 1px;
- *padding-bottom: 1px;
- }
-}
-
-
-// Link buttons
-// --------------------------------------------------
-
-// Make a button look and behave like a link
-.btn-link,
-.btn-link:active,
-.btn-link[disabled] {
- background-color: transparent;
- background-image: none;
- .box-shadow(none);
-}
-.btn-link {
- border-color: transparent;
- cursor: pointer;
- color: @linkColor;
- .border-radius(0);
-}
-.btn-link:hover,
-.btn-link:focus {
- color: @linkColorHover;
- text-decoration: underline;
- background-color: transparent;
-}
-.btn-link[disabled]:hover,
-.btn-link[disabled]:focus {
- color: @grayDark;
- text-decoration: none;
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/carousel.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/carousel.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/carousel.less
deleted file mode 100644
index 55bc050..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/carousel.less
+++ /dev/null
@@ -1,158 +0,0 @@
-//
-// Carousel
-// --------------------------------------------------
-
-
-.carousel {
- position: relative;
- margin-bottom: @baseLineHeight;
- line-height: 1;
-}
-
-.carousel-inner {
- overflow: hidden;
- width: 100%;
- position: relative;
-}
-
-.carousel-inner {
-
- > .item {
- display: none;
- position: relative;
- .transition(.6s ease-in-out left);
-
- // Account for jankitude on images
- > img,
- > a > img {
- display: block;
- line-height: 1;
- }
- }
-
- > .active,
- > .next,
- > .prev { display: block; }
-
- > .active {
- left: 0;
- }
-
- > .next,
- > .prev {
- position: absolute;
- top: 0;
- width: 100%;
- }
-
- > .next {
- left: 100%;
- }
- > .prev {
- left: -100%;
- }
- > .next.left,
- > .prev.right {
- left: 0;
- }
-
- > .active.left {
- left: -100%;
- }
- > .active.right {
- left: 100%;
- }
-
-}
-
-// Left/right controls for nav
-// ---------------------------
-
-.carousel-control {
- position: absolute;
- top: 40%;
- left: 15px;
- width: 40px;
- height: 40px;
- margin-top: -20px;
- font-size: 60px;
- font-weight: 100;
- line-height: 30px;
- color: @white;
- text-align: center;
- background: @grayDarker;
- border: 3px solid @white;
- .border-radius(23px);
- .opacity(50);
-
- // we can't have this transition here
- // because webkit cancels the carousel
- // animation if you trip this while
- // in the middle of another animation
- // ;_;
- // .transition(opacity .2s linear);
-
- // Reposition the right one
- &.right {
- left: auto;
- right: 15px;
- }
-
- // Hover/focus state
- &:hover,
- &:focus {
- color: @white;
- text-decoration: none;
- .opacity(90);
- }
-}
-
-// Carousel indicator pips
-// -----------------------------
-.carousel-indicators {
- position: absolute;
- top: 15px;
- right: 15px;
- z-index: 5;
- margin: 0;
- list-style: none;
-
- li {
- display: block;
- float: left;
- width: 10px;
- height: 10px;
- margin-left: 5px;
- text-indent: -999px;
- background-color: #ccc;
- background-color: rgba(255,255,255,.25);
- border-radius: 5px;
- }
- .active {
- background-color: #fff;
- }
-}
-
-// Caption for text below images
-// -----------------------------
-
-.carousel-caption {
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- padding: 15px;
- background: @grayDark;
- background: rgba(0,0,0,.75);
-}
-.carousel-caption h4,
-.carousel-caption p {
- color: @white;
- line-height: @baseLineHeight;
-}
-.carousel-caption h4 {
- margin: 0 0 5px;
-}
-.carousel-caption p {
- margin-bottom: 0;
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/close.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/close.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/close.less
deleted file mode 100644
index 4c626bd..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/close.less
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// Close icons
-// --------------------------------------------------
-
-
-.close {
- float: right;
- font-size: 20px;
- font-weight: bold;
- line-height: @baseLineHeight;
- color: @black;
- text-shadow: 0 1px 0 rgba(255,255,255,1);
- .opacity(20);
- &:hover,
- &:focus {
- color: @black;
- text-decoration: none;
- cursor: pointer;
- .opacity(40);
- }
-}
-
-// Additional properties for button version
-// iOS requires the button element instead of an anchor tag.
-// If you want the anchor version, it requires `href="#"`.
-button.close {
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- -webkit-appearance: none;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/code.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/code.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/code.less
deleted file mode 100644
index 266a926..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/code.less
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// Code (inline and blocK)
-// --------------------------------------------------
-
-
-// Inline and block code styles
-code,
-pre {
- padding: 0 3px 2px;
- #font > #family > .monospace;
- font-size: @baseFontSize - 2;
- color: @grayDark;
- .border-radius(3px);
-}
-
-// Inline code
-code {
- padding: 2px 4px;
- color: #d14;
- background-color: #f7f7f9;
- border: 1px solid #e1e1e8;
- white-space: nowrap;
-}
-
-// Blocks of code
-pre {
- display: block;
- padding: (@baseLineHeight - 1) / 2;
- margin: 0 0 @baseLineHeight / 2;
- font-size: @baseFontSize - 1; // 14px to 13px
- line-height: @baseLineHeight;
- word-break: break-all;
- word-wrap: break-word;
- white-space: pre;
- white-space: pre-wrap;
- background-color: #f5f5f5;
- border: 1px solid #ccc; // fallback for IE7-8
- border: 1px solid rgba(0,0,0,.15);
- .border-radius(@baseBorderRadius);
-
- // Make prettyprint styles more spaced out for readability
- &.prettyprint {
- margin-bottom: @baseLineHeight;
- }
-
- // Account for some code outputs that place code tags in pre tags
- code {
- padding: 0;
- color: inherit;
- white-space: pre;
- white-space: pre-wrap;
- background-color: transparent;
- border: 0;
- }
-}
-
-// Enable scrollable blocks of code
-.pre-scrollable {
- max-height: 340px;
- overflow-y: scroll;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/component-animations.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/component-animations.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/component-animations.less
deleted file mode 100644
index d614263..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/component-animations.less
+++ /dev/null
@@ -1,22 +0,0 @@
-//
-// Component animations
-// --------------------------------------------------
-
-
-.fade {
- opacity: 0;
- .transition(opacity .15s linear);
- &.in {
- opacity: 1;
- }
-}
-
-.collapse {
- position: relative;
- height: 0;
- overflow: hidden;
- .transition(height .35s ease);
- &.in {
- height: auto;
- }
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/dropdowns.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/dropdowns.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/dropdowns.less
deleted file mode 100644
index 9e47b47..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/dropdowns.less
+++ /dev/null
@@ -1,248 +0,0 @@
-//
-// Dropdown menus
-// --------------------------------------------------
-
-
-// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
-.dropup,
-.dropdown {
- position: relative;
-}
-.dropdown-toggle {
- // The caret makes the toggle a bit too tall in IE7
- *margin-bottom: -3px;
-}
-.dropdown-toggle:active,
-.open .dropdown-toggle {
- outline: 0;
-}
-
-// Dropdown arrow/caret
-// --------------------
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- vertical-align: top;
- border-top: 4px solid @black;
- border-right: 4px solid transparent;
- border-left: 4px solid transparent;
- content: "";
-}
-
-// Place the caret
-.dropdown .caret {
- margin-top: 8px;
- margin-left: 2px;
-}
-
-// The dropdown menu (ul)
-// ----------------------
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: @zindexDropdown;
- display: none; // none by default, but block on "open" of the menu
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0; // override default ul
- list-style: none;
- background-color: @dropdownBackground;
- border: 1px solid #ccc; // Fallback for IE7-8
- border: 1px solid @dropdownBorder;
- *border-right-width: 2px;
- *border-bottom-width: 2px;
- .border-radius(6px);
- .box-shadow(0 5px 10px rgba(0,0,0,.2));
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding;
- background-clip: padding-box;
-
- // Aligns the dropdown menu to right
- &.pull-right {
- right: 0;
- left: auto;
- }
-
- // Dividers (basically an hr) within the dropdown
- .divider {
- .nav-divider(@dropdownDividerTop, @dropdownDividerBottom);
- }
-
- // Links within the dropdown menu
- > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: @baseLineHeight;
- color: @dropdownLinkColor;
- white-space: nowrap;
- }
-}
-
-// Hover/Focus state
-// -----------
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus,
-.dropdown-submenu:hover > a,
-.dropdown-submenu:focus > a {
- text-decoration: none;
- color: @dropdownLinkColorHover;
- #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
-}
-
-// Active state
-// ------------
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- color: @dropdownLinkColorActive;
- text-decoration: none;
- outline: 0;
- #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
-}
-
-// Disabled state
-// --------------
-// Gray out text and ensure the hover/focus state remains gray
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- color: @grayLight;
-}
-// Nuke hover/focus effects
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- background-color: transparent;
- background-image: none; // Remove CSS gradient
- .reset-filter();
- cursor: default;
-}
-
-// Open state for the dropdown
-// ---------------------------
-.open {
- // IE7's z-index only goes to the nearest positioned ancestor, which would
- // make the menu appear below buttons that appeared later on the page
- *z-index: @zindexDropdown;
-
- & > .dropdown-menu {
- display: block;
- }
-}
-
-// Backdrop to catch body clicks on mobile, etc.
-// ---------------------------
-.dropdown-backdrop {
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
- z-index: @zindexDropdown - 10;
-}
-
-// Right aligned dropdowns
-// ---------------------------
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto;
-}
-
-// Allow for dropdowns to go bottom up (aka, dropup-menu)
-// ------------------------------------------------------
-// Just add .dropup after the standard .dropdown class and you're set, bro.
-// TODO: abstract this so that the navbar fixed styles are not placed here?
-.dropup,
-.navbar-fixed-bottom .dropdown {
- // Reverse the caret
- .caret {
- border-top: 0;
- border-bottom: 4px solid @black;
- content: "";
- }
- // Different positioning for bottom up menu
- .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 1px;
- }
-}
-
-// Sub menus
-// ---------------------------
-.dropdown-submenu {
- position: relative;
-}
-// Default dropdowns
-.dropdown-submenu > .dropdown-menu {
- top: 0;
- left: 100%;
- margin-top: -6px;
- margin-left: -1px;
- .border-radius(0 6px 6px 6px);
-}
-.dropdown-submenu:hover > .dropdown-menu {
- display: block;
-}
-
-// Dropups
-.dropup .dropdown-submenu > .dropdown-menu {
- top: auto;
- bottom: 0;
- margin-top: 0;
- margin-bottom: -2px;
- .border-radius(5px 5px 5px 0);
-}
-
-// Caret to indicate there is a submenu
-.dropdown-submenu > a:after {
- display: block;
- content: " ";
- float: right;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
- border-width: 5px 0 5px 5px;
- border-left-color: darken(@dropdownBackground, 20%);
- margin-top: 5px;
- margin-right: -10px;
-}
-.dropdown-submenu:hover > a:after {
- border-left-color: @dropdownLinkColorHover;
-}
-
-// Left aligned submenus
-.dropdown-submenu.pull-left {
- // Undo the float
- // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
- float: none;
-
- // Positioning the submenu
- > .dropdown-menu {
- left: -100%;
- margin-left: 10px;
- .border-radius(6px 0 6px 6px);
- }
-}
-
-// Tweak nav headers
-// -----------------
-// Increase padding from 15px to 20px on sides
-.dropdown .dropdown-menu .nav-header {
- padding-left: 20px;
- padding-right: 20px;
-}
-
-// Typeahead
-// ---------
-.typeahead {
- z-index: 1051;
- margin-top: 2px; // give it some space to breathe
- .border-radius(@baseBorderRadius);
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/forms.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/forms.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/forms.less
deleted file mode 100644
index 06767bd..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/forms.less
+++ /dev/null
@@ -1,690 +0,0 @@
-//
-// Forms
-// --------------------------------------------------
-
-
-// GENERAL STYLES
-// --------------
-
-// Make all forms have space below them
-form {
- margin: 0 0 @baseLineHeight;
-}
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
-}
-
-// Groups of fields with labels on top (legends)
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: @baseLineHeight;
- font-size: @baseFontSize * 1.5;
- line-height: @baseLineHeight * 2;
- color: @grayDark;
- border: 0;
- border-bottom: 1px solid #e5e5e5;
-
- // Small
- small {
- font-size: @baseLineHeight * .75;
- color: @grayLight;
- }
-}
-
-// Set font for forms
-label,
-input,
-button,
-select,
-textarea {
- #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
-}
-input,
-button,
-select,
-textarea {
- font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
-}
-
-// Identify controls by their labels
-label {
- display: block;
- margin-bottom: 5px;
-}
-
-// Form controls
-// -------------------------
-
-// Shared size and type resets
-select,
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
- display: inline-block;
- height: @baseLineHeight;
- padding: 4px 6px;
- margin-bottom: @baseLineHeight / 2;
- font-size: @baseFontSize;
- line-height: @baseLineHeight;
- color: @gray;
- .border-radius(@inputBorderRadius);
- vertical-align: middle;
-}
-
-// Reset appearance properties for textual inputs and textarea
-// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
-input,
-textarea,
-.uneditable-input {
- width: 206px; // plus 12px padding and 2px border
-}
-// Reset height since textareas have rows
-textarea {
- height: auto;
-}
-// Everything else
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
- background-color: @inputBackground;
- border: 1px solid @inputBorder;
- .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
- .transition(~"border linear .2s, box-shadow linear .2s");
-
- // Focus state
- &:focus {
- border-color: rgba(82,168,236,.8);
- outline: 0;
- outline: thin dotted \9; /* IE6-9 */
- .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
- }
-}
-
-// Position radios and checkboxes better
-input[type="radio"],
-input[type="checkbox"] {
- margin: 4px 0 0;
- *margin-top: 0; /* IE7 */
- margin-top: 1px \9; /* IE8-9 */
- line-height: normal;
-}
-
-// Reset width of input images, buttons, radios, checkboxes
-input[type="file"],
-input[type="image"],
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input[type="radio"],
-input[type="checkbox"] {
- width: auto; // Override of generic input selector
-}
-
-// Set the height of select and file controls to match text inputs
-select,
-input[type="file"] {
- height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
- *margin-top: 4px; /* For IE7, add top margin to align select with labels */
- line-height: @inputHeight;
-}
-
-// Make select elements obey height by applying a border
-select {
- width: 220px; // default input width + 10px of padding that doesn't get applied
- border: 1px solid @inputBorder;
- background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
-}
-
-// Make multiple select elements height not fixed
-select[multiple],
-select[size] {
- height: auto;
-}
-
-// Focus for select, file, radio, and checkbox
-select:focus,
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
- .tab-focus();
-}
-
-
-// Uneditable inputs
-// -------------------------
-
-// Make uneditable inputs look inactive
-.uneditable-input,
-.uneditable-textarea {
- color: @grayLight;
- background-color: darken(@inputBackground, 1%);
- border-color: @inputBorder;
- .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
- cursor: not-allowed;
-}
-
-// For text that needs to appear as an input but should not be an input
-.uneditable-input {
- overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
- white-space: nowrap;
-}
-
-// Make uneditable textareas behave like a textarea
-.uneditable-textarea {
- width: auto;
- height: auto;
-}
-
-
-// Placeholder
-// -------------------------
-
-// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
-input,
-textarea {
- .placeholder();
-}
-
-
-// CHECKBOXES & RADIOS
-// -------------------
-
-// Indent the labels to position radios/checkboxes as hanging
-.radio,
-.checkbox {
- min-height: @baseLineHeight; // clear the floating input if there is no label text
- padding-left: 20px;
-}
-.radio input[type="radio"],
-.checkbox input[type="checkbox"] {
- float: left;
- margin-left: -20px;
-}
-
-// Move the options list down to align with labels
-.controls > .radio:first-child,
-.controls > .checkbox:first-child {
- padding-top: 5px; // has to be padding because margin collaspes
-}
-
-// Radios and checkboxes on same line
-// TODO v3: Convert .inline to .control-inline
-.radio.inline,
-.checkbox.inline {
- display: inline-block;
- padding-top: 5px;
- margin-bottom: 0;
- vertical-align: middle;
-}
-.radio.inline + .radio.inline,
-.checkbox.inline + .checkbox.inline {
- margin-left: 10px; // space out consecutive inline controls
-}
-
-
-
-// INPUT SIZES
-// -----------
-
-// General classes for quick sizes
-.input-mini { width: 60px; }
-.input-small { width: 90px; }
-.input-medium { width: 150px; }
-.input-large { width: 210px; }
-.input-xlarge { width: 270px; }
-.input-xxlarge { width: 530px; }
-
-// Grid style input sizes
-input[class*="span"],
-select[class*="span"],
-textarea[class*="span"],
-.uneditable-input[class*="span"],
-// Redeclare since the fluid row class is more specific
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"] {
- float: none;
- margin-left: 0;
-}
-// Ensure input-prepend/append never wraps
-.input-append input[class*="span"],
-.input-append .uneditable-input[class*="span"],
-.input-prepend input[class*="span"],
-.input-prepend .uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"],
-.row-fluid .input-prepend [class*="span"],
-.row-fluid .input-append [class*="span"] {
- display: inline-block;
-}
-
-
-
-// GRID SIZING FOR INPUTS
-// ----------------------
-
-// Grid sizes
-#grid > .input(@gridColumnWidth, @gridGutterWidth);
-
-// Control row for multiple inputs per line
-.controls-row {
- .clearfix(); // Clear the float from controls
-}
-
-// Float to collapse white-space for proper grid alignment
-.controls-row [class*="span"],
-// Redeclare the fluid grid collapse since we undo the float for inputs
-.row-fluid .controls-row [class*="span"] {
- float: left;
-}
-// Explicity set top padding on all checkboxes/radios, not just first-child
-.controls-row .checkbox[class*="span"],
-.controls-row .radio[class*="span"] {
- padding-top: 5px;
-}
-
-
-
-
-// DISABLED STATE
-// --------------
-
-// Disabled and read-only inputs
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly] {
- cursor: not-allowed;
- background-color: @inputDisabledBackground;
-}
-// Explicitly reset the colors here
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"][readonly],
-input[type="checkbox"][readonly] {
- background-color: transparent;
-}
-
-
-
-
-// FORM FIELD FEEDBACK STATES
-// --------------------------
-
-// Warning
-.control-group.warning {
- .formFieldState(@warningText, @warningText, @warningBackground);
-}
-// Error
-.control-group.error {
- .formFieldState(@errorText, @errorText, @errorBackground);
-}
-// Success
-.control-group.success {
- .formFieldState(@successText, @successText, @successBackground);
-}
-// Success
-.control-group.info {
- .formFieldState(@infoText, @infoText, @infoBackground);
-}
-
-// HTML5 invalid states
-// Shares styles with the .control-group.error above
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
- color: #b94a48;
- border-color: #ee5f5b;
- &:focus {
- border-color: darken(#ee5f5b, 10%);
- @shadow: 0 0 6px lighten(#ee5f5b, 20%);
- .box-shadow(@shadow);
- }
-}
-
-
-
-// FORM ACTIONS
-// ------------
-
-.form-actions {
- padding: (@baseLineHeight - 1) 20px @baseLineHeight;
- margin-top: @baseLineHeight;
- margin-bottom: @baseLineHeight;
- background-color: @formActionsBackground;
- border-top: 1px solid #e5e5e5;
- .clearfix(); // Adding clearfix to allow for .pull-right button containers
-}
-
-
-
-// HELP TEXT
-// ---------
-
-.help-block,
-.help-inline {
- color: lighten(@textColor, 15%); // lighten the text some for contrast
-}
-
-.help-block {
- display: block; // account for any element using help-block
- margin-bottom: @baseLineHeight / 2;
-}
-
-.help-inline {
- display: inline-block;
- .ie7-inline-block();
- vertical-align: middle;
- padding-left: 5px;
-}
-
-
-
-// INPUT GROUPS
-// ------------
-
-// Allow us to put symbols and text within the input field for a cleaner look
-.input-append,
-.input-prepend {
- display: inline-block;
- margin-bottom: @baseLineHeight / 2;
- vertical-align: middle;
- font-size: 0; // white space collapse hack
- white-space: nowrap; // Prevent span and input from separating
-
- // Reset the white space collapse hack
- input,
- select,
- .uneditable-input,
- .dropdown-menu,
- .popover {
- font-size: @baseFontSize;
- }
-
- input,
- select,
- .uneditable-input {
- position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
- margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
- *margin-left: 0;
- vertical-align: top;
- .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
- // Make input on top when focused so blue border and shadow always show
- &:focus {
- z-index: 2;
- }
- }
- .add-on {
- display: inline-block;
- width: auto;
- height: @baseLineHeight;
- min-width: 16px;
- padding: 4px 5px;
- font-size: @baseFontSize;
- font-weight: normal;
- line-height: @baseLineHeight;
- text-align: center;
- text-shadow: 0 1px 0 @white;
- background-color: @grayLighter;
- border: 1px solid #ccc;
- }
- .add-on,
- .btn,
- .btn-group > .dropdown-toggle {
- vertical-align: top;
- .border-radius(0);
- }
- .active {
- background-color: lighten(@green, 30);
- border-color: @green;
- }
-}
-
-.input-prepend {
- .add-on,
- .btn {
- margin-right: -1px;
- }
- .add-on:first-child,
- .btn:first-child {
- // FYI, `.btn:first-child` accounts for a button group that's prepended
- .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
- }
-}
-
-.input-append {
- input,
- select,
- .uneditable-input {
- .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
- + .btn-group .btn:last-child {
- .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
- }
- }
- .add-on,
- .btn,
- .btn-group {
- margin-left: -1px;
- }
- .add-on:last-child,
- .btn:last-child,
- .btn-group:last-child > .dropdown-toggle {
- .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
- }
-}
-
-// Remove all border-radius for inputs with both prepend and append
-.input-prepend.input-append {
- input,
- select,
- .uneditable-input {
- .border-radius(0);
- + .btn-group .btn {
- .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
- }
- }
- .add-on:first-child,
- .btn:first-child {
- margin-right: -1px;
- .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
- }
- .add-on:last-child,
- .btn:last-child {
- margin-left: -1px;
- .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
- }
- .btn-group:first-child {
- margin-left: 0;
- }
-}
-
-
-
-
-// SEARCH FORM
-// -----------
-
-input.search-query {
- padding-right: 14px;
- padding-right: 4px \9;
- padding-left: 14px;
- padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
- margin-bottom: 0; // Remove the default margin on all inputs
- .border-radius(15px);
-}
-
-/* Allow for input prepend/append in search forms */
-.form-search .input-append .search-query,
-.form-search .input-prepend .search-query {
- .border-radius(0); // Override due to specificity
-}
-.form-search .input-append .search-query {
- .border-radius(14px 0 0 14px);
-}
-.form-search .input-append .btn {
- .border-radius(0 14px 14px 0);
-}
-.form-search .input-prepend .search-query {
- .border-radius(0 14px 14px 0);
-}
-.form-search .input-prepend .btn {
- .border-radius(14px 0 0 14px);
-}
-
-
-
-
-// HORIZONTAL & VERTICAL FORMS
-// ---------------------------
-
-// Common properties
-// -----------------
-
-.form-search,
-.form-inline,
-.form-horizontal {
- input,
- textarea,
- select,
- .help-inline,
- .uneditable-input,
- .input-prepend,
- .input-append {
- display: inline-block;
- .ie7-inline-block();
- margin-bottom: 0;
- vertical-align: middle;
- }
- // Re-hide hidden elements due to specifity
- .hide {
- display: none;
- }
-}
-.form-search label,
-.form-inline label,
-.form-search .btn-group,
-.form-inline .btn-group {
- display: inline-block;
-}
-// Remove margin for input-prepend/-append
-.form-search .input-append,
-.form-inline .input-append,
-.form-search .input-prepend,
-.form-inline .input-prepend {
- margin-bottom: 0;
-}
-// Inline checkbox/radio labels (remove padding on left)
-.form-search .radio,
-.form-search .checkbox,
-.form-inline .radio,
-.form-inline .checkbox {
- padding-left: 0;
- margin-bottom: 0;
- vertical-align: middle;
-}
-// Remove float and margin, set to inline-block
-.form-search .radio input[type="radio"],
-.form-search .checkbox input[type="checkbox"],
-.form-inline .radio input[type="radio"],
-.form-inline .checkbox input[type="checkbox"] {
- float: left;
- margin-right: 3px;
- margin-left: 0;
-}
-
-
-// Margin to space out fieldsets
-.control-group {
- margin-bottom: @baseLineHeight / 2;
-}
-
-// Legend collapses margin, so next element is responsible for spacing
-legend + .control-group {
- margin-top: @baseLineHeight;
- -webkit-margin-top-collapse: separate;
-}
-
-// Horizontal-specific styles
-// --------------------------
-
-.form-horizontal {
- // Increase spacing between groups
- .control-group {
- margin-bottom: @baseLineHeight;
- .clearfix();
- }
- // Float the labels left
- .control-label {
- float: left;
- width: @horizontalComponentOffset - 20;
- padding-top: 5px;
- text-align: right;
- }
- // Move over all input controls and content
- .controls {
- // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
- // don't inherit the margin of the parent, in this case .controls
- *display: inline-block;
- *padding-left: 20px;
- margin-left: @horizontalComponentOffset;
- *margin-left: 0;
- &:first-child {
- *padding-left: @horizontalComponentOffset;
- }
- }
- // Remove bottom margin on block level help text since that's accounted for on .control-group
- .help-block {
- margin-bottom: 0;
- }
- // And apply it only to .help-block instances that follow a form control
- input,
- select,
- textarea,
- .uneditable-input,
- .input-prepend,
- .input-append {
- + .help-block {
- margin-top: @baseLineHeight / 2;
- }
- }
- // Move over buttons in .form-actions to align with .controls
- .form-actions {
- padding-left: @horizontalComponentOffset;
- }
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/grid.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/grid.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/grid.less
deleted file mode 100644
index 750d203..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/grid.less
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-// Grid system
-// --------------------------------------------------
-
-
-// Fixed (940px)
-#grid > .core(@gridColumnWidth, @gridGutterWidth);
-
-// Fluid (940px)
-#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);
-
-// Reset utility classes due to specificity
-[class*="span"].hide,
-.row-fluid [class*="span"].hide {
- display: none;
-}
-
-[class*="span"].pull-right,
-.row-fluid [class*="span"].pull-right {
- float: right;
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/hero-unit.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/hero-unit.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/hero-unit.less
deleted file mode 100644
index 763d86a..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/hero-unit.less
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// Hero unit
-// --------------------------------------------------
-
-
-.hero-unit {
- padding: 60px;
- margin-bottom: 30px;
- font-size: 18px;
- font-weight: 200;
- line-height: @baseLineHeight * 1.5;
- color: @heroUnitLeadColor;
- background-color: @heroUnitBackground;
- .border-radius(6px);
- h1 {
- margin-bottom: 0;
- font-size: 60px;
- line-height: 1;
- color: @heroUnitHeadingColor;
- letter-spacing: -1px;
- }
- li {
- line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less
- }
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/labels-badges.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/labels-badges.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/labels-badges.less
deleted file mode 100644
index bc321fe..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/labels-badges.less
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// Labels and badges
-// --------------------------------------------------
-
-
-// Base classes
-.label,
-.badge {
- display: inline-block;
- padding: 2px 4px;
- font-size: @baseFontSize * .846;
- font-weight: bold;
- line-height: 14px; // ensure proper line-height if floated
- color: @white;
- vertical-align: baseline;
- white-space: nowrap;
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
- background-color: @grayLight;
-}
-// Set unique padding and border-radii
-.label {
- .border-radius(3px);
-}
-.badge {
- padding-left: 9px;
- padding-right: 9px;
- .border-radius(9px);
-}
-
-// Empty labels/badges collapse
-.label,
-.badge {
- &:empty {
- display: none;
- }
-}
-
-// Hover/focus state, but only for links
-a {
- &.label:hover,
- &.label:focus,
- &.badge:hover,
- &.badge:focus {
- color: @white;
- text-decoration: none;
- cursor: pointer;
- }
-}
-
-// Colors
-// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
-.label,
-.badge {
- // Important (red)
- &-important { background-color: @errorText; }
- &-important[href] { background-color: darken(@errorText, 10%); }
- // Warnings (orange)
- &-warning { background-color: @orange; }
- &-warning[href] { background-color: darken(@orange, 10%); }
- // Success (green)
- &-success { background-color: @successText; }
- &-success[href] { background-color: darken(@successText, 10%); }
- // Info (turquoise)
- &-info { background-color: @infoText; }
- &-info[href] { background-color: darken(@infoText, 10%); }
- // Inverse (black)
- &-inverse { background-color: @grayDark; }
- &-inverse[href] { background-color: darken(@grayDark, 10%); }
-}
-
-// Quick fix for labels/badges in buttons
-.btn {
- .label,
- .badge {
- position: relative;
- top: -1px;
- }
-}
-.btn-mini {
- .label,
- .badge {
- top: 0;
- }
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/layouts.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/layouts.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/layouts.less
deleted file mode 100644
index 24a2062..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/layouts.less
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// Layouts
-// --------------------------------------------------
-
-
-// Container (centered, fixed-width layouts)
-.container {
- .container-fixed();
-}
-
-// Fluid layouts (left aligned, with sidebar, min- & max-width content)
-.container-fluid {
- padding-right: @gridGutterWidth;
- padding-left: @gridGutterWidth;
- .clearfix();
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/media.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/media.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/media.less
deleted file mode 100644
index e461e44..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/media.less
+++ /dev/null
@@ -1,55 +0,0 @@
-// Media objects
-// Source: http://stubbornella.org/content/?p=497
-// --------------------------------------------------
-
-
-// Common styles
-// -------------------------
-
-// Clear the floats
-.media,
-.media-body {
- overflow: hidden;
- *overflow: visible;
- zoom: 1;
-}
-
-// Proper spacing between instances of .media
-.media,
-.media .media {
- margin-top: 15px;
-}
-.media:first-child {
- margin-top: 0;
-}
-
-// For images and videos, set to block
-.media-object {
- display: block;
-}
-
-// Reset margins on headings for tighter default spacing
-.media-heading {
- margin: 0 0 5px;
-}
-
-
-// Media image alignment
-// -------------------------
-
-.media > .pull-left {
- margin-right: 10px;
-}
-.media > .pull-right {
- margin-left: 10px;
-}
-
-
-// Media list variation
-// -------------------------
-
-// Undo default ul/ol styles
-.media-list {
- margin-left: 0;
- list-style: none;
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/mixins.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/mixins.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/mixins.less
deleted file mode 100644
index 79d8892..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/mixins.less
+++ /dev/null
@@ -1,702 +0,0 @@
-//
-// Mixins
-// --------------------------------------------------
-
-
-// UTILITY MIXINS
-// --------------------------------------------------
-
-// Clearfix
-// --------
-// For clearing floats like a boss h5bp.com/q
-.clearfix {
- *zoom: 1;
- &:before,
- &:after {
- display: table;
- content: "";
- // Fixes Opera/contenteditable bug:
- // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
- line-height: 0;
- }
- &:after {
- clear: both;
- }
-}
-
-// Webkit-style focus
-// ------------------
-.tab-focus() {
- // Default
- outline: thin dotted #333;
- // Webkit
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-// Center-align a block level element
-// ----------------------------------
-.center-block() {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-// IE7 inline-block
-// ----------------
-.ie7-inline-block() {
- *display: inline; /* IE7 inline-block hack */
- *zoom: 1;
-}
-
-// IE7 likes to collapse whitespace on either side of the inline-block elements.
-// Ems because we're attempting to match the width of a space character. Left
-// version is for form buttons, which typically come after other elements, and
-// right version is for icons, which come before. Applying both is ok, but it will
-// mean that space between those elements will be .6em (~2 space characters) in IE7,
-// instead of the 1 space in other browsers.
-.ie7-restore-left-whitespace() {
- *margin-left: .3em;
-
- &:first-child {
- *margin-left: 0;
- }
-}
-
-.ie7-restore-right-whitespace() {
- *margin-right: .3em;
-}
-
-// Sizing shortcuts
-// -------------------------
-.size(@height, @width) {
- width: @width;
- height: @height;
-}
-.square(@size) {
- .size(@size, @size);
-}
-
-// Placeholder text
-// -------------------------
-.placeholder(@color: @placeholderText) {
- &:-moz-placeholder {
- color: @color;
- }
- &:-ms-input-placeholder {
- color: @color;
- }
- &::-webkit-input-placeholder {
- color: @color;
- }
-}
-
-// Text overflow
-// -------------------------
-// Requires inline-block or block for proper styling
-.text-overflow() {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-// CSS image replacement
-// -------------------------
-// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-
-
-// FONTS
-// --------------------------------------------------
-
-#font {
- #family {
- .serif() {
- font-family: @serifFontFamily;
- }
- .sans-serif() {
- font-family: @sansFontFamily;
- }
- .monospace() {
- font-family: @monoFontFamily;
- }
- }
- .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
- font-size: @size;
- font-weight: @weight;
- line-height: @lineHeight;
- }
- .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
- #font > #family > .serif;
- #font > .shorthand(@size, @weight, @lineHeight);
- }
- .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
- #font > #family > .sans-serif;
- #font > .shorthand(@size, @weight, @lineHeight);
- }
- .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
- #font > #family > .monospace;
- #font > .shorthand(@size, @weight, @lineHeight);
- }
-}
-
-
-// FORMS
-// --------------------------------------------------
-
-// Block level inputs
-.input-block-level {
- display: block;
- width: 100%;
- min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
- .box-sizing(border-box); // Makes inputs behave like true block-level elements
-}
-
-
-
-// Mixin for form field states
-.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
- // Set the text color
- .control-label,
- .help-block,
- .help-inline {
- color: @textColor;
- }
- // Style inputs accordingly
- .checkbox,
- .radio,
- input,
- select,
- textarea {
- color: @textColor;
- }
- input,
- select,
- textarea {
- border-color: @borderColor;
- .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
- &:focus {
- border-color: darken(@borderColor, 10%);
- @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
- .box-shadow(@shadow);
- }
- }
- // Give a small background color for input-prepend/-append
- .input-prepend .add-on,
- .input-append .add-on {
- color: @textColor;
- background-color: @backgroundColor;
- border-color: @textColor;
- }
-}
-
-
-
-// CSS3 PROPERTIES
-// --------------------------------------------------
-
-// Border Radius
-.border-radius(@radius) {
- -webkit-border-radius: @radius;
- -moz-border-radius: @radius;
- border-radius: @radius;
-}
-
-// Single Corner Border Radius
-.border-top-left-radius(@radius) {
- -webkit-border-top-left-radius: @radius;
- -moz-border-radius-topleft: @radius;
- border-top-left-radius: @radius;
-}
-.border-top-right-radius(@radius) {
- -webkit-border-top-right-radius: @radius;
- -moz-border-radius-topright: @radius;
- border-top-right-radius: @radius;
-}
-.border-bottom-right-radius(@radius) {
- -webkit-border-bottom-right-radius: @radius;
- -moz-border-radius-bottomright: @radius;
- border-bottom-right-radius: @radius;
-}
-.border-bottom-left-radius(@radius) {
- -webkit-border-bottom-left-radius: @radius;
- -moz-border-radius-bottomleft: @radius;
- border-bottom-left-radius: @radius;
-}
-
-// Single Side Border Radius
-.border-top-radius(@radius) {
- .border-top-right-radius(@radius);
- .border-top-left-radius(@radius);
-}
-.border-right-radius(@radius) {
- .border-top-right-radius(@radius);
- .border-bottom-right-radius(@radius);
-}
-.border-bottom-radius(@radius) {
- .border-bottom-right-radius(@radius);
- .border-bottom-left-radius(@radius);
-}
-.border-left-radius(@radius) {
- .border-top-left-radius(@radius);
- .border-bottom-left-radius(@radius);
-}
-
-// Drop shadows
-.box-shadow(@shadow) {
- -webkit-box-shadow: @shadow;
- -moz-box-shadow: @shadow;
- box-shadow: @shadow;
-}
-
-// Transitions
-.transition(@transition) {
- -webkit-transition: @transition;
- -moz-transition: @transition;
- -o-transition: @transition;
- transition: @transition;
-}
-.transition-delay(@transition-delay) {
- -webkit-transition-delay: @transition-delay;
- -moz-transition-delay: @transition-delay;
- -o-transition-delay: @transition-delay;
- transition-delay: @transition-delay;
-}
-.transition-duration(@transition-duration) {
- -webkit-transition-duration: @transition-duration;
- -moz-transition-duration: @transition-duration;
- -o-transition-duration: @transition-duration;
- transition-duration: @transition-duration;
-}
-
-// Transformations
-.rotate(@degrees) {
- -webkit-transform: rotate(@degrees);
- -moz-transform: rotate(@degrees);
- -ms-transform: rotate(@degrees);
- -o-transform: rotate(@degrees);
- transform: rotate(@degrees);
-}
-.scale(@ratio) {
- -webkit-transform: scale(@ratio);
- -moz-transform: scale(@ratio);
- -ms-transform: scale(@ratio);
- -o-transform: scale(@ratio);
- transform: scale(@ratio);
-}
-.translate(@x, @y) {
- -webkit-transform: translate(@x, @y);
- -moz-transform: translate(@x, @y);
- -ms-transform: translate(@x, @y);
- -o-transform: translate(@x, @y);
- transform: translate(@x, @y);
-}
-.skew(@x, @y) {
- -webkit-transform: skew(@x, @y);
- -moz-transform: skew(@x, @y);
- -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
- -o-transform: skew(@x, @y);
- transform: skew(@x, @y);
- -webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
-}
-.translate3d(@x, @y, @z) {
- -webkit-transform: translate3d(@x, @y, @z);
- -moz-transform: translate3d(@x, @y, @z);
- -o-transform: translate3d(@x, @y, @z);
- transform: translate3d(@x, @y, @z);
-}
-
-// Backface visibility
-// Prevent browsers from flickering when using CSS 3D transforms.
-// Default value is `visible`, but can be changed to `hidden
-// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
-.backface-visibility(@visibility){
- -webkit-backface-visibility: @visibility;
- -moz-backface-visibility: @visibility;
- backface-visibility: @visibility;
-}
-
-// Background clipping
-// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
-.background-clip(@clip) {
- -webkit-background-clip: @clip;
- -moz-background-clip: @clip;
- background-clip: @clip;
-}
-
-// Background sizing
-.background-size(@size) {
- -webkit-background-size: @size;
- -moz-background-size: @size;
- -o-background-size: @size;
- background-size: @size;
-}
-
-
-// Box sizing
-.box-sizing(@boxmodel) {
- -webkit-box-sizing: @boxmodel;
- -moz-box-sizing: @boxmodel;
- box-sizing: @boxmodel;
-}
-
-// User select
-// For selecting text on the page
-.user-select(@select) {
- -webkit-user-select: @select;
- -moz-user-select: @select;
- -ms-user-select: @select;
- -o-user-select: @select;
- user-select: @select;
-}
-
-// Resize anything
-.resizable(@direction) {
- resize: @direction; // Options: horizontal, vertical, both
- overflow: auto; // Safari fix
-}
-
-// CSS3 Content Columns
-.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
- -webkit-column-count: @columnCount;
- -moz-column-count: @columnCount;
- column-count: @columnCount;
- -webkit-column-gap: @columnGap;
- -moz-column-gap: @columnGap;
- column-gap: @columnGap;
-}
-
-// Optional hyphenation
-.hyphens(@mode: auto) {
- word-wrap: break-word;
- -webkit-hyphens: @mode;
- -moz-hyphens: @mode;
- -ms-hyphens: @mode;
- -o-hyphens: @mode;
- hyphens: @mode;
-}
-
-// Opacity
-.opacity(@opacity) {
- opacity: @opacity / 100;
- filter: ~"alpha(opacity=@{opacity})";
-}
-
-
-
-// BACKGROUNDS
-// --------------------------------------------------
-
-// Add an alphatransparency value to any background or border color (via Elyse Holladay)
-#translucent {
- .background(@color: @white, @alpha: 1) {
- background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
- }
- .border(@color: @white, @alpha: 1) {
- border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
- .background-clip(padding-box);
- }
-}
-
-// Gradient Bar Colors for buttons and alerts
-.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
- color: @textColor;
- text-shadow: @textShadow;
- #gradient > .vertical(@primaryColor, @secondaryColor);
- border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
- border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
-}
-
-// Gradients
-#gradient {
- .horizontal(@startColor: #555, @endColor: #333) {
- background-color: @endColor;
- background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
- background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
- background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
- background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
- background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
- background-repeat: repeat-x;
- filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
- }
- .vertical(@startColor: #555, @endColor: #333) {
- background-color: mix(@startColor, @endColor, 60%);
- background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
- background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
- background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
- background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
- background-repeat: repeat-x;
- filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
- }
- .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
- background-color: @endColor;
- background-repeat: repeat-x;
- background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
- background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
- background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
- background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
- }
- .horizontal-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
- background-color: mix(@midColor, @endColor, 80%);
- background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
- background-image: -webkit-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
- background-image: -moz-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
- background-image: -o-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
- background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor);
- background-repeat: no-repeat;
- filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
- }
-
- .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
- background-color: mix(@midColor, @endColor, 80%);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
- background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
- background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
- background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
- background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
- background-repeat: no-repeat;
- filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
- }
- .radial(@innerColor: #555, @outerColor: #333) {
- background-color: @outerColor;
- background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
- background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
- background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
- background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
- background-repeat: no-repeat;
- }
- .striped(@color: #555, @angle: 45deg) {
- background-color: @color;
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
- background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
- }
-}
-// Reset filters for IE
-.reset-filter() {
- filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
-}
-
-
-
-// COMPONENT MIXINS
-// --------------------------------------------------
-
-// Horizontal dividers
-// -------------------------
-// Dividers (basically an hr) within dropdowns and nav lists
-.nav-divider(@top: #e5e5e5, @bottom: @white) {
- // IE7 needs a set width since we gave a height. Restricting just
- // to IE7 to keep the 1px left/right space in other browsers.
- // It is unclear where IE is getting the extra space that we need
- // to negative-margin away, but so it goes.
- *width: 100%;
- height: 1px;
- margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
- *margin: -5px 0 5px;
- overflow: hidden;
- background-color: @top;
- border-bottom: 1px solid @bottom;
-}
-
-// Button backgrounds
-// ------------------
-.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
- // gradientBar will set the background to a pleasing blend of these, to support IE<=9
- .gradientBar(@startColor, @endColor, @textColor, @textShadow);
- *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
- .reset-filter();
-
- // in these cases the gradient won't cover the background, so we override
- &:hover, &:focus, &:active, &.active, &.disabled, &[disabled] {
- color: @textColor;
- background-color: @endColor;
- *background-color: darken(@endColor, 5%);
- }
-
- // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
- &:active,
- &.active {
- background-color: darken(@endColor, 10%) e("\9");
- }
-}
-
-// Navbar vertical align
-// -------------------------
-// Vertically center elements in the navbar.
-// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
-.navbarVerticalAlign(@elementHeight) {
- margin-top: (@navbarHeight - @elementHeight) / 2;
-}
-
-
-
-// Grid System
-// -----------
-
-// Centered container element
-.container-fixed() {
- margin-right: auto;
- margin-left: auto;
- .clearfix();
-}
-
-// Table columns
-.tableColumns(@columnSpan: 1) {
- float: none; // undo default grid column styles
- width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
- margin-left: 0; // undo default grid column styles
-}
-
-// Make a Grid
-// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
-.makeRow() {
- margin-left: @gridGutterWidth * -1;
- .clearfix();
-}
-.makeColumn(@columns: 1, @offset: 0) {
- float: left;
- margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2);
- width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
-}
-
-// The Grid
-#grid {
-
- .core (@gridColumnWidth, @gridGutterWidth) {
-
- .spanX (@index) when (@index > 0) {
- .span@{index} { .span(@index); }
- .spanX(@index - 1);
- }
- .spanX (0) {}
-
- .offsetX (@index) when (@index > 0) {
- .offset@{index} { .offset(@index); }
- .offsetX(@index - 1);
- }
- .offsetX (0) {}
-
- .offset (@columns) {
- margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1));
- }
-
- .span (@columns) {
- width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
- }
-
- .row {
- margin-left: @gridGutterWidth * -1;
- .clearfix();
- }
-
- [class*="span"] {
- float: left;
- min-height: 1px; // prevent collapsing columns
- margin-left: @gridGutterWidth;
- }
-
- // Set the container width, and override it for fixed navbars in media queries
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container { .span(@gridColumns); }
-
- // generate .spanX and .offsetX
- .spanX (@gridColumns);
- .offsetX (@gridColumns);
-
- }
-
- .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
-
- .spanX (@index) when (@index > 0) {
- .span@{index} { .span(@index); }
- .spanX(@index - 1);
- }
- .spanX (0) {}
-
- .offsetX (@index) when (@index > 0) {
- .offset@{index} { .offset(@index); }
- .offset@{index}:first-child { .offsetFirstChild(@index); }
- .offsetX(@index - 1);
- }
- .offsetX (0) {}
-
- .offset (@columns) {
- margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2);
- *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%);
- }
-
- .offsetFirstChild (@columns) {
- margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth);
- *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
- }
-
- .span (@columns) {
- width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
- *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
- }
-
- .row-fluid {
- width: 100%;
- .clearfix();
- [class*="span"] {
- .input-block-level();
- float: left;
- margin-left: @fluidGridGutterWidth;
- *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
- }
- [class*="span"]:first-child {
- margin-left: 0;
- }
-
- // Space grid-sized controls properly if multiple per line
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: @fluidGridGutterWidth;
- }
-
- // generate .spanX and .offsetX
- .spanX (@gridColumns);
- .offsetX (@gridColumns);
- }
-
- }
-
- .input(@gridColumnWidth, @gridGutterWidth) {
-
- .spanX (@index) when (@index > 0) {
- input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index} { .span(@index); }
- .spanX(@index - 1);
- }
- .spanX (0) {}
-
- .span(@columns) {
- width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14;
- }
-
- input,
- textarea,
- .uneditable-input {
- margin-left: 0; // override margin-left from core grid system
- }
-
- // Space grid-sized controls properly if multiple per line
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: @gridGutterWidth;
- }
-
- // generate .spanX
- .spanX (@gridColumns);
-
- }
-}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70889263/tapestry-wro4j/src/test/webapp/bootstrap/css/modals.less
----------------------------------------------------------------------
diff --git a/tapestry-wro4j/src/test/webapp/bootstrap/css/modals.less b/tapestry-wro4j/src/test/webapp/bootstrap/css/modals.less
deleted file mode 100644
index 8e272d4..0000000
--- a/tapestry-wro4j/src/test/webapp/bootstrap/css/modals.less
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// Modals
-// --------------------------------------------------
-
-// Background
-.modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: @zindexModalBackdrop;
- background-color: @black;
- // Fade for backdrop
- &.fade { opacity: 0; }
-}
-
-.modal-backdrop,
-.modal-backdrop.fade.in {
- .opacity(80);
-}
-
-// Base modal
-.modal {
- position: fixed;
- top: 10%;
- left: 50%;
- z-index: @zindexModal;
- width: 560px;
- margin-left: -280px;
- background-color: @white;
- border: 1px solid #999;
- border: 1px solid rgba(0,0,0,.3);
- *border: 1px solid #999; /* IE6-7 */
- .border-radius(6px);
- .box-shadow(0 3px 7px rgba(0,0,0,0.3));
- .background-clip(padding-box);
- // Remove focus outline from opened modal
- outline: none;
-
- &.fade {
- .transition(e('opacity .3s linear, top .3s ease-out'));
- top: -25%;
- }
- &.fade.in { top: 10%; }
-}
-.modal-header {
- padding: 9px 15px;
- border-bottom: 1px solid #eee;
- // Close icon
- .close { margin-top: 2px; }
- // Heading
- h3 {
- margin: 0;
- line-height: 30px;
- }
-}
-
-// Body (where all modal content resides)
-.modal-body {
- position: relative;
- overflow-y: auto;
- max-height: 400px;
- padding: 15px;
-}
-// Remove bottom margin if need be
-.modal-form {
- margin-bottom: 0;
-}
-
-// Footer (for actions)
-.modal-footer {
- padding: 14px 15px 15px;
- margin-bottom: 0;
- text-align: right; // right align buttons
- background-color: #f5f5f5;
- border-top: 1px solid #ddd;
- .border-radius(0 0 6px 6px);
- .box-shadow(inset 0 1px 0 @white);
- .clearfix(); // clear it in case folks use .pull-* classes on buttons
-
- // Properly space out buttons
- .btn + .btn {
- margin-left: 5px;
- margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
- }
- // but override that for button groups
- .btn-group .btn + .btn {
- margin-left: -1px;
- }
- // and override it for block buttons as well
- .btn-block + .btn-block {
- margin-left: 0;
- }
-}