Permalink
Browse files

Updated to Bootstrap 2.3.1 with lesscss 1.3.3

  • Loading branch information...
1 parent f4ae0f1 commit 949ceb7293916db11290b37299b94ea5bec698c1 @joergrech committed Mar 9, 2013
Showing with 18 additions and 6,786 deletions.
  1. +1 −1 KickstartWithBootstrapGrailsPlugin.groovy
  2. +1 −0 README.mediawiki
  3. +1 −1 application.properties
  4. +7 −3 grails-app/conf/BuildConfig.groovy
  5. +0 −41 grails-app/conf/KickstartResources.groovy
  6. +1 −1 web-app/less/bootstrap/bootstrap.less
  7. +6 −6 web-app/less/bootstrap/mixins.less
  8. +1 −1 web-app/less/bootstrap/responsive.less
  9. +0 −34 web-app/less/bootstrap_skinA/accordion.less
  10. +0 −79 web-app/less/bootstrap_skinA/alerts.less
  11. +0 −63 web-app/less/bootstrap_skinA/bootstrap.less
  12. +0 −574 web-app/less/bootstrap_skinA/bootswatch.less
  13. +0 −24 web-app/less/bootstrap_skinA/breadcrumbs.less
  14. +0 −229 web-app/less/bootstrap_skinA/button-groups.less
  15. +0 −228 web-app/less/bootstrap_skinA/buttons.less
  16. +0 −158 web-app/less/bootstrap_skinA/carousel.less
  17. +0 −32 web-app/less/bootstrap_skinA/close.less
  18. +0 −61 web-app/less/bootstrap_skinA/code.less
  19. +0 −22 web-app/less/bootstrap_skinA/component-animations.less
  20. +0 −237 web-app/less/bootstrap_skinA/dropdowns.less
  21. +0 −690 web-app/less/bootstrap_skinA/forms.less
  22. +0 −21 web-app/less/bootstrap_skinA/grid.less
  23. +0 −25 web-app/less/bootstrap_skinA/hero-unit.less
  24. +0 −84 web-app/less/bootstrap_skinA/labels-badges.less
  25. +0 −16 web-app/less/bootstrap_skinA/layouts.less
  26. +0 −55 web-app/less/bootstrap_skinA/media.less
  27. +0 −702 web-app/less/bootstrap_skinA/mixins.less
  28. +0 −95 web-app/less/bootstrap_skinA/modals.less
  29. +0 −497 web-app/less/bootstrap_skinA/navbar.less
  30. +0 −409 web-app/less/bootstrap_skinA/navs.less
  31. +0 −43 web-app/less/bootstrap_skinA/pager.less
  32. +0 −123 web-app/less/bootstrap_skinA/pagination.less
  33. +0 −133 web-app/less/bootstrap_skinA/popovers.less
  34. +0 −122 web-app/less/bootstrap_skinA/progress-bars.less
  35. +0 −216 web-app/less/bootstrap_skinA/reset.less
  36. +0 −28 web-app/less/bootstrap_skinA/responsive-1200px-min.less
  37. +0 −193 web-app/less/bootstrap_skinA/responsive-767px-max.less
  38. +0 −19 web-app/less/bootstrap_skinA/responsive-768px-979px.less
  39. +0 −189 web-app/less/bootstrap_skinA/responsive-navbar.less
  40. +0 −59 web-app/less/bootstrap_skinA/responsive-utilities.less
  41. +0 −48 web-app/less/bootstrap_skinA/responsive.less
  42. +0 −53 web-app/less/bootstrap_skinA/scaffolding.less
  43. +0 −197 web-app/less/bootstrap_skinA/sprites.less
  44. +0 −244 web-app/less/bootstrap_skinA/tables.less
  45. +0 −53 web-app/less/bootstrap_skinA/thumbnails.less
  46. +0 −70 web-app/less/bootstrap_skinA/tooltip.less
  47. +0 −247 web-app/less/bootstrap_skinA/type.less
  48. +0 −30 web-app/less/bootstrap_skinA/utilities.less
  49. +0 −301 web-app/less/bootstrap_skinA/variables.less
  50. +0 −29 web-app/less/bootstrap_skinA/wells.less
View
2 KickstartWithBootstrapGrailsPlugin.groovy
@@ -5,7 +5,7 @@ import org.codehaus.groovy.grails.web.context.ServletContextHolder
class KickstartWithBootstrapGrailsPlugin {
// the plugin version
- def version = "0.9.5b"
+ def version = "0.9.6"
// the version or versions of Grails the plugin is designed for
def grailsVersion = "2.0 > *"
// the other plugins this plugin depends on
View
1 README.mediawiki
@@ -85,6 +85,7 @@ Please note that the '''datepicker''' can handle dates after the year 9999 while
** see http://joerg-rech.com and follow @JoergRech
== Changelog ==
+'''0.9.6''' Updated to Bootstrap 2.3.1 with lesscss 1.3.3 <br/>
'''0.9.5''' Reduced to the max: removed skin/layout switching. Removed build and metrics calculation. Works on PAAS with less files. <br/>
'''0.9.4''' Integrated Font Awesome using the Grails Font Awesome Resources Plugin by Eamonn O'Connell<br/>
'''0.9.3''' Upgrade to patched Bootstrap 2.3.0 (had to partially downgrade mixins.less to 2.2.2). Fixed problem with hibernate plugin dependency when using Grails versions less than 2.2.0. <br/>
View
2 application.properties
@@ -2,4 +2,4 @@
#Sun Mar 03 10:58:22 CET 2013
app.grails.version=2.2.0
app.name=kickstartWithBootstrapGrailsPlugin
-app.version=0.9.5b
+app.version=0.9.6
View
10 grails-app/conf/BuildConfig.groovy
@@ -19,14 +19,18 @@ grails.project.dependency.resolution = {
}
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
+ runtime ('org.lesscss:lesscss:1.3.3')
}
plugins {
- runtime (":hibernate:$grailsVersion") { export = false } // needed for testing
- build (":tomcat:$grailsVersion") { export = false } // needed for testing
+ runtime (":hibernate:$grailsVersion") { export = false } // needed for testing the plugin as an app
+ build (":tomcat:$grailsVersion") { export = false } // needed for testing the plugin as an app
build (":release:2.2.0") { export = false } // needed for plugin deployment
runtime (":resources:1.1.6") { export = true } // needed for Bootstrap's less files
- compile (":lesscss-resources:1.3.1") { export = true } // needed for Bootstrap's less files
+ compile (":lesscss-resources:1.3.1") { // needed for Bootstrap's less files
+ excludes "lesscss" // needed for Bootstrap's 2.3 changes
+ export = true // see: https://github.com/paulfairless/grails-lesscss-resources/issues/45
+ }
runtime (":jquery:1.8.3") { export = true } // needed for Bootstrap's javascript
compile (":font-awesome-resources:3.0") { export = true } // needed for Bootstrap's image replacement
View
41 grails-app/conf/KickstartResources.groovy
@@ -23,35 +23,6 @@ grails.resources.modules = {
println "| Using LESS files to generating CSS files!"
}
- /*
- * NOTE: If you want to switch skins define them here
- * WARN: Compiling too many less files mgith result in deployment problems on PAAS systems such as Cloudfoundry (startup time is too long)
- */
- if ( grails.util.Environment.current == grails.util.Environment.PRODUCTION
- || (grails.resources?.processing?.enabled != [:] && grails.resources.processing.enabled.booleanValue() == false) ) {
- /* Skin Definitions without less (only necessary for PAAS deployment, eg., for CloudFoundry)
- * TODO: insert a configuration setting or copy this file into project
- */
- // TODO: link a second static/compiled skin or remove the switch entries in layouts/Kickstart.gsp and /_menu/_config.gsp
-// 'bootstrap_skinA' {
-// dependsOn 'jquery'
-// resource url: [dir: 'bootstrap/js', file: 'bootstrap.min.js']
-// resource url: [dir: 'bootstrap/css', file: 'bootstrap.css']
-// resource url: [dir: 'bootstrap/css', file: 'bootstrap-responsive.css']
-// }
-// println "| Using CSS files instead of generating from LESS files! (Use a copy of the latest dev run)"
- } else {
- /* Skin Definitions with less for use during dev or test (or when resource processing is switched off)*/
-// 'bootstrap_skinA' {
-// dependsOn 'jquery'
-// resource url: [dir: 'bootstrap/js', file: 'bootstrap.min.js']
-// resource url: [dir: 'less/bootstrap_skinA', file: 'bootstrap.less']
-// resource url: [dir: 'less/bootstrap_skinA', file: 'responsive.less']
-// resource url: "less/dummy.css" // empty css: see https://github.com/paulfairless/grails-lesscss-resources/issues/25
-// }
-// println "| Using LESS files to generating CSS files!"
- }
-
// Utility resources (must be loaded after bootstrap skin resources)
// Duplication necessary as switching skins causes new skin to be loaded after utilities!
'bootstrap_utils' {
@@ -64,16 +35,4 @@ grails.resources.modules = {
resource url: [dir: 'kickstart/css', file: 'kickstart.css']
resource url: "less/dummy.css" // empty css: see https://github.com/paulfairless/grails-lesscss-resources/issues/25
}
-// 'bootstrap_skinA_utils' {
-// dependsOn 'jquery, bootstrap_skinA, font-awesome'
-//// resource url: [dir: 'css', file: 'bootstrap-fixtaglib.css'] // Needed for Font Awesome plugin
-// // resource url: [dir: 'FontAwesome/css', file: 'font-awesome.css'] // see http://fortawesome.github.com/Font-Awesome/#integration
-// resource url: [dir: 'datepicker/js', file: 'bootstrap-datepicker.js']
-// resource url: [dir: 'kickstart/js', file: 'kickstart.js']
-// resource url: [dir: 'kickstart/js', file: 'checkboxes.js']
-// resource url: [dir: 'datepicker/css', file: 'datepicker.css']
-// resource url: [dir: 'kickstart/css', file: 'docs.css']
-// resource url: [dir: 'kickstart/css', file: 'kickstart.css']
-// resource url: "less/dummy.css" // empty css: see https://github.com/paulfairless/grails-lesscss-resources/issues/25
-// }
}
View
2 web-app/less/bootstrap/bootstrap.less
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v2.3.0
+ * Bootstrap v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
View
12 web-app/less/bootstrap/mixins.less
@@ -575,13 +575,13 @@
.core (@gridColumnWidth, @gridGutterWidth) {
.spanX (@index) when (@index > 0) {
- (~".span@{index}") { .span(@index); }
+ .span@{index} { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
.offsetX (@index) when (@index > 0) {
- (~".offset@{index}") { .offset(@index); }
+ .offset@{index} { .offset(@index); }
.offsetX(@index - 1);
}
.offsetX (0) {}
@@ -620,14 +620,14 @@
.fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
.spanX (@index) when (@index > 0) {
- (~".span@{index}") { .span(@index); }
+ .span@{index} { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
.offsetX (@index) when (@index > 0) {
- (~'.offset@{index}') { .offset(@index); }
- (~'.offset@{index}:first-child') { .offsetFirstChild(@index); }
+ .offset@{index} { .offset(@index); }
+ .offset@{index}:first-child { .offsetFirstChild(@index); }
.offsetX(@index - 1);
}
.offsetX (0) {}
@@ -675,7 +675,7 @@
.input(@gridColumnWidth, @gridGutterWidth) {
.spanX (@index) when (@index > 0) {
- (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); }
+ input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index} { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
View
2 web-app/less/bootstrap/responsive.less
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Responsive v2.3.0
+ * Bootstrap Responsive v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
View
34 web-app/less/bootstrap_skinA/accordion.less
@@ -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;
-}
View
79 web-app/less/bootstrap_skinA/alerts.less
@@ -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;
-}
View
63 web-app/less/bootstrap_skinA/bootstrap.less
@@ -1,63 +0,0 @@
-/*!
- * Bootstrap v2.3.0
- *
- * 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
View
574 web-app/less/bootstrap_skinA/bootswatch.less
@@ -1,574 +0,0 @@
-// Cyborg 2.3.0
-// Bootswatch
-// -----------------------------------------------------
-
-
-// TYPOGRAPHY
-// -----------------------------------------------------
-
-@import url('//fonts.googleapis.com/css?family=Droid+Sans:400,700');
-
-label, input, button, select, textarea,
-.navbar .search-query:-moz-placeholder,
-.navbar .search-query::-webkit-input-placeholder {
- font-family: 'Droid Sans', sans-serif;
- color: @gray;
-}
-
-code, pre {
- background-color: @grayLighter;
-}
-
-blockquote {
- border-left: 5px solid @grayDark;
-
- &.pull-right {
- border-right: 5px solid @grayDark;
- }
-}
-
-// SCAFFOLDING
-// -----------------------------------------------------
-
-html {
- min-height: 100%;
-}
-
-body {
- min-height: 100%;
- #gradient > .vertical (@bodyBackground, #252A30);
-}
-
-.page-header {
- border-bottom: 1px solid @grayDark
-}
-
-hr {
- border-bottom: none;
-}
-
-// NAVBAR
-// -----------------------------------------------------
-
-.navbar {
-
- .navbar-inner {
- .border-radius(0);
- .box-shadow(none);
- border-bottom: 1px solid @grayDark;
- }
-
- .brand {
- padding: 15px 20px 15px;
- color: @grayLighter;
- font-weight: normal;
- text-shadow: none;
- }
-
- .nav > li > a {
- padding: 15px 15px 14px;
- border-bottom: 1px solid transparent;
- }
-
- .nav > li > a:hover,
- .nav > .active > a,
- .nav > .active > a:hover {
- border-bottom: 1px solid @blue;
- }
-
- .nav > .active > a,
- .nav > .active > a:hover,
- .nav > .active > a:focus {
- .box-shadow(none);
- }
-
- .navbar-text {
- margin-bottom: 1px;
- padding: 15px 15px 14px;
- line-height: inherit;
- }
-
- .divider-vertical {
- margin: 0;
- border-left: 1px solid @grayDark;
- border-right-width: 0;
- }
-
- .search-query,
- .search-query:focus,
- .search-query.focused {
- .border-radius(1px);
- background-color: @grayDark;
- line-height: normal;
- color: @grayLight;
- text-shadow: none;
- .placeholder(@gray);
- }
-
- &-inverse {
-
- }
-}
-
-@media (max-width: @navbarCollapseWidth) {
-
- .navbar .nav-collapse {
-
- .nav li > a {
- border: none;
- color: @grayLighter;
- font-weight: normal;
- text-shadow: none;
-
- &:hover {
- border: none;
- background-color: @blue;
- }
- }
-
- .nav .active > a {
- border: none;
- background-color: @blue;
- }
-
- .dropdown-menu a:hover {
- background-color: @blue;
- }
-
- .navbar-form,
- .navbar-search {
- border-top: none;
- border-bottom: none;
- }
-
- .nav-header {
- color: rgba(128, 128, 128, 0.6);
- }
- }
-
- .navbar-inverse .nav-collapse {
-
- .nav li > a:hover {
- background-color: #111;
- }
-
- .nav .active > a {
- background-color: #111;
- }
-
- .nav li.dropdown.open > .dropdown-toggle,
- .nav li.dropdown.active > .dropdown-toggle,
- .nav li.dropdown.open.active > .dropdown-toggle {
- background-color: #111;
- }
- }
-}
-
-div.subnav {
-
- margin: 0 1px;
- background-color: @grayDarker;
- background-image: none;
- border: none;
- border-bottom: 1px solid @grayDark;
-
- .nav > li > a,
- .nav > li:first-child > a,
- .nav > li:first-child > a:hover {
- padding: 11px 12px;
- border: none;
- background-color: @grayDarker;
- color: @grayLight;
- }
-
- .nav > li > a:hover,
- .nav > li.active > a,
- .nav > li.active > a:hover,
- .nav > li:first-child > a:hover {
- padding: 11px 12px;
- background: transparent;
- border: none;
- border-bottom: 1px solid @blue;
- color: @white;
- }
-
- .nav li.nav-header {
- text-shadow: none;
- }
-
-
-
-
- &-fixed {
- top: @navbarHeight;
- margin: 0;
- }
-}
-
-// NAV
-// -----------------------------------------------------
-
-.nav-tabs {
-
- border-bottom: 1px solid @grayDark;
-
- li > a:hover,
- li.active > a,
- li.active > a:hover {
- border-color: transparent;
- background-color: @blue;
- color: @white;
- }
-
- .open .dropdown-toggle {
- background-color: #060606;
- border-color: transparent;
- }
-}
-
-.nav-pills {
-
- li > a:hover {
- background-color: @blue;
- color: @white;
- }
-
- .open .dropdown-toggle {
- background-color: #060606;
- }
-
- .dropdown-menu li > a:hover {
- border: none;
- }
-}
-
-.nav-list {
-
- li > a {
- text-shadow: none;
- }
-
- li > a:hover {
- background-color: @blue;
- color: @white;
- }
-
- .nav-header {
- text-shadow: none;
- }
-
- .divider {
- background-color: transparent;
- border-bottom: 1px solid @grayDark;
- }
-}
-
-.nav-stacked {
-
- li > a {
- border: 1px solid @grayDark !important;
- }
-
- li > a:hover,
- li.active > a {
- background-color: @blue;
- color: @white;
- }
-}
-
-.tabbable {
- .nav-tabs,
- .nav-tabs li.active > a {
- border-color: @grayDark;
- }
-}
-
-.breadcrumb {
-
- background-color: transparent;
- background-image: none;
- border-width: 0;
- .box-shadow(none);
- font-size: 14px;
-
- li {
- text-shadow: none;
- }
-
- li > a {
- color: @blue;
- text-shadow: none;
- }
-}
-
-.pagination {
-
- ul {
- .box-shadow(none);
- }
-
- ul > li > a:hover,
- ul > .active > a,
- ul > .active > span {
- // color: @white;
- }
-
- ul > .disabled > a,
- ul > .disabled > a:hover,
- ul > .disabled > span,
- ul > .disabled > span:hover {
- background-color: rgba(0, 0, 0, 0.2);
- }
-}
-
-.pager {
-
- li > a,
- li > span {
- background-color: @bodyBackground;
- border: none;
-
- &:hover {
- background-color: @blue;
- }
- }
-
- .disabled a,
- .disabled a:hover {
- background-color: @bodyBackground;
- }
-
-}
-
-// BUTTONS
-// -----------------------------------------------------
-
-.btn {
- .box-shadow(1px 1px 2px #111);
- .buttonBackground(darken(@gray, 20%), darken(@gray, 30%));
- color: @white;
- text-shadow: none;
-
- &:hover {
- text-shadow: none;
- color: @white;
- }
-}
-
-.btn-primary {
- .buttonBackground(@blueDark, darken(@blueDark, 10%));
-}
-
-.btn-warning {
- .buttonBackground(lighten(@orange, 10%), @orange);
-}
-
-.btn-danger {
- .buttonBackground(lighten(@red, 10%), @red);
-}
-
-.btn-success {
- .buttonBackground(lighten(@green, 10%), @green);
-}
-
-.btn-info {
- .buttonBackground(darken(@gray, 40%), darken(@gray, 50%));
-}
-
-.btn-inverse {
- .buttonBackground(lighten(@purple, 5%), @purple);
-}
-
-.btn .caret {
- border-top: 4px solid black;
- opacity: 0.3;
-}
-
-.btn-group > .dropdown-menu > li > a:hover {
- border-bottom: 0;
-}
-
-.btn.disabled, .btn[disabled] {
- background-color: @grayLight;
-}
-
-// FORMS
-// -----------------------------------------------------
-
-input, textarea, select {
- border-width: 2px;
- .border-radius(1px);
-}
-
-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 {
- color: @grayDark;
-}
-
-input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly], .uneditable-input {
- border-color: #444;
-}
-
-input:focus,
-textarea:focus,
-input.focused,
-textarea.focused {
- border-color: rgba(82,168,236,1);
- outline: 0;
- outline: thin dotted \9; /* IE6-9 */
-}
-
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus,
-select:focus {
- .box-shadow(none); // override for file inputs
- .tab-focus();
-}
-
-legend, label {
- color: @textColor;
- border-bottom: 0px solid #222;
-}
-
-.form-actions {
- border-top: 1px solid #222;
-}
-
-// TABLES
-// -----------------------------------------------------
-
-.table {
-
- .border-radius(1px);
-
- tbody tr.success td {
- background-color: @green;
- color: @white;
- }
-
- tbody tr.error td {
- background-color: @red;
- color: @white;
- }
-
- tbody tr.info td {
- background-color: @blue;
- color: @white;
- }
-}
-
-// DROPDOWNS
-// -----------------------------------------------------
-
-.dropdown-menu {
- .box-shadow(0 2px 4px rgba(0, 0, 0, 0.8));
-}
-
-// ALERTS, LABELS, BADGES
-// -----------------------------------------------------
-
-.alert,
-.alert .alert-heading,
-.alert-success,
-.alert-success .alert-heading,
-.alert-danger,
-.alert-error,
-.alert-danger .alert-heading,
-.alert-error .alert-heading,
-.alert-info,
-.alert-info .alert-heading {
- color: @grayLighter;
- text-shadow: none;
- border: none;
-}
-
-.label {
- color: @grayLighter;
-}
-
-.label, .alert { background-color: darken(@gray, 20%); }
-
-.label:hover { background-color: darken(@gray, 30%); }
-
-.label-important,
-.alert-danger,
-.alert-error { background-color: @red; }
-
-.label-important:hover { background-color: darken(@red, 10%); }
-
-.label-warning { background-color: darken(@orange, 10%); }
-
-.label-warning:hover { background-color: darken(@orange, 20%); }
-
-.label-success, .alert-success { background-color: darken(@green, 3%); }
-
-.label-success:hover { background-color: darken(@green, 13%); }
-
-.label-info, .alert-info { background-color: darken(@blueDark, 10%); }
-
-.label-info:hover { background-color: darken(@blueDark, 20%); }
-
-// MISC
-// -----------------------------------------------------
-
-.well, .hero-unit {
- .border-radius(1px);
-}
-
-.well, .hero-unit {
- border-top: solid 1px lighten(@grayDark, 5%);
- .box-shadow(0 2px 4px rgba(0,0,0,.8));
-}
-
-.thumbnail {
- border-color: @grayDark;
-}
-
-.progress {
- background-color: #060606;
- background-image: none;
- .border-radius(0);
-}
-
-.modal {
- .border-radius(1px);
- border-top: solid 1px lighten(@grayDark, 5%);
- background-color: @grayDark;
-}
-
-.modal-header {
- border-bottom: 1px solid @grayDark;
-}
-
-.modal-footer {
- background-color: @grayDark;
- border-top: 1px solid @grayDark;
- .border-radius(0 0 6px 6px);
- .box-shadow(none);
-}
-
-.footer {
- border-top: 1px solid @grayDark;
-}
-
-// MEDIA QUERIES
-// -----------------------------------------------------
-
-@media (max-width: 768px) {
- div.subnav .nav > li + li > a,
- div.subnav .nav > li:first-child > a {
- border-top: 1px solid @grayDark;
- border-left: 1px solid @grayDark;
- }
-
- .subnav .nav > li + li > a:hover,
- .subnav .nav > li:first-child > a:hover {
- border-bottom: 0;
- background-color: @blue;
- }
-}
View
24 web-app/less/bootstrap_skinA/breadcrumbs.less
@@ -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;
- }
-}
View
229 web-app/less/bootstrap_skinA/button-groups.less
@@ -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);
-}
View
228 web-app/less/bootstrap_skinA/buttons.less
@@ -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;
-}
View
158 web-app/less/bootstrap_skinA/carousel.less
@@ -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;
-}
View
32 web-app/less/bootstrap_skinA/close.less
@@ -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;
-}
View
61 web-app/less/bootstrap_skinA/code.less
@@ -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;
-}
View
22 web-app/less/bootstrap_skinA/component-animations.less
@@ -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;
- }
-}
View
237 web-app/less/bootstrap_skinA/dropdowns.less
@@ -1,237 +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;
- }
-}
-
-// 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);
-}
View
690 web-app/less/bootstrap_skinA/forms.less
@@ -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 {