This commit is contained in:
Oleh Zasadnyy 2015-02-21 00:35:58 +02:00
parent 261527905b
commit 554378b49b
65 changed files with 824 additions and 715 deletions

4
.gitignore vendored
View file

@ -1,5 +1,5 @@
### Idea ### ### General ###
.idea *.lock
### Jekyll ### ### Jekyll ###
_site/ _site/

6
Gemfile Normal file
View file

@ -0,0 +1,6 @@
source "http://rubygems.org"
gem 'github-pages'
gem 'compass'
gem 'sass-media_query_combiner'
gem 'autoprefixer-rails'

View file

@ -3,7 +3,7 @@
### About ### About
Project Zeppelin allows you to setup awesome GDG DevFest site in 5 minutes. Project Zeppelin allows you to setup awesome GDG DevFest site in 5 minutes.
Project is builded on top of [Jekyll](http://jekyllrb.com/) - simple, blog-aware, static site generator. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your website from GitHubs servers for free. [Learn more about Jekyll](http://jekyllrb.com/). Project is built on top of [Jekyll](http://jekyllrb.com/) - simple, blog-aware, static site generator. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your website from GitHubs servers for free. [Learn more about Jekyll](http://jekyllrb.com/).
Template is brought by [GDG Lviv](http://lviv.gdg.org.ua/) team. Template is brought by [GDG Lviv](http://lviv.gdg.org.ua/) team.
@ -30,10 +30,15 @@ Or watch project presentation from [GDG[x] Townhall meeting](http://www.youtube.
## Local development ## Local development
Check if you have [all requirments for local environment](http://jekyllrb.com/docs/installation/), install [Jekyll server](http://jekyllrb.com/docs/quickstart/) gem. Check if you have [all requirements for local environment](http://jekyllrb.com/docs/installation/).
Install GitHub pages To install all development dependencies install [Bundler](http://bundler.io/).
```bash ```bash
gem install github-pages gem install bundler
```
and run next command from root folder:
```bash
bundle install
``` ```
Run this command from project root folder: Run this command from project root folder:
@ -45,22 +50,7 @@ Site will be available at http://127.0.0.1:4000/zeppelin/ or http://localhost:40
**NOTE:** in this mode all changes to html and data files will be automatically regenerated, but after changing ```_config.yml``` you have to restart server. **NOTE:** in this mode all changes to html and data files will be automatically regenerated, but after changing ```_config.yml``` you have to restart server.
### Sass(Compass) support ### Sass(Compass) support
Install the latest version of [Compass](http://compass-style.org/). Ruby uses Gems to manage its various packages of code like Sass. In your open terminal window type: **Note:** You need to install [Node.js](http://nodejs.org/download/)
```bash
gem install compass --pre
```
Then for combining media queries you can use [Sass::MediaQueryCombiner](https://github.com/aaronjensen/sass-media_query_combiner) plugin. Install with command
```bash
gem install sass-media_query_combiner
```
And for prefixing css3 properties use [Autoprefixer](https://github.com/ai/autoprefixer)
```bash
gem install autoprefixer-rails
```
**Note:** Also you need to install [Node.js](http://nodejs.org/download/)
To watch changes of `.sass` files and compile it to the `.css` on a fly change property `safe: true` to `safe: false` in `_config.yml`. To watch changes of `.sass` files and compile it to the `.css` on a fly change property `safe: true` to `safe: false` in `_config.yml`.
**Note: It works only on local machine, because GitHub runs Jekyll in `--save` [mode](https://help.github.com/articles/using-jekyll-with-pages/#configuration-overrides)** **Note: It works only on local machine, because GitHub runs Jekyll in `--save` [mode](https://help.github.com/articles/using-jekyll-with-pages/#configuration-overrides)**
@ -70,7 +60,7 @@ Learn more about Sass development from [documentation](https://github.com/gdg-x/
### Resource optimizations (optional) ### Resource optimizations (optional)
You can optimize images and minify css and javascript automaticaly (for now only on Windows). You can optimize images and minify css and javascript automatically (for now only on Windows).
But for Mac OS users available amazing tool - [imageoptim](https://imageoptim.com/). Thanks [@raphaelsavina](https://github.com/raphaelsavina) for link. But for Mac OS users available amazing tool - [imageoptim](https://imageoptim.com/). Thanks [@raphaelsavina](https://github.com/raphaelsavina) for link.
Optimize all images by running this script from `/automation/images/` folder: Optimize all images by running this script from `/automation/images/` folder:
```bash ```bash
@ -87,13 +77,6 @@ Learn more about available optimization options from [documentation](https://git
### Documentation ### Documentation
Quick-start guide is not enough? Checkout [full documentation](https://github.com/gdg-x/zeppelin/wiki). Quick-start guide is not enough? Checkout [full documentation](https://github.com/gdg-x/zeppelin/wiki).
### TODO List
* Optimization scripts for mac and linux
### Known issues
* Scrolling on open navbar
### Used libraries ### Used libraries
* [Bootstrap](https://github.com/twbs/bootstrap) * [Bootstrap](https://github.com/twbs/bootstrap)
* [Animate.css](https://github.com/daneden/animate.css) * [Animate.css](https://github.com/daneden/animate.css)
@ -129,7 +112,7 @@ Going to use template? Go on! The only thing we ask - let us know at [*lviv@gdg.
* Design and web development: [Oleh Zasadnyy](https://github.com/ozasadnyy) * Design and web development: [Oleh Zasadnyy](https://github.com/ozasadnyy)
* Idea: [Vitaliy Zasadnyy](https://github.com/zasadnyy) * Idea: [Vitaliy Zasadnyy](https://github.com/zasadnyy)
### Licence ### License
Project is published under the [MIT licence](https://github.com/gdg-x/zeppelin/blob/master/LICENSE.txt). Feel free to clone and modify repo as you want, but don't forget to add reference to authors :) Project is published under the [MIT license](https://github.com/gdg-x/zeppelin/blob/master/LICENSE.txt). Feel free to clone and modify repo as you want, but don't forget to add reference to authors :)

View file

@ -215,7 +215,7 @@ findWayTransit: "TRANSIT"
findWayFindFlight: "Find Flight" findWayFindFlight: "Find Flight"
logisticsMapCenterCoordinates: "49.056728, 3.117289" logisticsMapCenterCoordinates: "49.056728, 3.117289"
logisticsMapMobileCenterCoordinates: "48.335365, 23.711648" logisticsMapMobileCenterCoordinates: "48.335365, 23.711648"
logisticsMapAutoDirections: true logisticsMapAutoDirections: false
# Logistics Direction Details Block # Logistics Direction Details Block
directionDetailsImage: "direction-details.jpg" directionDetailsImage: "direction-details.jpg"

View file

@ -42,7 +42,7 @@ b, strong {
} }
a { a {
@include linkColor($link-color); @include linkColor($link-color);
&:hover { &:hover, &:active, &:focus {
text-decoration: none; text-decoration: none;
} }
} }

View file

@ -1,7 +0,0 @@
@function twbs-font-path($path) {
@return font-url($path, true);
}
@function twbs-image-path($path) {
@return image-url($path, true);
}

View file

@ -5,25 +5,45 @@
// Reset and dependencies // Reset and dependencies
@import "bootstrap/normalize"; @import "bootstrap/normalize";
@import "bootstrap/print"; @import "bootstrap/print";
// @import "bootstrap/glyphicons";
// Core CSS // Core CSS
@import "bootstrap/scaffolding"; @import "bootstrap/scaffolding";
@import "bootstrap/type"; @import "bootstrap/type";
@import "bootstrap/code"; @import "bootstrap/code";
@import "bootstrap/grid"; @import "bootstrap/grid";
// @import "bootstrap/tables";
@import "bootstrap/forms"; @import "bootstrap/forms";
@import "bootstrap/buttons"; @import "bootstrap/buttons";
// Components // Components
@import "bootstrap/component-animations"; @import "bootstrap/component-animations";
// @import "bootstrap/dropdowns";
// @import "bootstrap/button-groups";
// @import "bootstrap/input-groups";
// @import "bootstrap/navs";
// @import "bootstrap/navbar";
// @import "bootstrap/breadcrumbs";
// @import "bootstrap/pagination";
// @import "bootstrap/pager";
// @import "bootstrap/labels";
// @import "bootstrap/badges";
@import "bootstrap/jumbotron"; @import "bootstrap/jumbotron";
@import "bootstrap/thumbnails"; @import "bootstrap/thumbnails";
// @import "bootstrap/alerts";
// @import "bootstrap/progress-bars";
@import "bootstrap/media"; @import "bootstrap/media";
// @import "bootstrap/list-group";
// @import "bootstrap/panels";
@import "bootstrap/responsive-embed"; @import "bootstrap/responsive-embed";
// @import "bootstrap/wells";
@import "bootstrap/close"; @import "bootstrap/close";
// Components w/ JavaScript // Components w/ JavaScript
@import "bootstrap/modals"; @import "bootstrap/modals";
// @import "bootstrap/tooltip";
// @import "bootstrap/popovers";
// @import "bootstrap/carousel";
// Utility classes // Utility classes
@import "bootstrap/utilities"; @import "bootstrap/utilities";

View file

@ -1,17 +0,0 @@
// Mincer asset helper functions
//
// This must be imported into a .css.ejs.scss file.
// Then, <% %>-interpolations will be parsed as strings by Sass, and evaluated by EJS after Sass compilation.
@function twbs-font-path($path) {
// do something like following
// from "path/to/font.ext#suffix" to "<%- asset_path(path/to/font.ext)) + #suffix %>"
// from "path/to/font.ext?#suffix" to "<%- asset_path(path/to/font.ext)) + ?#suffix %>"
// or from "path/to/font.ext" just "<%- asset_path(path/to/font.ext)) %>"
@return "<%- asset_path('#{$path}'.replace(/[#?].*$/, '')) + '#{$path}'.replace(/(^[^#?]*)([#?]?.*$)/, '$2') %>";
}
@function twbs-image-path($file) {
@return "<%- asset_path('#{$file}') %>";
}

View file

@ -1,7 +0,0 @@
@function twbs-font-path($path) {
@return font-path($path);
}
@function twbs-image-path($path) {
@return image-path($path);
}

View file

@ -1,50 +0,0 @@
// Core variables and mixins
@import "bootstrap/variables";
@import "bootstrap/mixins";
// Reset and dependencies
@import "bootstrap/normalize";
@import "bootstrap/print";
@import "bootstrap/glyphicons";
// Core CSS
@import "bootstrap/scaffolding";
@import "bootstrap/type";
@import "bootstrap/code";
@import "bootstrap/grid";
@import "bootstrap/tables";
@import "bootstrap/forms";
@import "bootstrap/buttons";
// Components
@import "bootstrap/component-animations";
@import "bootstrap/dropdowns";
@import "bootstrap/button-groups";
@import "bootstrap/input-groups";
@import "bootstrap/navs";
@import "bootstrap/navbar";
@import "bootstrap/breadcrumbs";
@import "bootstrap/pagination";
@import "bootstrap/pager";
@import "bootstrap/labels";
@import "bootstrap/badges";
@import "bootstrap/jumbotron";
@import "bootstrap/thumbnails";
@import "bootstrap/alerts";
@import "bootstrap/progress-bars";
@import "bootstrap/media";
@import "bootstrap/list-group";
@import "bootstrap/panels";
@import "bootstrap/responsive-embed";
@import "bootstrap/wells";
@import "bootstrap/close";
// Components w/ JavaScript
@import "bootstrap/modals";
@import "bootstrap/tooltip";
@import "bootstrap/popovers";
@import "bootstrap/carousel";
// Utility classes
@import "bootstrap/utilities";
@import "bootstrap/responsive-utilities";

View file

@ -1,33 +1,11 @@
/*! /*!
* Waves v0.5.4 * Waves v0.6.0
* http://fian.my.id/Waves * http://fian.my.id/Waves
* *
* Copyright 2014 Alfiana E. Sibuea and other contributors * Copyright 2014 Alfiana E. Sibuea and other contributors
* Released under the MIT license * Released under the MIT license
* https://github.com/fians/Waves/blob/master/LICENSE * https://github.com/fians/Waves/blob/master/LICENSE
*/ */
@mixin transition ($transition) {
-webkit-transition: $transition;
-moz-transition: $transition;
-o-transition: $transition;
transition: $transition;
}
@mixin transform($string) {
-webkit-transform: $string;
-moz-transform: $string;
-ms-transform: $string;
-o-transform: $string;
transform: $string;
}
@mixin box-shadow($shadow) {
-webkit-box-shadow: $shadow;
box-shadow: $shadow;
}
.waves-effect { .waves-effect {
position: relative; position: relative;
cursor: pointer; cursor: pointer;
@ -38,103 +16,125 @@
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;
@include transition(all .3s ease-out); -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
.waves-ripple { -o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.waves-effect .waves-ripple {
position: absolute; position: absolute;
border-radius: 50%; border-radius: 50%;
width:100px; width: 100px;
height:100px; height: 100px;
opacity:0; margin-top: -50px;
background-color: rgba(0, 0, 0, 0.2); margin-left: -50px;
@include transition(all 0.5s ease-out); opacity: 0;
@include transform(scale(0)); background: rgba(0, 0, 0, 0.2);
} background: -webkit-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -o-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
&.waves-light .waves-ripple { background: -moz-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background-color: rgba(255, 255, 255, 0.4); background: radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
} -webkit-transition: all 0.5s ease-out;
-moz-transition: all 0.5s ease-out;
-o-transition: all 0.5s ease-out;
transition: all 0.5s ease-out;
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
-o-transition-property: -o-transform, opacity;
transition-property: transform, opacity;
-webkit-transform: scale(0);
-moz-transform: scale(0);
-ms-transform: scale(0);
-o-transform: scale(0);
transform: scale(0);
pointer-events: none;
}
.waves-effect.waves-light .waves-ripple {
background: rgba(255, 255, 255, 0.4);
background: -webkit-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -o-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -moz-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.waves-effect.waves-classic .waves-ripple {
background: rgba(0, 0, 0, 0.2);
}
.waves-effect.waves-classic.waves-light .waves-ripple {
background: rgba(255, 255, 255, 0.4);
} }
.waves-notransition { .waves-notransition {
-webkit-transition: none !important; -webkit-transition: none !important;
-moz-transition: none !important; -moz-transition: none !important;
-o-transition: none !important; -o-transition: none !important;
transition: none !important; transition: none !important;
} }
.waves-button, .waves-button,
.waves-circle { .waves-circle {
-webkit-transform: translateZ(0); -webkit-transform: translateZ(0);
-webkit-image-mask: -webkit-radial-gradient(circle, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)); -moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
-webkit-mask-image: -webkit-radial-gradient(circle, #ffffff 100%, #000000 100%);
} }
.waves-button, .waves-button,
.waves-button:hover, .waves-button:hover,
.waves-button:visited, .waves-button:visited,
.waves-button:link,
.waves-button-input { .waves-button-input {
white-space: nowrap; white-space: nowrap;
vertical-align: middle; vertical-align: middle;
cursor: pointer; cursor: pointer;
border:none; border: none;
outline:none; outline: none;
background:transparent;
color: inherit; color: inherit;
font-size:14px; background-color: rgba(0, 0, 0, 0);
font-size: 1em;
line-height: 1em;
text-align: center; text-align: center;
text-decoration:none; text-decoration: none;
z-index:1; z-index: 1;
} }
.waves-button { .waves-button {
padding:10px 15px; padding: 0.85em 1.1em;
border-radius:2px; border-radius: 0.2em;
} }
.waves-button-input { .waves-button-input {
margin:0; margin: 0;
padding:10px 15px; padding: 0.85em 1.1em;
} }
.waves-input-wrapper { .waves-input-wrapper {
border-radius:2px; border-radius: 0.2em;
vertical-align: bottom; vertical-align: bottom;
}
&.waves-button { .waves-input-wrapper.waves-button {
padding:0; padding: 0;
} }
.waves-input-wrapper .waves-button-input {
.waves-button-input { position: relative;
position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 1; z-index: 1;
}
} }
.waves-circle { .waves-circle {
text-align:center; text-align: center;
width:2.5em; width: 2.5em;
height:2.5em; height: 2.5em;
line-height:2.5em; line-height: 2.5em;
border-radius:50%; border-radius: 50%;
} }
.waves-float { .waves-float {
-webkit-mask-image:none; -webkit-mask-image: none;
@include box-shadow(0px 1px 1.5px 1px rgba(0, 0, 0, 0.12)); -webkit-box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
&:active { }
@include box-shadow(0px 8px 20px 1px rgba(0, 0, 0, 0.30)); .waves-float:active {
} -webkit-box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
} }
.waves-block { .waves-block {
display:block; display: block;
} }
/* Firefox Bug: link not triggered */ /* Firefox Bug: link not triggered */
a.waves-effect .waves-ripple { a.waves-effect .waves-ripple {
z-index:-1; z-index: -1;
} }

View file

@ -18,6 +18,7 @@
// Specified for the h4 to prevent conflicts of changing $headings-color // Specified for the h4 to prevent conflicts of changing $headings-color
color: inherit; color: inherit;
} }
// Provide class for links that match alerts // Provide class for links that match alerts
.alert-link { .alert-link {
font-weight: $alert-link-font-weight; font-weight: $alert-link-font-weight;
@ -28,6 +29,7 @@
> ul { > ul {
margin-bottom: 0; margin-bottom: 0;
} }
> p + p { > p + p {
margin-top: 5px; margin-top: 5px;
} }
@ -57,12 +59,15 @@
.alert-success { .alert-success {
@include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
} }
.alert-info { .alert-info {
@include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
} }
.alert-warning { .alert-warning {
@include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
} }
.alert-danger { .alert-danger {
@include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
} }

View file

@ -28,6 +28,7 @@
position: relative; position: relative;
top: -1px; top: -1px;
} }
.btn-xs & { .btn-xs & {
top: 0; top: 0;
padding: 1px 5px; padding: 1px 5px;
@ -36,11 +37,20 @@
// [converter] extracted a& to a.badge // [converter] extracted a& to a.badge
// Account for badges in navs // Account for badges in navs
a.list-group-item.active > &, .list-group-item.active > &,
.nav-pills > .active > a > & { .nav-pills > .active > a > & {
color: $badge-active-color; color: $badge-active-color;
background-color: $badge-active-bg; background-color: $badge-active-bg;
} }
.list-group-item > & {
float: right;
}
.list-group-item > & + & {
margin-right: 5px;
}
.nav-pills > li > a > & { .nav-pills > li > a > & {
margin-left: 3px; margin-left: 3px;
} }

View file

@ -1,50 +0,0 @@
// Core variables and mixins
@import "variables";
@import "mixins";
// Reset and dependencies
@import "normalize";
@import "print";
@import "glyphicons";
// Core CSS
@import "scaffolding";
@import "type";
@import "code";
@import "grid";
@import "tables";
@import "forms";
@import "buttons";
// Components
@import "component-animations";
@import "dropdowns";
@import "button-groups";
@import "input-groups";
@import "navs";
@import "navbar";
@import "breadcrumbs";
@import "pagination";
@import "pager";
@import "labels";
@import "badges";
@import "jumbotron";
@import "thumbnails";
@import "alerts";
@import "progress-bars";
@import "media";
@import "list-group";
@import "panels";
@import "responsive-embed";
@import "wells";
@import "close";
// Components w/ JavaScript
@import "modals";
@import "tooltip";
@import "popovers";
@import "carousel";
// Utility classes
@import "utilities";
@import "responsive-utilities";

View file

@ -18,10 +18,6 @@
&.active { &.active {
z-index: 2; z-index: 2;
} }
&:focus {
// Remove focus outline when dropdown JS adds it after closing the menu
outline: 0;
}
} }
} }
@ -38,7 +34,7 @@
// Optional: Group multiple button groups together for a toolbar // Optional: Group multiple button groups together for a toolbar
.btn-toolbar { .btn-toolbar {
margin-left: -5px; // Offset the first child's margin margin-left: -5px; // Offset the first child's margin
@include clearfix(); @include clearfix;
.btn-group, .btn-group,
.input-group { .input-group {
@ -75,13 +71,13 @@
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0; border-radius: 0;
} }
.btn-group > .btn-group:first-child { .btn-group > .btn-group:first-child:not(:last-child) {
> .btn:last-child, > .btn:last-child,
> .dropdown-toggle { > .dropdown-toggle {
@include border-right-radius(0); @include border-right-radius(0);
} }
} }
.btn-group > .btn-group:last-child > .btn:first-child { .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
@include border-left-radius(0); @include border-left-radius(0);
} }
@ -156,7 +152,7 @@
// Clear floats so dropdown menus can be properly placed // Clear floats so dropdown menus can be properly placed
> .btn-group { > .btn-group {
@include clearfix(); @include clearfix;
> .btn { > .btn {
float: none; float: none;
} }
@ -198,7 +194,6 @@
} }
// Justified button groups // Justified button groups
// ---------------------- // ----------------------
@ -226,15 +221,23 @@
// Checkbox and radio options // Checkbox and radio options
// //
// In order to support the browser's form validation feedback, powered by the // In order to support the browser's form validation feedback, powered by the
// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
// use `display: none;` or `visibility: hidden;` as that also hides the popover. // `display: none;` or `visibility: hidden;` as that also hides the popover.
// Simply visually hiding the inputs via `opacity` would leave them clickable in
// certain cases which is prevented by using `clip` and `pointer-events`.
// This way, we ensure a DOM element is visible to position the popover from. // This way, we ensure a DOM element is visible to position the popover from.
// //
// See https://github.com/twbs/bootstrap/pull/12794 for more. // See https://github.com/twbs/bootstrap/pull/12794 and
// https://github.com/twbs/bootstrap/pull/14559 for more information.
[data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] {
[data-toggle="buttons"] > .btn > input[type="checkbox"] { > .btn,
> .btn-group > .btn {
input[type="radio"],
input[type="checkbox"] {
position: absolute; position: absolute;
z-index: -1; clip: rect(0,0,0,0);
@include opacity(0); pointer-events: none;
}
}
} }

View file

@ -12,6 +12,7 @@
font-weight: $btn-font-weight; font-weight: $btn-font-weight;
text-align: center; text-align: center;
vertical-align: middle; vertical-align: middle;
touch-action: manipulation;
cursor: pointer; cursor: pointer;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid transparent; border: 1px solid transparent;
@ -22,13 +23,15 @@
&, &,
&:active, &:active,
&.active { &.active {
&:focus { &:focus,
@include tab-focus(); &.focus {
@include tab-focus;
} }
} }
&:hover, &:hover,
&:focus { &:focus,
&.focus {
color: $btn-default-color; color: $btn-default-color;
text-decoration: none; text-decoration: none;
} }
@ -43,7 +46,7 @@
&.disabled, &.disabled,
&[disabled], &[disabled],
fieldset[disabled] & { fieldset[disabled] & {
cursor: not-allowed; cursor: $cursor-disabled;
pointer-events: none; // Future-proof disabling of clicks pointer-events: none; // Future-proof disabling of clicks
@include opacity(.65); @include opacity(.65);
@include box-shadow(none); @include box-shadow(none);
@ -85,11 +88,11 @@
.btn-link { .btn-link {
color: $link-color; color: $link-color;
font-weight: normal; font-weight: normal;
cursor: pointer;
border-radius: 0; border-radius: 0;
&, &,
&:active, &:active,
&.active,
&[disabled], &[disabled],
fieldset[disabled] & { fieldset[disabled] & {
background-color: transparent; background-color: transparent;
@ -104,7 +107,7 @@
&:hover, &:hover,
&:focus { &:focus {
color: $link-hover-color; color: $link-hover-color;
text-decoration: underline; text-decoration: $link-hover-decoration;
background-color: transparent; background-color: transparent;
} }
&[disabled], &[disabled],

View file

@ -21,9 +21,33 @@
// Account for jankitude on images // Account for jankitude on images
> img, > img,
> a > img { > a > img {
@include img-responsive(); @include img-responsive;
line-height: 1; line-height: 1;
} }
// WebKit CSS3 transforms for supported devices
@media all and (transform-3d), (-webkit-transform-3d) {
@include transition-transform(0.6s ease-in-out);
@include backface-visibility(hidden);
@include perspective(1000);
&.next,
&.active.right {
@include translate3d(100%, 0, 0);
left: 0;
}
&.prev,
&.active.left {
@include translate3d(-100%, 0, 0);
left: 0;
}
&.next.left,
&.prev.right,
&.active {
@include translate3d(0, 0, 0);
left: 0;
}
}
} }
> .active, > .active,
@ -124,6 +148,7 @@
width: 20px; width: 20px;
height: 20px; height: 20px;
margin-top: -10px; margin-top: -10px;
line-height: 1;
font-family: serif; font-family: serif;
} }
@ -171,6 +196,7 @@
// Internet Explorer 8-9 does not support clicks on elements without a set // Internet Explorer 8-9 does not support clicks on elements without a set
// `background-color`. We cannot use `filter` since that's not viewed as a // `background-color`. We cannot use `filter` since that's not viewed as a
// background color by the browser. Thus, a hack is needed. // background color by the browser. Thus, a hack is needed.
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
// //
// For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
// set alpha transparency for the best results possible. // set alpha transparency for the best results possible.

View file

@ -26,6 +26,7 @@
// Additional properties for button version // Additional properties for button version
// iOS requires the button element instead of an anchor tag. // iOS requires the button element instead of an anchor tag.
// If you want the anchor version, it requires `href="#"`. // If you want the anchor version, it requires `href="#"`.
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
button.close { button.close {
padding: 0; padding: 0;
cursor: pointer; cursor: pointer;

View file

@ -32,6 +32,7 @@ kbd {
kbd { kbd {
padding: 0; padding: 0;
font-size: 100%; font-size: 100%;
font-weight: bold;
box-shadow: none; box-shadow: none;
} }
} }

View file

@ -17,8 +17,9 @@
.collapse { .collapse {
display: none; display: none;
visibility: hidden;
&.in { display: block; } &.in { display: block; visibility: visible; }
// [converter] extracted tr&.in to tr.collapse.in // [converter] extracted tr&.in to tr.collapse.in
// [converter] extracted tbody&.in to tbody.collapse.in // [converter] extracted tbody&.in to tbody.collapse.in
} }
@ -31,5 +32,7 @@ tbody.collapse.in { display: table-row-group; }
position: relative; position: relative;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
@include transition(height .35s ease); @include transition-property(height, visibility);
@include transition-duration(.35s);
@include transition-timing-function(ease);
} }

View file

@ -16,6 +16,7 @@
} }
// The dropdown wrapper (div) // The dropdown wrapper (div)
.dropup,
.dropdown { .dropdown {
position: relative; position: relative;
} }
@ -103,16 +104,15 @@
&:focus { &:focus {
color: $dropdown-link-disabled-color; color: $dropdown-link-disabled-color;
} }
}
// Nuke hover/focus effects // Nuke hover/focus effects
.dropdown-menu > .disabled > a {
&:hover, &:hover,
&:focus { &:focus {
text-decoration: none; text-decoration: none;
background-color: transparent; background-color: transparent;
background-image: none; // Remove CSS gradient background-image: none; // Remove CSS gradient
@include reset-filter(); @include reset-filter;
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
@ -191,7 +191,7 @@
.dropdown-menu { .dropdown-menu {
top: auto; top: auto;
bottom: 100%; bottom: 100%;
margin-bottom: 1px; margin-bottom: 2px;
} }
} }
@ -212,4 +212,3 @@
} }
} }
} }

View file

@ -77,7 +77,7 @@ select[size] {
input[type="file"]:focus, input[type="file"]:focus,
input[type="radio"]:focus, input[type="radio"]:focus,
input[type="checkbox"]:focus { input[type="checkbox"]:focus {
@include tab-focus(); @include tab-focus;
} }
// Adjust output element // Adjust output element
@ -123,15 +123,15 @@ output {
background-color: $input-bg; background-color: $input-bg;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid $input-border; border: 1px solid $input-border;
border-radius: $input-border-radius; border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
@include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s); @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
// Customize the `:focus` state to imitate native WebKit styles. // Customize the `:focus` state to imitate native WebKit styles.
@include form-control-focus(); @include form-control-focus;
// Placeholder // Placeholder
@include placeholder(); @include placeholder;
// Disabled and read-only inputs // Disabled and read-only inputs
// //
@ -141,9 +141,9 @@ output {
&[disabled], &[disabled],
&[readonly], &[readonly],
fieldset[disabled] & { fieldset[disabled] & {
cursor: not-allowed; cursor: $cursor-disabled;
background-color: $input-bg-disabled; background-color: $input-bg-disabled;
opacity: 1; // iOS fix for unreadable disabled content opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
} }
// [converter] extracted textarea& to textarea.form-control // [converter] extracted textarea& to textarea.form-control
@ -170,25 +170,27 @@ input[type="search"] {
// Special styles for iOS temporal inputs // Special styles for iOS temporal inputs
// //
// In Mobile Safari, setting `display: block` on temporal inputs causes the // In Mobile Safari, setting `display: block` on temporal inputs causes the
// text within the input to become vertically misaligned. // text within the input to become vertically misaligned. As a workaround, we
// As a workaround, we set a pixel line-height that matches the // set a pixel line-height that matches the given height of the input, but only
// given height of the input. Since this fucks up everything else, we have to // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
// appropriately reset it for Internet Explorer and the size variations.
input[type="date"], @media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="time"], input[type="date"],
input[type="datetime-local"], input[type="time"],
input[type="month"] { input[type="datetime-local"],
input[type="month"] {
line-height: $input-height-base; line-height: $input-height-base;
// IE8+ misaligns the text within date inputs, so we reset
line-height: $line-height-base #{\0};
&.input-sm { &.input-sm,
.input-group-sm & {
line-height: $input-height-small; line-height: $input-height-small;
} }
&.input-lg {
&.input-lg,
.input-group-lg & {
line-height: $input-height-large; line-height: $input-height-large;
} }
}
} }
@ -210,11 +212,11 @@ input[type="month"] {
.checkbox { .checkbox {
position: relative; position: relative;
display: block; display: block;
min-height: $line-height-computed; // clear the floating input if there is no label text
margin-top: 10px; margin-top: 10px;
margin-bottom: 10px; margin-bottom: 10px;
label { label {
min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
padding-left: 20px; padding-left: 20px;
margin-bottom: 0; margin-bottom: 0;
font-weight: normal; font-weight: normal;
@ -260,7 +262,7 @@ input[type="checkbox"] {
&[disabled], &[disabled],
&.disabled, &.disabled,
fieldset[disabled] & { fieldset[disabled] & {
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
// These classes are used directly on <label>s // These classes are used directly on <label>s
@ -268,7 +270,7 @@ input[type="checkbox"] {
.checkbox-inline { .checkbox-inline {
&.disabled, &.disabled,
fieldset[disabled] & { fieldset[disabled] & {
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
// These classes are used on elements with <label> descendants // These classes are used on elements with <label> descendants
@ -277,7 +279,7 @@ input[type="checkbox"] {
&.disabled, &.disabled,
fieldset[disabled] & { fieldset[disabled] & {
label { label {
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
} }
@ -307,10 +309,35 @@ input[type="checkbox"] {
// //
// Build on `.form-control` with modifier classes to decrease or increase the // Build on `.form-control` with modifier classes to decrease or increase the
// height and font-size of form controls. // height and font-size of form controls.
//
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
@include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small); @include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
.form-group-sm {
@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large); @include input-size('.form-control', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
.form-control-static {
height: $input-height-small;
padding: $padding-small-vertical $padding-small-horizontal;
font-size: $font-size-small;
line-height: $line-height-small;
}
}
@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
.form-group-lg {
@include input-size('.form-control', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
.form-control-static {
height: $input-height-large;
padding: $padding-large-vertical $padding-large-horizontal;
font-size: $font-size-large;
line-height: $line-height-large;
}
}
// Form control feedback states // Form control feedback states
@ -329,7 +356,7 @@ input[type="checkbox"] {
// Feedback icon (requires .glyphicon classes) // Feedback icon (requires .glyphicon classes)
.form-control-feedback { .form-control-feedback {
position: absolute; position: absolute;
top: ($line-height-computed + 5); // Height of the `label` and its margin top: 0;
right: 0; right: 0;
z-index: 2; // Ensure icon is above input groups z-index: 2; // Ensure icon is above input groups
display: block; display: block;
@ -337,6 +364,7 @@ input[type="checkbox"] {
height: $input-height-base; height: $input-height-base;
line-height: $input-height-base; line-height: $input-height-base;
text-align: center; text-align: center;
pointer-events: none;
} }
.input-lg + .form-control-feedback { .input-lg + .form-control-feedback {
width: $input-height-large; width: $input-height-large;
@ -360,10 +388,15 @@ input[type="checkbox"] {
@include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg); @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);
} }
// Reposition feedback icon if input has visible label above
.has-feedback label {
// Reposition feedback icon if label is hidden with "screenreader only" state & ~ .form-control-feedback {
.has-feedback label.sr-only ~ .form-control-feedback { top: ($line-height-computed + 5); // Height of the `label` and its margin
}
&.sr-only ~ .form-control-feedback {
top: 0; top: 0;
}
} }
@ -380,7 +413,6 @@ input[type="checkbox"] {
} }
// Inline forms // Inline forms
// //
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
@ -392,7 +424,8 @@ input[type="checkbox"] {
// //
// Heads up! This is mixin-ed into `.navbar-form` in navbars.less. // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
.form-inline { // [converter] extracted from `.form-inline` for libsass compatibility
@mixin form-inline {
// Kick in the inline // Kick in the inline
@media (min-width: $screen-sm-min) { @media (min-width: $screen-sm-min) {
@ -410,6 +443,11 @@ input[type="checkbox"] {
vertical-align: middle; vertical-align: middle;
} }
// Make static controls behave like regular ones
.form-control-static {
display: inline-block;
}
.input-group { .input-group {
display: inline-table; display: inline-table;
vertical-align: middle; vertical-align: middle;
@ -432,8 +470,7 @@ input[type="checkbox"] {
} }
// Remove default margin on radios/checkboxes that were used for stacking, and // Remove default margin on radios/checkboxes that were used for stacking, and
// then undo the floating of radios and checkboxes to match (which also avoids // then undo the floating of radios and checkboxes to match.
// a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
.radio, .radio,
.checkbox { .checkbox {
display: inline-block; display: inline-block;
@ -451,15 +488,17 @@ input[type="checkbox"] {
margin-left: 0; margin-left: 0;
} }
// Validation states // Re-override the feedback icon.
//
// Reposition the icon because it's now within a grid column and columns have
// `position: relative;` on them. Also accounts for the grid gutter padding.
.has-feedback .form-control-feedback { .has-feedback .form-control-feedback {
top: 0; top: 0;
} }
} }
} }
// [converter] extracted as `@mixin form-inline` for libsass compatibility
.form-inline {
@include form-inline;
}
// Horizontal forms // Horizontal forms
@ -489,7 +528,7 @@ input[type="checkbox"] {
// Make form groups behave like rows // Make form groups behave like rows
.form-group { .form-group {
@include make-row(); @include make-row;
} }
// Reset spacing and right align labels, but scope to media queries so that // Reset spacing and right align labels, but scope to media queries so that
@ -507,7 +546,6 @@ input[type="checkbox"] {
// Reposition the icon because it's now within a grid column and columns have // Reposition the icon because it's now within a grid column and columns have
// `position: relative;` on them. Also accounts for the grid gutter padding. // `position: relative;` on them. Also accounts for the grid gutter padding.
.has-feedback .form-control-feedback { .has-feedback .form-control-feedback {
top: 0;
right: ($grid-gutter-width / 2); right: ($grid-gutter-width / 2);
} }
@ -521,9 +559,6 @@ input[type="checkbox"] {
padding-top: (($padding-large-vertical * $line-height-large) + 1); padding-top: (($padding-large-vertical * $line-height-large) + 1);
} }
} }
.form-control {
@extend .input-lg;
}
} }
.form-group-sm { .form-group-sm {
@media (min-width: $screen-sm-min) { @media (min-width: $screen-sm-min) {
@ -531,8 +566,5 @@ input[type="checkbox"] {
padding-top: ($padding-small-vertical + 1); padding-top: ($padding-small-vertical + 1);
} }
} }
.form-control {
@extend .input-sm;
}
} }
} }

View file

@ -1,7 +1,3 @@
//= depend_on "bootstrap/glyphicons-halflings-regular.eot"
//= depend_on "bootstrap/glyphicons-halflings-regular.svg"
//= depend_on "bootstrap/glyphicons-halflings-regular.ttf"
//= depend_on "bootstrap/glyphicons-halflings-regular.woff"
// //
// Glyphicons for Bootstrap // Glyphicons for Bootstrap
// //
@ -16,6 +12,7 @@
font-family: 'Glyphicons Halflings'; font-family: 'Glyphicons Halflings';
src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot')); src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot'));
src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'), src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'),
url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff2'), '#{$icon-font-path}#{$icon-font-name}.woff2')) format('woff2'),
url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'), url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'),
url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'), url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'),
url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg'); url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg');
@ -37,7 +34,8 @@
// Individual icons // Individual icons
.glyphicon-asterisk { &:before { content: "\2a"; } } .glyphicon-asterisk { &:before { content: "\2a"; } }
.glyphicon-plus { &:before { content: "\2b"; } } .glyphicon-plus { &:before { content: "\2b"; } }
.glyphicon-euro { &:before { content: "\20ac"; } } .glyphicon-euro,
.glyphicon-eur { &:before { content: "\20ac"; } }
.glyphicon-minus { &:before { content: "\2212"; } } .glyphicon-minus { &:before { content: "\2212"; } }
.glyphicon-cloud { &:before { content: "\2601"; } } .glyphicon-cloud { &:before { content: "\2601"; } }
.glyphicon-envelope { &:before { content: "\2709"; } } .glyphicon-envelope { &:before { content: "\2709"; } }
@ -235,3 +233,69 @@
.glyphicon-cloud-upload { &:before { content: "\e198"; } } .glyphicon-cloud-upload { &:before { content: "\e198"; } }
.glyphicon-tree-conifer { &:before { content: "\e199"; } } .glyphicon-tree-conifer { &:before { content: "\e199"; } }
.glyphicon-tree-deciduous { &:before { content: "\e200"; } } .glyphicon-tree-deciduous { &:before { content: "\e200"; } }
.glyphicon-cd { &:before { content: "\e201"; } }
.glyphicon-save-file { &:before { content: "\e202"; } }
.glyphicon-open-file { &:before { content: "\e203"; } }
.glyphicon-level-up { &:before { content: "\e204"; } }
.glyphicon-copy { &:before { content: "\e205"; } }
.glyphicon-paste { &:before { content: "\e206"; } }
// The following 2 Glyphicons are omitted for the time being because
// they currently use Unicode codepoints that are outside the
// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle
// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.
// Notably, the bug affects some older versions of the Android Browser.
// More info: https://github.com/twbs/bootstrap/issues/10106
// .glyphicon-door { &:before { content: "\1f6aa"; } }
// .glyphicon-key { &:before { content: "\1f511"; } }
.glyphicon-alert { &:before { content: "\e209"; } }
.glyphicon-equalizer { &:before { content: "\e210"; } }
.glyphicon-king { &:before { content: "\e211"; } }
.glyphicon-queen { &:before { content: "\e212"; } }
.glyphicon-pawn { &:before { content: "\e213"; } }
.glyphicon-bishop { &:before { content: "\e214"; } }
.glyphicon-knight { &:before { content: "\e215"; } }
.glyphicon-baby-formula { &:before { content: "\e216"; } }
.glyphicon-tent { &:before { content: "\26fa"; } }
.glyphicon-blackboard { &:before { content: "\e218"; } }
.glyphicon-bed { &:before { content: "\e219"; } }
.glyphicon-apple { &:before { content: "\f8ff"; } }
.glyphicon-erase { &:before { content: "\e221"; } }
.glyphicon-hourglass { &:before { content: "\231b"; } }
.glyphicon-lamp { &:before { content: "\e223"; } }
.glyphicon-duplicate { &:before { content: "\e224"; } }
.glyphicon-piggy-bank { &:before { content: "\e225"; } }
.glyphicon-scissors { &:before { content: "\e226"; } }
.glyphicon-bitcoin { &:before { content: "\e227"; } }
.glyphicon-yen { &:before { content: "\00a5"; } }
.glyphicon-ruble { &:before { content: "\20bd"; } }
.glyphicon-scale { &:before { content: "\e230"; } }
.glyphicon-ice-lolly { &:before { content: "\e231"; } }
.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } }
.glyphicon-education { &:before { content: "\e233"; } }
.glyphicon-option-horizontal { &:before { content: "\e234"; } }
.glyphicon-option-vertical { &:before { content: "\e235"; } }
.glyphicon-menu-hamburger { &:before { content: "\e236"; } }
.glyphicon-modal-window { &:before { content: "\e237"; } }
.glyphicon-oil { &:before { content: "\e238"; } }
.glyphicon-grain { &:before { content: "\e239"; } }
.glyphicon-sunglasses { &:before { content: "\e240"; } }
.glyphicon-text-size { &:before { content: "\e241"; } }
.glyphicon-text-color { &:before { content: "\e242"; } }
.glyphicon-text-background { &:before { content: "\e243"; } }
.glyphicon-object-align-top { &:before { content: "\e244"; } }
.glyphicon-object-align-bottom { &:before { content: "\e245"; } }
.glyphicon-object-align-horizontal{ &:before { content: "\e246"; } }
.glyphicon-object-align-left { &:before { content: "\e247"; } }
.glyphicon-object-align-vertical { &:before { content: "\e248"; } }
.glyphicon-object-align-right { &:before { content: "\e249"; } }
.glyphicon-triangle-right { &:before { content: "\e250"; } }
.glyphicon-triangle-left { &:before { content: "\e251"; } }
.glyphicon-triangle-bottom { &:before { content: "\e252"; } }
.glyphicon-triangle-top { &:before { content: "\e253"; } }
.glyphicon-console { &:before { content: "\e254"; } }
.glyphicon-superscript { &:before { content: "\e255"; } }
.glyphicon-subscript { &:before { content: "\e256"; } }
.glyphicon-menu-left { &:before { content: "\e257"; } }
.glyphicon-menu-right { &:before { content: "\e258"; } }
.glyphicon-menu-down { &:before { content: "\e259"; } }
.glyphicon-menu-up { &:before { content: "\e260"; } }

View file

@ -8,7 +8,7 @@
// Set the container width, and override it for fixed navbars in media queries. // Set the container width, and override it for fixed navbars in media queries.
.container { .container {
@include container-fixed(); @include container-fixed;
@media (min-width: $screen-sm-min) { @media (min-width: $screen-sm-min) {
width: $container-sm; width: $container-sm;
@ -28,7 +28,7 @@
// width for fluid, full width layouts. // width for fluid, full width layouts.
.container-fluid { .container-fluid {
@include container-fixed(); @include container-fixed;
} }
@ -37,7 +37,7 @@
// Rows contain and clear the floats of your columns. // Rows contain and clear the floats of your columns.
.row { .row {
@include make-row(); @include make-row;
} }
@ -45,7 +45,7 @@
// //
// Common styles for small and large grid columns // Common styles for small and large grid columns
@include make-grid-columns(); @include make-grid-columns;
// Extra small grid // Extra small grid

View file

@ -4,7 +4,7 @@
.jumbotron { .jumbotron {
padding: $jumbotron-padding; padding: $jumbotron-padding ($jumbotron-padding / 2);
margin-bottom: $jumbotron-padding; margin-bottom: $jumbotron-padding;
color: $jumbotron-color; color: $jumbotron-color;
background-color: $jumbotron-bg; background-color: $jumbotron-bg;
@ -13,6 +13,7 @@
.h1 { .h1 {
color: $jumbotron-heading-color; color: $jumbotron-heading-color;
} }
p { p {
margin-bottom: ($jumbotron-padding / 2); margin-bottom: ($jumbotron-padding / 2);
font-size: $jumbotron-font-size; font-size: $jumbotron-font-size;
@ -23,7 +24,8 @@
border-top-color: darken($jumbotron-bg, 10%); border-top-color: darken($jumbotron-bg, 10%);
} }
.container & { .container &,
.container-fluid & {
border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container
} }
@ -32,10 +34,10 @@
} }
@media screen and (min-width: $screen-sm-min) { @media screen and (min-width: $screen-sm-min) {
padding-top: ($jumbotron-padding * 1.6); padding: ($jumbotron-padding * 1.6) 0;
padding-bottom: ($jumbotron-padding * 1.6);
.container & { .container &,
.container-fluid & {
padding-left: ($jumbotron-padding * 2); padding-left: ($jumbotron-padding * 2);
padding-right: ($jumbotron-padding * 2); padding-right: ($jumbotron-padding * 2);
} }

View file

@ -35,14 +35,6 @@
margin-bottom: 0; margin-bottom: 0;
@include border-bottom-radius($list-group-border-radius); @include border-bottom-radius($list-group-border-radius);
} }
// Align badges within list items
> .badge {
float: right;
}
> .badge + .badge {
margin-right: 5px;
}
} }
@ -74,7 +66,7 @@ a.list-group-item {
&.disabled:focus { &.disabled:focus {
background-color: $list-group-disabled-bg; background-color: $list-group-disabled-bg;
color: $list-group-disabled-color; color: $list-group-disabled-color;
cursor: not-allowed; cursor: $cursor-disabled;
// Force color to inherit for custom content // Force color to inherit for custom content
.list-group-item-heading { .list-group-item-heading {

View file

@ -1,54 +1,59 @@
// Media objects .media {
// Source: http://stubbornella.org/content/?p=497 // Proper spacing between instances of .media
// -------------------------------------------------- margin-top: 15px;
&:first-child {
margin-top: 0;
}
}
// Common styles
// -------------------------
// Clear the floats
.media, .media,
.media-body { .media-body {
overflow: hidden;
zoom: 1; zoom: 1;
overflow: hidden;
} }
// Proper spacing between instances of .media .media-body {
.media, width: 10000px;
.media .media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
} }
// For images and videos, set to block
.media-object { .media-object {
display: block; display: block;
} }
.media-right,
.media > .pull-right {
padding-left: 10px;
}
.media-left,
.media > .pull-left {
padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
display: table-cell;
vertical-align: top;
}
.media-middle {
vertical-align: middle;
}
.media-bottom {
vertical-align: bottom;
}
// Reset margins on headings for tighter default spacing // Reset margins on headings for tighter default spacing
.media-heading { .media-heading {
margin: 0 0 5px; margin-top: 0;
margin-bottom: 5px;
} }
// Media image alignment
// -------------------------
.media {
> .pull-left {
margin-right: 10px;
}
> .pull-right {
margin-left: 10px;
}
}
// Media list variation // Media list variation
// ------------------------- //
// Undo default ul/ol styles // Undo default ul/ol styles
.media-list { .media-list {
padding-left: 0; padding-left: 0;

View file

@ -30,10 +30,10 @@
// When fading in the modal, animate it to slide down // When fading in the modal, animate it to slide down
&.fade .modal-dialog { &.fade .modal-dialog {
@include translate3d(0, -25%, 0); @include translate(0, -25%);
@include transition-transform(0.3s ease-out); @include transition-transform(0.3s ease-out);
} }
&.in .modal-dialog { @include translate3d(0, 0, 0) } &.in .modal-dialog { @include translate(0, 0) }
} }
.modal-open .modal { .modal-open .modal {
overflow-x: hidden; overflow-x: hidden;
@ -62,12 +62,10 @@
// Modal background // Modal background
.modal-backdrop { .modal-backdrop {
position: fixed; position: absolute;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0;
left: 0; left: 0;
z-index: $zindex-modal-background;
background-color: $modal-backdrop-bg; background-color: $modal-backdrop-bg;
// Fade for backdrop // Fade for backdrop
&.fade { @include opacity(0); } &.fade { @include opacity(0); }
@ -104,7 +102,7 @@
padding: $modal-inner-padding; padding: $modal-inner-padding;
text-align: right; // right align buttons text-align: right; // right align buttons
border-top: 1px solid $modal-footer-border-color; border-top: 1px solid $modal-footer-border-color;
@include clearfix(); // clear it in case folks use .pull-* classes on buttons @include clearfix; // clear it in case folks use .pull-* classes on buttons
// Properly space out buttons // Properly space out buttons
.btn + .btn { .btn + .btn {

View file

@ -15,7 +15,7 @@
border: 1px solid transparent; border: 1px solid transparent;
// Prevent floats from breaking the navbar // Prevent floats from breaking the navbar
@include clearfix(); @include clearfix;
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
border-radius: $navbar-border-radius; border-radius: $navbar-border-radius;
@ -29,7 +29,7 @@
// styling of responsive aspects. // styling of responsive aspects.
.navbar-header { .navbar-header {
@include clearfix(); @include clearfix;
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
float: left; float: left;
@ -53,7 +53,7 @@
padding-left: $navbar-padding-horizontal; padding-left: $navbar-padding-horizontal;
border-top: 1px solid transparent; border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
@include clearfix(); @include clearfix;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
&.in { &.in {
@ -67,6 +67,7 @@
&.collapse { &.collapse {
display: block !important; display: block !important;
visibility: visible !important;
height: auto !important; height: auto !important;
padding-bottom: 0; // Override default setting padding-bottom: 0; // Override default setting
overflow: visible !important; overflow: visible !important;
@ -92,7 +93,7 @@
.navbar-collapse { .navbar-collapse {
max-height: $navbar-collapse-max-height; max-height: $navbar-collapse-max-height;
@media (max-width: $screen-xs-min) and (orientation: landscape) { @media (max-device-width: $screen-xs-min) and (orientation: landscape) {
max-height: 200px; max-height: 200px;
} }
} }
@ -141,7 +142,6 @@
right: 0; right: 0;
left: 0; left: 0;
z-index: $zindex-navbar-fixed; z-index: $zindex-navbar-fixed;
@include translate3d(0, 0, 0);
// Undo the rounded corners // Undo the rounded corners
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
@ -173,6 +173,10 @@
text-decoration: none; text-decoration: none;
} }
> img {
display: block;
}
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
.navbar > .container &, .navbar > .container &,
.navbar > .container-fluid & { .navbar > .container-fluid & {
@ -271,26 +275,6 @@
padding-bottom: $navbar-padding-vertical; padding-bottom: $navbar-padding-vertical;
} }
} }
&.navbar-right:last-child {
margin-right: -$navbar-padding-horizontal;
}
}
}
// Component alignment
//
// Repurpose the pull utilities as their own navbar utilities to avoid specificity
// issues with parents and chaining. Only do this when the navbar is uncollapsed
// though so that navbar contents properly stack and align in mobile.
@media (min-width: $grid-float-breakpoint) {
.navbar-left {
float: left !important;
}
.navbar-right {
float: right !important;
} }
} }
@ -310,11 +294,15 @@
@include box-shadow($shadow); @include box-shadow($shadow);
// Mixin behavior for optimum display // Mixin behavior for optimum display
@extend .form-inline; @include form-inline;
.form-group { .form-group {
@media (max-width: $grid-float-breakpoint-max) { @media (max-width: $grid-float-breakpoint-max) {
margin-bottom: 5px; margin-bottom: 5px;
&:last-child {
margin-bottom: 0;
}
} }
} }
@ -330,11 +318,6 @@
padding-top: 0; padding-top: 0;
padding-bottom: 0; padding-bottom: 0;
@include box-shadow(none); @include box-shadow(none);
// Outdent the form if last child to line up with content down the page
&.navbar-right:last-child {
margin-right: -$navbar-padding-horizontal;
}
} }
} }
@ -348,6 +331,8 @@
} }
// Menu position and menu caret support for dropups via extra dropup class // Menu position and menu caret support for dropups via extra dropup class
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
@include border-top-radius($navbar-border-radius);
@include border-bottom-radius(0); @include border-bottom-radius(0);
} }
@ -379,14 +364,33 @@
float: left; float: left;
margin-left: $navbar-padding-horizontal; margin-left: $navbar-padding-horizontal;
margin-right: $navbar-padding-horizontal; margin-right: $navbar-padding-horizontal;
}
}
// Outdent the form if last child to line up with content down the page
&.navbar-right:last-child { // Component alignment
//
// Repurpose the pull utilities as their own navbar utilities to avoid specificity
// issues with parents and chaining. Only do this when the navbar is uncollapsed
// though so that navbar contents properly stack and align in mobile.
//
// Declared after the navbar components to ensure more specificity on the margins.
@media (min-width: $grid-float-breakpoint) {
.navbar-left {
float: left !important;
}
.navbar-right {
float: right !important;
margin-right: -$navbar-padding-horizontal;
~ .navbar-right {
margin-right: 0; margin-right: 0;
} }
} }
} }
// Alternate navbars // Alternate navbars
// -------------------------------------------------- // --------------------------------------------------

View file

@ -10,7 +10,7 @@
margin-bottom: 0; margin-bottom: 0;
padding-left: 0; // Override default ul/ol padding-left: 0; // Override default ul/ol
list-style: none; list-style: none;
@include clearfix(); @include clearfix;
> li { > li {
position: relative; position: relative;
@ -36,7 +36,7 @@
color: $nav-disabled-link-hover-color; color: $nav-disabled-link-hover-color;
text-decoration: none; text-decoration: none;
background-color: transparent; background-color: transparent;
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
} }
@ -57,7 +57,7 @@
// we missed it. We don't currently support this anywhere, but in the interest // we missed it. We don't currently support this anywhere, but in the interest
// of maintaining backward compatibility in case you use it, it's deprecated. // of maintaining backward compatibility in case you use it, it's deprecated.
.nav-divider { .nav-divider {
@include nav-divider(); @include nav-divider;
} }
// Prevent IE8 from misplacing imgs // Prevent IE8 from misplacing imgs
@ -223,9 +223,11 @@
.tab-content { .tab-content {
> .tab-pane { > .tab-pane {
display: none; display: none;
visibility: hidden;
} }
> .active { > .active {
display: block; display: block;
visibility: visible;
} }
} }

View file

@ -1,4 +1,4 @@
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
// //
// 1. Set default font family to sans-serif. // 1. Set default font family to sans-serif.
@ -25,7 +25,8 @@ body {
// //
// Correct `block` display not defined for any HTML5 element in IE 8/9. // Correct `block` display not defined for any HTML5 element in IE 8/9.
// Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. // Correct `block` display not defined for `details` or `summary` in IE 10/11
// and Firefox.
// Correct `block` display not defined for `main` in IE 11. // Correct `block` display not defined for `main` in IE 11.
// //
@ -38,6 +39,7 @@ footer,
header, header,
hgroup, hgroup,
main, main,
menu,
nav, nav,
section, section,
summary { summary {
@ -85,7 +87,7 @@ template {
// //
a { a {
background: transparent; background-color: transparent;
} }
// //

View file

@ -8,7 +8,7 @@
margin: $line-height-computed 0; margin: $line-height-computed 0;
list-style: none; list-style: none;
text-align: center; text-align: center;
@include clearfix(); @include clearfix;
li { li {
display: inline; display: inline;
> a, > a,
@ -48,8 +48,7 @@
> span { > span {
color: $pager-disabled-color; color: $pager-disabled-color;
background-color: $pager-bg; background-color: $pager-bg;
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
} }

View file

@ -69,7 +69,7 @@
color: $pagination-disabled-color; color: $pagination-disabled-color;
background-color: $pagination-disabled-bg; background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border; border-color: $pagination-disabled-border;
cursor: not-allowed; cursor: $cursor-disabled;
} }
} }
} }

View file

@ -15,7 +15,7 @@
// Panel contents // Panel contents
.panel-body { .panel-body {
padding: $panel-body-padding; padding: $panel-body-padding;
@include clearfix(); @include clearfix;
} }
// Optional heading // Optional heading
@ -36,7 +36,11 @@
font-size: ceil(($font-size-base * 1.125)); font-size: ceil(($font-size-base * 1.125));
color: inherit; color: inherit;
> a { > a,
> small,
> .small,
> small > a,
> .small > a {
color: inherit; color: inherit;
} }
} }
@ -56,7 +60,8 @@
// any kind of custom content between the two. // any kind of custom content between the two.
.panel { .panel {
> .list-group { > .list-group,
> .panel-collapse > .list-group {
margin-bottom: 0; margin-bottom: 0;
.list-group-item { .list-group-item {
@ -100,6 +105,11 @@
> .table-responsive > .table, > .table-responsive > .table,
> .panel-collapse > .table { > .panel-collapse > .table {
margin-bottom: 0; margin-bottom: 0;
caption {
padding-left: $panel-body-padding;
padding-right: $panel-body-padding;
}
} }
// Add border top radius for first one // Add border top radius for first one
> .table:first-child, > .table:first-child,
@ -109,6 +119,9 @@
> thead:first-child, > thead:first-child,
> tbody:first-child { > tbody:first-child {
> tr:first-child { > tr:first-child {
border-top-left-radius: ($panel-border-radius - 1);
border-top-right-radius: ($panel-border-radius - 1);
td:first-child, td:first-child,
th:first-child { th:first-child {
border-top-left-radius: ($panel-border-radius - 1); border-top-left-radius: ($panel-border-radius - 1);
@ -128,6 +141,9 @@
> tbody:last-child, > tbody:last-child,
> tfoot:last-child { > tfoot:last-child {
> tr:last-child { > tr:last-child {
border-bottom-left-radius: ($panel-border-radius - 1);
border-bottom-right-radius: ($panel-border-radius - 1);
td:first-child, td:first-child,
th:first-child { th:first-child {
border-bottom-left-radius: ($panel-border-radius - 1); border-bottom-left-radius: ($panel-border-radius - 1);
@ -140,7 +156,9 @@
} }
} }
> .panel-body + .table, > .panel-body + .table,
> .panel-body + .table-responsive { > .panel-body + .table-responsive,
> .table + .panel-body,
> .table-responsive + .panel-body {
border-top: 1px solid $table-border-color; border-top: 1px solid $table-border-color;
} }
> .table > tbody:first-child > tr:first-child th, > .table > tbody:first-child > tr:first-child th,
@ -202,6 +220,7 @@
.panel { .panel {
margin-bottom: 0; margin-bottom: 0;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
+ .panel { + .panel {
margin-top: 5px; margin-top: 5px;
} }
@ -209,10 +228,13 @@
.panel-heading { .panel-heading {
border-bottom: 0; border-bottom: 0;
+ .panel-collapse > .panel-body {
+ .panel-collapse > .panel-body,
+ .panel-collapse > .list-group {
border-top: 1px solid $panel-inner-border; border-top: 1px solid $panel-inner-border;
} }
} }
.panel-footer { .panel-footer {
border-top: 0; border-top: 0;
+ .panel-collapse .panel-body { + .panel-collapse .panel-body {

View file

@ -11,7 +11,12 @@
display: none; display: none;
max-width: $popover-max-width; max-width: $popover-max-width;
padding: 1px; padding: 1px;
text-align: left; // Reset given new insertion method // Reset font and text properties given new insertion method
font-family: $font-family-base;
font-size: $font-size-base;
font-weight: normal;
line-height: $line-height-base;
text-align: left;
background-color: $popover-bg; background-color: $popover-bg;
background-clip: padding-box; background-clip: padding-box;
border: 1px solid $popover-fallback-border-color; border: 1px solid $popover-fallback-border-color;
@ -33,8 +38,6 @@
margin: 0; // reset heading margin margin: 0; // reset heading margin
padding: 8px 14px; padding: 8px 14px;
font-size: $font-size-base; font-size: $font-size-base;
font-weight: normal;
line-height: 18px;
background-color: $popover-title-bg; background-color: $popover-title-bg;
border-bottom: 1px solid darken($popover-title-bg, 5%); border-bottom: 1px solid darken($popover-title-bg, 5%);
border-radius: ($border-radius-large - 1) ($border-radius-large - 1) 0 0; border-radius: ($border-radius-large - 1) ($border-radius-large - 1) 0 0;
@ -129,5 +132,4 @@
bottom: -$popover-arrow-width; bottom: -$popover-arrow-width;
} }
} }
} }

View file

@ -1,15 +1,18 @@
// /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
// Basic print styles
// -------------------------------------------------- // ==========================================================================
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css // Print styles.
// Inlined to avoid the additional HTTP request: h5bp.com/r
// ==========================================================================
@media print { @media print {
*,
* { *:before,
text-shadow: none !important; *:after {
color: #000 !important; // Black prints faster: h5bp.com/s
background: transparent !important; background: transparent !important;
color: #000 !important; // Black prints faster: h5bp.com/s
box-shadow: none !important; box-shadow: none !important;
text-shadow: none !important;
} }
a, a,
@ -25,9 +28,10 @@
content: " (" attr(title) ")"; content: " (" attr(title) ")";
} }
// Don't show links for images, or javascript/internal links // Don't show links that are fragment identifiers,
a[href^="javascript:"]:after, // or use the `javascript:` pseudo protocol
a[href^="#"]:after { a[href^="#"]:after,
a[href^="javascript:"]:after {
content: ""; content: "";
} }
@ -62,6 +66,8 @@
page-break-after: avoid; page-break-after: avoid;
} }
// Bootstrap specific changes start
//
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245 // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
// Once fixed, we can just straight up remove this. // Once fixed, we can just straight up remove this.
select { select {
@ -72,12 +78,6 @@
.navbar { .navbar {
display: none; display: none;
} }
.table {
td,
th {
background-color: #fff !important;
}
}
.btn, .btn,
.dropup > .btn { .dropup > .btn {
> .caret { > .caret {
@ -90,6 +90,11 @@
.table { .table {
border-collapse: collapse !important; border-collapse: collapse !important;
td,
th {
background-color: #fff !important;
}
} }
.table-bordered { .table-bordered {
th, th,
@ -98,4 +103,5 @@
} }
} }
// Bootstrap specific changes end
} }

View file

@ -19,7 +19,6 @@
} }
// Bar itself // Bar itself
// ------------------------- // -------------------------
@ -29,7 +28,7 @@
height: $line-height-computed; height: $line-height-computed;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
background-color: $progress-bg; background-color: $progress-bg;
border-radius: $border-radius-base; border-radius: $progress-border-radius;
@include box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
} }
@ -54,7 +53,7 @@
// `.progress-bar`. // `.progress-bar`.
.progress-striped .progress-bar, .progress-striped .progress-bar,
.progress-bar-striped { .progress-bar-striped {
@include gradient-striped(); @include gradient-striped;
background-size: 40px 40px; background-size: 40px 40px;
} }
@ -67,23 +66,6 @@
@include animation(progress-bar-stripes 2s linear infinite); @include animation(progress-bar-stripes 2s linear infinite);
} }
// Account for lower percentages
.progress-bar {
&[aria-valuenow="1"],
&[aria-valuenow="2"] {
min-width: 30px;
}
&[aria-valuenow="0"] {
color: $gray-light;
min-width: 30px;
background-color: transparent;
background-image: none;
box-shadow: none;
}
}
// Variations // Variations
// ------------------------- // -------------------------

View file

@ -12,7 +12,8 @@
.embed-responsive-item, .embed-responsive-item,
iframe, iframe,
embed, embed,
object { object,
video {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;

View file

@ -26,7 +26,10 @@
// Visibility utilities // Visibility utilities
// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 // Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0
@include responsive-invisibility('.visible-xs, .visible-sm, .visible-md, .visible-lg'); @include responsive-invisibility('.visible-xs');
@include responsive-invisibility('.visible-sm');
@include responsive-invisibility('.visible-md');
@include responsive-invisibility('.visible-lg');
.visible-xs-block, .visible-xs-block,
.visible-xs-inline, .visible-xs-inline,

View file

@ -52,11 +52,11 @@ a {
&:hover, &:hover,
&:focus { &:focus {
color: $link-hover-color; color: $link-hover-color;
text-decoration: underline; text-decoration: $link-hover-decoration;
} }
&:focus { &:focus {
@include tab-focus(); @include tab-focus;
} }
} }
@ -79,7 +79,7 @@ img {
// Responsive images (ensure images don't scale beyond their parents) // Responsive images (ensure images don't scale beyond their parents)
.img-responsive { .img-responsive {
@include img-responsive(); @include img-responsive;
} }
// Rounded corners // Rounded corners

View file

@ -6,6 +6,12 @@
table { table {
background-color: $table-bg; background-color: $table-bg;
} }
caption {
padding-top: $table-cell-padding;
padding-bottom: $table-cell-padding;
color: $text-muted;
text-align: left;
}
th { th {
text-align: left; text-align: left;
} }
@ -105,12 +111,9 @@ th {
// Default zebra-stripe styles (alternating gray and transparent backgrounds) // Default zebra-stripe styles (alternating gray and transparent backgrounds)
.table-striped { .table-striped {
> tbody > tr:nth-child(odd) { > tbody > tr:nth-of-type(odd) {
> td,
> th {
background-color: $table-bg-accent; background-color: $table-bg-accent;
} }
}
} }
@ -120,11 +123,8 @@ th {
.table-hover { .table-hover {
> tbody > tr:hover { > tbody > tr:hover {
> td,
> th {
background-color: $table-bg-hover; background-color: $table-bg-hover;
} }
}
} }
@ -133,7 +133,7 @@ th {
// Reset default table behavior // Reset default table behavior
table col[class*="col-"] { table col[class*="col-"] {
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
float: none; float: none;
display: table-column; display: table-column;
} }
@ -141,7 +141,7 @@ table {
td, td,
th { th {
&[class*="col-"] { &[class*="col-"] {
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
float: none; float: none;
display: table-cell; display: table-cell;
} }
@ -169,14 +169,15 @@ table {
// will display normally. // will display normally.
.table-responsive { .table-responsive {
overflow-x: auto;
min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
@media screen and (max-width: $screen-xs-max) { @media screen and (max-width: $screen-xs-max) {
width: 100%; width: 100%;
margin-bottom: ($line-height-computed * 0.75); margin-bottom: ($line-height-computed * 0.75);
overflow-y: hidden; overflow-y: hidden;
overflow-x: auto;
-ms-overflow-style: -ms-autohiding-scrollbar; -ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid $table-border-color; border: 1px solid $table-border-color;
-webkit-overflow-scrolling: touch;
// Tighten up spacing // Tighten up spacing
> .table { > .table {

View file

@ -7,7 +7,6 @@
@import "mixins"; @import "mixins";
// //
// Buttons // Buttons
// -------------------------------------------------- // --------------------------------------------------
@ -28,12 +27,16 @@
&.active { &.active {
@include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
} }
.badge {
text-shadow: none;
}
} }
// Mixin for generating new styles // Mixin for generating new styles
@mixin btn-styles($btn-color: #555) { @mixin btn-styles($btn-color: #555) {
@include gradient-vertical($start-color: $btn-color, $end-color: darken($btn-color, 12%)); @include gradient-vertical($start-color: $btn-color, $end-color: darken($btn-color, 12%));
@include reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners @include reset-filter; // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: darken($btn-color, 14%); border-color: darken($btn-color, 14%);
@ -49,6 +52,7 @@
border-color: darken($btn-color, 14%); border-color: darken($btn-color, 14%);
} }
&.disabled,
&:disabled, &:disabled,
&[disabled] { &[disabled] {
background-color: darken($btn-color, 12%); background-color: darken($btn-color, 12%);
@ -74,7 +78,6 @@
.btn-danger { @include btn-styles($btn-danger-bg); } .btn-danger { @include btn-styles($btn-danger-bg); }
// //
// Images // Images
// -------------------------------------------------- // --------------------------------------------------
@ -85,7 +88,6 @@
} }
// //
// Dropdowns // Dropdowns
// -------------------------------------------------- // --------------------------------------------------
@ -103,7 +105,6 @@
} }
// //
// Navbar // Navbar
// -------------------------------------------------- // --------------------------------------------------
@ -111,13 +112,14 @@
// Default navbar // Default navbar
.navbar-default { .navbar-default {
@include gradient-vertical($start-color: lighten($navbar-default-bg, 10%), $end-color: $navbar-default-bg); @include gradient-vertical($start-color: lighten($navbar-default-bg, 10%), $end-color: $navbar-default-bg);
@include reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered @include reset-filter; // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
border-radius: $navbar-border-radius; border-radius: $navbar-border-radius;
$shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
@include box-shadow($shadow); @include box-shadow($shadow);
.navbar-nav > .open > a,
.navbar-nav > .active > a { .navbar-nav > .active > a {
@include gradient-vertical($start-color: darken($navbar-default-bg, 5%), $end-color: darken($navbar-default-bg, 2%)); @include gradient-vertical($start-color: darken($navbar-default-link-active-bg, 5%), $end-color: darken($navbar-default-link-active-bg, 2%));
@include box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); @include box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
} }
} }
@ -129,10 +131,11 @@
// Inverted navbar // Inverted navbar
.navbar-inverse { .navbar-inverse {
@include gradient-vertical($start-color: lighten($navbar-inverse-bg, 10%), $end-color: $navbar-inverse-bg); @include gradient-vertical($start-color: lighten($navbar-inverse-bg, 10%), $end-color: $navbar-inverse-bg);
@include reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered @include reset-filter; // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
.navbar-nav > .open > a,
.navbar-nav > .active > a { .navbar-nav > .active > a {
@include gradient-vertical($start-color: $navbar-inverse-bg, $end-color: lighten($navbar-inverse-bg, 2.5%)); @include gradient-vertical($start-color: $navbar-inverse-link-active-bg, $end-color: lighten($navbar-inverse-link-active-bg, 2.5%));
@include box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); @include box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
} }
@ -149,6 +152,17 @@
border-radius: 0; border-radius: 0;
} }
// Fix active state of dropdown items in collapsed mode
@media (max-width: $grid-float-breakpoint-max) {
.navbar .navbar-nav .open .dropdown-menu > .active > a {
&,
&:hover,
&:focus {
color: #fff;
@include gradient-vertical($start-color: $dropdown-link-active-bg, $end-color: darken($dropdown-link-active-bg, 5%));
}
}
}
// //
@ -175,7 +189,6 @@
.alert-danger { @include alert-styles($alert-danger-bg); } .alert-danger { @include alert-styles($alert-danger-bg); }
// //
// Progress bars // Progress bars
// -------------------------------------------------- // --------------------------------------------------
@ -200,7 +213,7 @@
// Reset the striped class because our mixins don't do multiple gradients and // Reset the striped class because our mixins don't do multiple gradients and
// the above custom styles override the new `.progress-bar-striped` in v3.2.0. // the above custom styles override the new `.progress-bar-striped` in v3.2.0.
.progress-bar-striped { .progress-bar-striped {
@include gradient-striped(); @include gradient-striped;
} }
@ -218,8 +231,11 @@
text-shadow: 0 -1px 0 darken($list-group-active-bg, 10%); text-shadow: 0 -1px 0 darken($list-group-active-bg, 10%);
@include gradient-vertical($start-color: $list-group-active-bg, $end-color: darken($list-group-active-bg, 7.5%)); @include gradient-vertical($start-color: $list-group-active-bg, $end-color: darken($list-group-active-bg, 7.5%));
border-color: darken($list-group-active-border, 7.5%); border-color: darken($list-group-active-border, 7.5%);
}
.badge {
text-shadow: none;
}
}
// //
@ -245,7 +261,6 @@
.panel-danger > .panel-heading { @include panel-heading-styles($panel-danger-heading-bg); } .panel-danger > .panel-heading { @include panel-heading-styles($panel-danger-heading-bg); }
// //
// Wells // Wells
// -------------------------------------------------- // --------------------------------------------------

View file

@ -12,11 +12,11 @@
background-color: $thumbnail-bg; background-color: $thumbnail-bg;
border: 1px solid $thumbnail-border; border: 1px solid $thumbnail-border;
border-radius: $thumbnail-border-radius; border-radius: $thumbnail-border-radius;
@include transition(all .2s ease-in-out); @include transition(border .2s ease-in-out);
> img, > img,
a > img { a > img {
@include img-responsive(); @include img-responsive;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }

View file

@ -9,7 +9,10 @@
z-index: $zindex-tooltip; z-index: $zindex-tooltip;
display: block; display: block;
visibility: visible; visibility: visible;
// Reset font and text properties given new insertion method
font-family: $font-family-base;
font-size: $font-size-small; font-size: $font-size-small;
font-weight: normal;
line-height: 1.4; line-height: 1.4;
@include opacity(0); @include opacity(0);
@ -39,6 +42,7 @@
border-color: transparent; border-color: transparent;
border-style: solid; border-style: solid;
} }
// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1
.tooltip { .tooltip {
&.top .tooltip-arrow { &.top .tooltip-arrow {
bottom: 0; bottom: 0;
@ -49,13 +53,15 @@
} }
&.top-left .tooltip-arrow { &.top-left .tooltip-arrow {
bottom: 0; bottom: 0;
left: $tooltip-arrow-width; right: $tooltip-arrow-width;
margin-bottom: -$tooltip-arrow-width;
border-width: $tooltip-arrow-width $tooltip-arrow-width 0; border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
border-top-color: $tooltip-arrow-color; border-top-color: $tooltip-arrow-color;
} }
&.top-right .tooltip-arrow { &.top-right .tooltip-arrow {
bottom: 0; bottom: 0;
right: $tooltip-arrow-width; left: $tooltip-arrow-width;
margin-bottom: -$tooltip-arrow-width;
border-width: $tooltip-arrow-width $tooltip-arrow-width 0; border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
border-top-color: $tooltip-arrow-color; border-top-color: $tooltip-arrow-color;
} }
@ -82,13 +88,15 @@
} }
&.bottom-left .tooltip-arrow { &.bottom-left .tooltip-arrow {
top: 0; top: 0;
left: $tooltip-arrow-width; right: $tooltip-arrow-width;
margin-top: -$tooltip-arrow-width;
border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
border-bottom-color: $tooltip-arrow-color; border-bottom-color: $tooltip-arrow-color;
} }
&.bottom-right .tooltip-arrow { &.bottom-right .tooltip-arrow {
top: 0; top: 0;
right: $tooltip-arrow-width; left: $tooltip-arrow-width;
margin-top: -$tooltip-arrow-width;
border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
border-bottom-color: $tooltip-arrow-color; border-bottom-color: $tooltip-arrow-color;
} }

View file

@ -80,11 +80,6 @@ small,
font-size: floor((100% * $font-size-small / $font-size-base)); font-size: floor((100% * $font-size-small / $font-size-base));
} }
// Undo browser default styling
cite {
font-style: normal;
}
mark, mark,
.mark { .mark {
background-color: $state-warning-bg; background-color: $state-warning-bg;
@ -163,15 +158,20 @@ ol {
// List options // List options
// Unstyled keeps list items block level, just removes default browser padding and list-style // [converter] extracted from `.list-unstyled` for libsass compatibility
.list-unstyled { @mixin list-unstyled {
padding-left: 0; padding-left: 0;
list-style: none; list-style: none;
} }
// [converter] extracted as `@mixin list-unstyled` for libsass compatibility
.list-unstyled {
@include list-unstyled;
}
// Inline turns list items into inline-block // Inline turns list items into inline-block
.list-inline { .list-inline {
@extend .list-unstyled; @include list-unstyled;
margin-left: -5px; margin-left: -5px;
> li { > li {
@ -204,7 +204,7 @@ dd {
.dl-horizontal { .dl-horizontal {
dd { dd {
@include clearfix(); // Clear the floated `dt` if an empty `dd` is present @include clearfix; // Clear the floated `dt` if an empty `dd` is present
} }
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
@ -213,7 +213,7 @@ dd {
width: ($dl-horizontal-offset - 20); width: ($dl-horizontal-offset - 20);
clear: left; clear: left;
text-align: right; text-align: right;
@include text-overflow(); @include text-overflow;
} }
dd { dd {
margin-left: $dl-horizontal-offset; margin-left: $dl-horizontal-offset;
@ -290,12 +290,6 @@ blockquote.pull-right {
} }
} }
// Quotes
blockquote:before,
blockquote:after {
content: "";
}
// Addresses // Addresses
address { address {
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;

View file

@ -7,10 +7,10 @@
// ------------------------- // -------------------------
.clearfix { .clearfix {
@include clearfix(); @include clearfix;
} }
.center-block { .center-block {
@include center-block(); @include center-block;
} }
.pull-right { .pull-right {
float: right !important; float: right !important;
@ -34,7 +34,7 @@
visibility: hidden; visibility: hidden;
} }
.text-hide { .text-hide {
@include text-hide(); @include text-hide;
} }
@ -53,5 +53,4 @@
.affix { .affix {
position: fixed; position: fixed;
@include translate3d(0, 0, 0);
} }

View file

@ -1,8 +1,4 @@
// When true, asset path helpers are used, otherwise regular url() is used $bootstrap-sass-asset-helper: false !default;
// When there no function is defined, `fn('')` is parsed as string that equals the right hand side
// NB: in Sass 3.3 there is a native function: function-exists(twbs-font-path)
$bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")')) !default;
// //
// Variables // Variables
// -------------------------------------------------- // --------------------------------------------------
@ -12,13 +8,14 @@ $bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")
// //
//## Gray and brand colors for use across Bootstrap. //## Gray and brand colors for use across Bootstrap.
$gray-darker: lighten(#000, 13.5%) !default; // #222 $gray-base: #000 !default;
$gray-dark: lighten(#000, 20%) !default; // #333 $gray-darker: lighten($gray-base, 13.5%) !default; // #222
$gray: lighten(#000, 33.5%) !default; // #555 $gray-dark: lighten($gray-base, 20%) !default; // #333
$gray-light: lighten(#000, 46.7%) !default; // #777 $gray: lighten($gray-base, 33.5%) !default; // #555
$gray-lighter: lighten(#000, 93.5%) !default; // #eee $gray-light: lighten($gray-base, 46.7%) !default; // #777
$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
$brand-primary: #428bca !default; $brand-primary: darken(#428bca, 6.5%) !default; // #337ab7
$brand-success: #5cb85c !default; $brand-success: #5cb85c !default;
$brand-info: #5bc0de !default; $brand-info: #5bc0de !default;
$brand-warning: #f0ad4e !default; $brand-warning: #f0ad4e !default;
@ -38,6 +35,8 @@ $text-color: $gray-dark !default;
$link-color: $brand-primary !default; $link-color: $brand-primary !default;
//** Link hover color set via `darken()` function. //** Link hover color set via `darken()` function.
$link-hover-color: darken($link-color, 15%) !default; $link-hover-color: darken($link-color, 15%) !default;
//** Link hover decoration.
$link-hover-decoration: underline !default;
//== Typography //== Typography
@ -79,7 +78,8 @@ $headings-color: inherit !default;
//** Load fonts from this directory. //** Load fonts from this directory.
// [converter] Asset helpers such as Sprockets and Node.js Mincer do not resolve relative paths // [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
$icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/") !default; $icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/") !default;
//** File name for all font files. //** File name for all font files.
@ -104,7 +104,7 @@ $padding-small-horizontal: 10px !default;
$padding-xs-vertical: 1px !default; $padding-xs-vertical: 1px !default;
$padding-xs-horizontal: 5px !default; $padding-xs-horizontal: 5px !default;
$line-height-large: 1.33 !default; $line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome
$line-height-small: 1.5 !default; $line-height-small: 1.5 !default;
$border-radius-base: 4px !default; $border-radius-base: 4px !default;
@ -189,13 +189,21 @@ $input-bg-disabled: $gray-lighter !default;
$input-color: $gray !default; $input-color: $gray !default;
//** `<input>` border color //** `<input>` border color
$input-border: #ccc !default; $input-border: #ccc !default;
//** `<input>` border radius
// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
//** Default `.form-control` border radius
// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
$input-border-radius: $border-radius-base !default; $input-border-radius: $border-radius-base !default;
//** Large `.form-control` border radius
$input-border-radius-large: $border-radius-large !default;
//** Small `.form-control` border radius
$input-border-radius-small: $border-radius-small !default;
//** Border color for inputs on focus //** Border color for inputs on focus
$input-border-focus: #66afe9 !default; $input-border-focus: #66afe9 !default;
//** Placeholder text color //** Placeholder text color
$input-color-placeholder: $gray-light !default; $input-color-placeholder: #999 !default;
//** Default `.form-control` height //** Default `.form-control` height
$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default; $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
@ -212,6 +220,9 @@ $input-group-addon-bg: $gray-lighter !default;
//** Border color for textual input addons //** Border color for textual input addons
$input-group-addon-border-color: $input-border !default; $input-group-addon-border-color: $input-border !default;
//** Disabled cursor for form controls and buttons.
$cursor-disabled: not-allowed !default;
//== Dropdowns //== Dropdowns
// //
@ -260,8 +271,7 @@ $zindex-dropdown: 1000 !default;
$zindex-popover: 1060 !default; $zindex-popover: 1060 !default;
$zindex-tooltip: 1070 !default; $zindex-tooltip: 1070 !default;
$zindex-navbar-fixed: 1030 !default; $zindex-navbar-fixed: 1030 !default;
$zindex-modal-background: 1040 !default; $zindex-modal: 1040 !default;
$zindex-modal: 1050 !default;
//== Media queries breakpoints //== Media queries breakpoints
@ -323,17 +333,17 @@ $grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
//## Define the maximum width of `.container` for different screen sizes. //## Define the maximum width of `.container` for different screen sizes.
// Small screen / tablet // Small screen / tablet
$container-tablet: ((720px + $grid-gutter-width)) !default; $container-tablet: (720px + $grid-gutter-width) !default;
//** For `$screen-sm-min` and up. //** For `$screen-sm-min` and up.
$container-sm: $container-tablet !default; $container-sm: $container-tablet !default;
// Medium screen / desktop // Medium screen / desktop
$container-desktop: ((940px + $grid-gutter-width)) !default; $container-desktop: (940px + $grid-gutter-width) !default;
//** For `$screen-md-min` and up. //** For `$screen-md-min` and up.
$container-md: $container-desktop !default; $container-md: $container-desktop !default;
// Large screen / wide desktop // Large screen / wide desktop
$container-large-desktop: ((1140px + $grid-gutter-width)) !default; $container-large-desktop: (1140px + $grid-gutter-width) !default;
//** For `$screen-lg-min` and up. //** For `$screen-lg-min` and up.
$container-lg: $container-large-desktop !default; $container-lg: $container-large-desktop !default;
@ -376,12 +386,12 @@ $navbar-default-toggle-border-color: #ddd !default;
// Inverted navbar // Inverted navbar
// Reset inverted navbar basics // Reset inverted navbar basics
$navbar-inverse-color: $gray-light !default; $navbar-inverse-color: lighten($gray-light, 15%) !default;
$navbar-inverse-bg: #222 !default; $navbar-inverse-bg: #222 !default;
$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default; $navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;
// Inverted navbar links // Inverted navbar links
$navbar-inverse-link-color: $gray-light !default; $navbar-inverse-link-color: lighten($gray-light, 15%) !default;
$navbar-inverse-link-hover-color: #fff !default; $navbar-inverse-link-hover-color: #fff !default;
$navbar-inverse-link-hover-bg: transparent !default; $navbar-inverse-link-hover-bg: transparent !default;
$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default; $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;
@ -411,8 +421,6 @@ $nav-link-hover-bg: $gray-lighter !default;
$nav-disabled-link-color: $gray-light !default; $nav-disabled-link-color: $gray-light !default;
$nav-disabled-link-hover-color: $gray-light !default; $nav-disabled-link-hover-color: $gray-light !default;
$nav-open-link-hover-color: #fff !default;
//== Tabs //== Tabs
$nav-tabs-border-color: #ddd !default; $nav-tabs-border-color: #ddd !default;
@ -537,7 +545,7 @@ $popover-title-bg: darken($popover-bg, 3%) !default;
//** Popover arrow width //** Popover arrow width
$popover-arrow-width: 10px !default; $popover-arrow-width: 10px !default;
//** Popover arrow color //** Popover arrow color
$popover-arrow-color: #fff !default; $popover-arrow-color: $popover-bg !default;
//** Popover outer arrow width //** Popover outer arrow width
$popover-arrow-outer-width: ($popover-arrow-width + 1) !default; $popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
@ -636,6 +644,8 @@ $alert-danger-border: $state-danger-border !default;
$progress-bg: #f5f5f5 !default; $progress-bg: #f5f5f5 !default;
//** Progress bar text color //** Progress bar text color
$progress-bar-color: #fff !default; $progress-bar-color: #fff !default;
//** Variable for setting rounded corners on progress bar.
$progress-border-radius: $border-radius-base !default;
//** Default progress bar color //** Default progress bar color
$progress-bar-bg: $brand-primary !default; $progress-bar-bg: $brand-primary !default;
@ -850,5 +860,3 @@ $page-header-border-color: $gray-lighter !default;
$dl-horizontal-offset: $component-offset-horizontal !default; $dl-horizontal-offset: $component-offset-horizontal !default;
//** Horizontal line color. //** Horizontal line color.
$hr-border: $gray-lighter !default; $hr-border: $gray-lighter !default;

View file

@ -10,6 +10,7 @@
&:hover, &:hover,
&:focus, &:focus,
&.focus,
&:active, &:active,
&.active, &.active,
.open > &.dropdown-toggle { .open > &.dropdown-toggle {
@ -28,6 +29,7 @@
&, &,
&:hover, &:hover,
&:focus, &:focus,
&.focus,
&:active, &:active,
&.active { &.active {
background-color: $background; background-color: $background;

View file

@ -10,7 +10,11 @@
.radio, .radio,
.checkbox, .checkbox,
.radio-inline, .radio-inline,
.checkbox-inline { .checkbox-inline,
&.radio label,
&.checkbox label,
&.radio-inline label,
&.checkbox-inline label {
color: $text-color; color: $text-color;
} }
// Set the border and box shadow on specific inputs to match // Set the border and box shadow on specific inputs to match

View file

@ -8,14 +8,14 @@
margin-left: auto; margin-left: auto;
padding-left: ($gutter / 2); padding-left: ($gutter / 2);
padding-right: ($gutter / 2); padding-right: ($gutter / 2);
@include clearfix(); @include clearfix;
} }
// Creates a wrapper for a series of columns // Creates a wrapper for a series of columns
@mixin make-row($gutter: $grid-gutter-width) { @mixin make-row($gutter: $grid-gutter-width) {
margin-left: ($gutter / -2); margin-left: ($gutter / -2);
margin-right: ($gutter / -2); margin-right: ($gutter / -2);
@include clearfix(); @include clearfix;
} }
// Generate the extra small columns // Generate the extra small columns

View file

@ -8,7 +8,7 @@
// Deprecated as of v3.0.1 (will be removed in v4) // Deprecated as of v3.0.1 (will be removed in v4)
@mixin hide-text() { @mixin hide-text() {
font: #{0/0} a; font: 0/0 a;
color: transparent; color: transparent;
text-shadow: none; text-shadow: none;
background-color: transparent; background-color: transparent;
@ -17,5 +17,5 @@
// New mixin to use as of v3.0.1 // New mixin to use as of v3.0.1
@mixin text-hide() { @mixin text-hide() {
@include hide-text(); @include hide-text;
} }

View file

@ -8,7 +8,6 @@
// Keep images from scaling beyond the width of their parents. // Keep images from scaling beyond the width of their parents.
@mixin img-responsive($display: block) { @mixin img-responsive($display: block) {
display: $display; display: $display;
width: 100% \9; // Force IE10 and below to size SVG images correctly
max-width: 100%; // Part 1: Set a maximum relative to the parent max-width: 100%; // Part 1: Set a maximum relative to the parent
height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
} }

View file

@ -4,5 +4,5 @@
opacity: $opacity; opacity: $opacity;
// IE8 filter // IE8 filter
$opacity-ie: ($opacity * 100); $opacity-ie: ($opacity * 100);
filter: #{alpha(opacity=$opacity-ie)}; filter: alpha(opacity=$opacity-ie);
} }

View file

@ -5,6 +5,6 @@
// Deprecated parent class requirement as of v3.2.0 // Deprecated parent class requirement as of v3.2.0
.progress-striped & { .progress-striped & {
@include gradient-striped(); @include gradient-striped;
} }
} }

View file

@ -99,8 +99,11 @@
// Placeholder text // Placeholder text
@mixin placeholder($color: $input-color-placeholder) { @mixin placeholder($color: $input-color-placeholder) {
&::-moz-placeholder { color: $color; // Firefox // Firefox
opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 &::-moz-placeholder {
color: $color;
opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
}
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+ &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
&::-webkit-input-placeholder { color: $color; } // Safari and Chrome &::-webkit-input-placeholder { color: $color; } // Safari and Chrome
} }

File diff suppressed because one or more lines are too long

7
js/bootstrap.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -1,17 +1,26 @@
!function(a){a.fn.appear=function(h,d){var c=a.extend({data:void 0,one:!0,accX:0,accY:0},d);return this.each(function(){var e=a(this);if(e.appeared=!1,!h)return void e.trigger("appear",c.data);var k=a(window),f=function(){if(!e.is(":visible"))return void(e.appeared=!1);var f=k.scrollLeft(),b=k.scrollTop(),a=e.offset(),h=a.left,a=a.top,d=c.accX,g=c.accY,E=e.height(),F=k.height(),G=e.width(),z=k.width();b>a+E+g||a>b+F+g||f>h+G+d||h>f+z+d?e.appeared=!1:e.appeared||e.trigger("appear",c.data)},b=function(){if(e.appeared= !function(d){d.fn.appear=function(h,a){var c=d.extend({data:void 0,one:!0,accX:0,accY:0},a);return this.each(function(){var a=d(this);if(a.appeared=!1,!h)return void a.trigger("appear",c.data);var b=d(window),e=function(){if(!a.is(":visible"))return void(a.appeared=!1);var g=b.scrollLeft(),f=b.scrollTop(),d=a.offset(),e=d.left,d=d.top,h=c.accX,H=c.accY,w=a.height(),I=b.height(),J=a.width(),B=b.width();f>d+w+H||d>f+I+H||g>e+J+h||e>g+B+h?a.appeared=!1:a.appeared||a.trigger("appear",c.data)},g=function(){if(a.appeared=
!0,c.one){k.unbind("scroll",f);var b=a.inArray(f,a.fn.appear.checks);0>b||a.fn.appear.checks.splice(b,1)}h.apply(this,arguments)};c.one?e.one("appear",c.data,b):e.bind("appear",c.data,b);k.scroll(f);a.fn.appear.checks.push(f);f()})};a.extend(a.fn.appear,{checks:[],timeout:null,checkAll:function(){var h=a.fn.appear.checks.length;if(0<h)for(;h--;)a.fn.appear.checks[h]()},run:function(){a.fn.appear.timeout&&clearTimeout(a.fn.appear.timeout);a.fn.appear.timeout=setTimeout(a.fn.appear.checkAll,20)}}); !0,c.one){b.unbind("scroll",e);var g=d.inArray(e,d.fn.appear.checks);0>g||d.fn.appear.checks.splice(g,1)}h.apply(this,arguments)};c.one?a.one("appear",c.data,g):a.bind("appear",c.data,g);b.scroll(e);d.fn.appear.checks.push(e);e()})};d.extend(d.fn.appear,{checks:[],timeout:null,checkAll:function(){var h=d.fn.appear.checks.length;if(0<h)for(;h--;)d.fn.appear.checks[h]()},run:function(){d.fn.appear.timeout&&clearTimeout(d.fn.appear.timeout);d.fn.appear.timeout=setTimeout(d.fn.appear.checkAll,20)}});
a.each("append prepend after before attr removeAttr addClass removeClass toggleClass remove css show hide".split(" "),function(h,d){var c=a.fn[d];c&&(a.fn[d]=function(){var e=c.apply(this,arguments);return a.fn.appear.run(),e})})}(jQuery); d.each("append prepend after before attr removeAttr addClass removeClass toggleClass remove css show hide".split(" "),function(h,a){var c=d.fn[a];c&&(d.fn[a]=function(){var a=c.apply(this,arguments);return d.fn.appear.run(),a})})}(jQuery);
!function(a){a.fn.countTo=function(h){return h=h||{},a(this).each(function(){function d(k){k=c.formatter.call(f,k,c);b.text(k)}var c=a.extend({},a.fn.countTo.defaults,{from:a(this).data("from"),to:a(this).data("to"),speed:a(this).data("speed"),refreshInterval:a(this).data("refresh-interval"),decimals:a(this).data("decimals")},h),e=Math.ceil(c.speed/c.refreshInterval),k=(c.to-c.from)/e,f=this,b=a(this),y=0,n=c.from,l=b.data("countTo")||{};b.data("countTo",l);l.interval&&clearInterval(l.interval);l.interval= !function(d){d.fn.countTo=function(h){return h=h||{},d(this).each(function(){function a(b){b=c.formatter.call(e,b,c);g.text(b)}var c=d.extend({},d.fn.countTo.defaults,{from:d(this).data("from"),to:d(this).data("to"),speed:d(this).data("speed"),refreshInterval:d(this).data("refresh-interval"),decimals:d(this).data("decimals")},h),l=Math.ceil(c.speed/c.refreshInterval),b=(c.to-c.from)/l,e=this,g=d(this),n=0,f=c.from,t=g.data("countTo")||{};g.data("countTo",t);t.interval&&clearInterval(t.interval);t.interval=
setInterval(function(){n+=k;y++;d(n);"function"==typeof c.onUpdate&&c.onUpdate.call(f,n);e>y||(b.removeData("countTo"),clearInterval(l.interval),n=c.to,"function"==typeof c.onComplete&&c.onComplete.call(f,n))},c.refreshInterval);d(n)})};a.fn.countTo.defaults={from:0,to:0,speed:1E3,refreshInterval:100,decimals:0,formatter:function(a,d){return a.toFixed(d.decimals)},onUpdate:null,onComplete:null}}(jQuery); setInterval(function(){f+=b;n++;a(f);"function"==typeof c.onUpdate&&c.onUpdate.call(e,f);l>n||(g.removeData("countTo"),clearInterval(t.interval),f=c.to,"function"==typeof c.onComplete&&c.onComplete.call(e,f))},c.refreshInterval);a(f)})};d.fn.countTo.defaults={from:0,to:0,speed:1E3,refreshInterval:100,decimals:0,formatter:function(d,a){return d.toFixed(a.decimals)},onUpdate:null,onComplete:null}}(jQuery);
(function(){var a,h;a=this.jQuery||window.jQuery;h=a(window);a.fn.stick_in_parent=function(d){var c,e,k,f,b,y,n,l,p,r;null==d&&(d={});n=d.sticky_class;e=d.inner_scrolling;y=d.recalc_every;b=d.parent;f=d.offset_top;k=d.spacer;c=d.bottoming;null==f&&(f=0);null==b&&(b=void 0);null==e&&(e=!0);null==n&&(n="is_stuck");null==c&&(c=!0);l=function(g,d,l,p,z,w,v){var x,r,u,C,q,s,D,A,B,t,m;if(!g.data("sticky_kit")){g.data("sticky_kit",!0);s=g.parent();null!=b&&(s=s.closest(b));if(!s.length)throw"failed to find stick parent"; (function(){var d,h;d=this.jQuery||window.jQuery;h=d(window);d.fn.stick_in_parent=function(a){var c,l,b,e,g,n,f,t,v,k;null==a&&(a={});f=a.sticky_class;l=a.inner_scrolling;n=a.recalc_every;g=a.parent;e=a.offset_top;b=a.spacer;c=a.bottoming;null==e&&(e=0);null==g&&(g=void 0);null==l&&(l=!0);null==f&&(f="is_stuck");null==c&&(c=!0);t=function(a,t,v,k,B,z,y,F){var A,G,x,D,p,q,E,u,C,r,m;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);q=a.parent();null!=g&&(q=q.closest(g));if(!q.length)throw"failed to find stick parent";
x=u=!1;(t=null!=k?k&&g.closest(k):a("<div />"))&&t.css("position",g.css("position"));D=function(){var b,a,e;b=parseInt(s.css("border-top-width"),10);a=parseInt(s.css("padding-top"),10);d=parseInt(s.css("padding-bottom"),10);l=s.offset().top+b+a;p=s.height();u&&(x=u=!1,null==k&&(g.insertAfter(t),t.detach()),g.css({position:"",top:"",width:"",bottom:""}).removeClass(n),e=!0);z=g.offset().top-parseInt(g.css("margin-top"),10)-f;w=g.outerHeight(!0);v=g.css("float");t&&t.css({width:g.outerWidth(!0),height:w, A=x=!1;(r=null!=b?b&&a.closest(b):d("<div />"))&&r.css("position",a.css("position"));E=function(){var g,c,d;if(!F&&(g=parseInt(q.css("border-top-width"),10),c=parseInt(q.css("padding-top"),10),t=parseInt(q.css("padding-bottom"),10),v=q.offset().top+g+c,k=q.height(),x&&(A=x=!1,null==b&&(a.insertAfter(r),r.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(f),d=!0),B=a.offset().top-parseInt(a.css("margin-top"),10)-e,z=a.outerHeight(!0),y=a.css("float"),r&&r.css({width:a.outerWidth(!0),
display:g.css("display"),"vertical-align":g.css("vertical-align"),"float":v});if(e)return m()};D();if(w!==p)return C=void 0,q=f,B=y,m=function(){var b,a,m,r;null!=B&&(--B,0>=B&&(B=y,D()));m=h.scrollTop();null!=C&&(a=m-C);C=m;u?(c&&(r=m+w+q>p+l,x&&!r&&(x=!1,g.css({position:"fixed",bottom:"",top:q}).trigger("sticky_kit:unbottom"))),m<z&&(u=!1,q=f,null==k&&("left"!==v&&"right"!==v||g.insertAfter(t),t.detach()),b={position:"",width:"",top:""},g.css(b).removeClass(n).trigger("sticky_kit:unstick")),e&& height:z,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":y}),d))return m()};E();if(z!==k)return D=void 0,p=e,C=n,m=function(){var g,d,m,u;if(!F&&(null!=C&&(--C,0>=C&&(C=n,E())),m=h.scrollTop(),null!=D&&(d=m-D),D=m,x?(c&&(u=m+z+p>k+v,A&&!u&&(A=!1,a.css({position:"fixed",bottom:"",top:p}).trigger("sticky_kit:unbottom"))),m<B&&(x=!1,p=e,null==b&&("left"!==y&&"right"!==y||a.insertAfter(r),r.detach()),g={position:"",width:"",top:""},a.css(g).removeClass(f).trigger("sticky_kit:unstick")),
(b=h.height(),w>b&&!x&&(q-=a,q=Math.max(b-w,q),q=Math.min(f,q),u&&g.css({top:q+"px"})))):m>z&&(u=!0,b={position:"fixed",top:q},b.width="border-box"===g.css("box-sizing")?g.outerWidth()+"px":g.width()+"px",g.css(b).addClass(n),null==k&&(g.after(t),"left"!==v&&"right"!==v||t.append(g)),g.trigger("sticky_kit:stick"));if(u&&c&&(null==r&&(r=m+w+q>p+l),!x&&r))return x=!0,"static"===s.css("position")&&s.css({position:"relative"}),g.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")}, l&&(g=h.height(),z+e>g&&!A&&(p-=d,p=Math.max(g-z,p),p=Math.min(e,p),x&&a.css({top:p+"px"})))):m>B&&(x=!0,g={position:"fixed",top:p},g.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(g).addClass(f),null==b&&(a.after(r),"left"!==y&&"right"!==y||r.append(a)),a.trigger("sticky_kit:stick")),x&&c&&(null==u&&(u=m+z+p>k+v),!A&&u)))return A=!0,"static"===q.css("position")&&q.css({position:"relative"}),a.css({position:"absolute",bottom:t,top:"auto"}).trigger("sticky_kit:bottom")},
A=function(){D();return m()},r=function(){h.off("touchmove",m);h.off("scroll",m);h.off("resize",A);a(document.body).off("sticky_kit:recalc",A);g.off("sticky_kit:detach",r);g.removeData("sticky_kit");g.css({position:"",bottom:"",top:""});s.position("position","");if(u)return null==k&&("left"!==v&&"right"!==v||g.insertAfter(t),t.remove()),g.removeClass(n)},h.on("touchmove",m),h.on("scroll",m),h.on("resize",A),a(document.body).on("sticky_kit:recalc",A),g.on("sticky_kit:detach",r),setTimeout(m,0)}};p= u=function(){E();return m()},G=function(){F=!0;h.off("touchmove",m);h.off("scroll",m);h.off("resize",u);d(document.body).off("sticky_kit:recalc",u);a.off("sticky_kit:detach",G);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});q.position("position","");if(x)return null==b&&("left"!==y&&"right"!==y||a.insertAfter(r),r.remove()),a.removeClass(f)},h.on("touchmove",m),h.on("scroll",m),h.on("resize",u),d(document.body).on("sticky_kit:recalc",u),a.on("sticky_kit:detach",G),setTimeout(m,
0;for(r=this.length;p<r;p++)d=this[p],l(a(d));return this}}).call(this); 0)}};v=0;for(k=this.length;v<k;v++)a=this[v],t(d(a));return this}}).call(this);
!function(a){function h(k){var a="",b;for(b in k)k.hasOwnProperty(b)&&(a+=b+":"+k[b]+";");return a}var d=d||{},c=document.querySelectorAll.bind(document),e={duration:500,show:function(a){if(2===a.button)return!1;var f=document.createElement("div");f.className="waves-ripple";this.appendChild(f);var b,c,d,l={top:0,left:0};b=this&&this.ownerDocument;b=(c=b.documentElement,"undefined"!=typeof this.getBoundingClientRect&&(l=this.getBoundingClientRect()),d=null!==b&&b===b.window?b:9===b.nodeType&&b.defaultView, !function(d){var h=function(a,c){this.el=d(a);this.options=d.extend({},d.fn.typed.defaults,c);this.isInput=this.el.is("input");this.attr=this.options.attr;this.showCursor=this.isInput?!1:this.options.showCursor;this.elContent=this.attr?this.el.attr(this.attr):this.el.text();this.contentType=this.options.contentType;this.typeSpeed=this.options.typeSpeed;this.startDelay=this.options.startDelay;this.backSpeed=this.options.backSpeed;this.backDelay=this.options.backDelay;this.strings=this.options.strings;
{top:l.top+d.pageYOffset-c.clientTop,left:l.left+d.pageXOffset-c.clientLeft});d=a.pageY-b.top-45;l=a.pageX-b.left-45;c="scale("+this.clientWidth/100*2.5+")";"touches"in a&&(d=a.touches[0].pageY-b.top-45,l=a.touches[0].pageX-b.left-45);f.setAttribute("data-hold",Date.now());f.setAttribute("data-scale",c);f.setAttribute("data-x",l);f.setAttribute("data-y",d);a={top:d+"px",left:l+"px"};f.className+=" waves-notransition";f.setAttribute("style",h(a));f.className=f.className.replace("waves-notransition", this.stopNum=this.arrayPos=this.strPos=0;this.loop=this.options.loop;this.loopCount=this.options.loopCount;this.curLoop=0;this.stop=!1;this.cursorChar=this.options.cursorChar;this.build()};h.prototype={constructor:h,init:function(){var a=this;a.timeout=setTimeout(function(){a.typewrite(a.strings[a.arrayPos],a.strPos)},a.startDelay)},build:function(){!0===this.showCursor&&(this.cursor=d('<span class="typed-cursor">'+this.cursorChar+"</span>"),this.el.after(this.cursor));this.init()},typewrite:function(a,
"");a["-webkit-transform"]=c;a["-moz-transform"]=c;a["-ms-transform"]=c;a["-o-transform"]=c;a.transform=c;a.opacity="1";a["-webkit-transition-duration"]=e.duration+"ms";a["-moz-transition-duration"]=e.duration+"ms";a["-o-transition-duration"]=e.duration+"ms";a["transition-duration"]=e.duration+"ms";f.setAttribute("style",h(a))},hide:function(){for(var a=this,f=(1.4*a.clientWidth,null),b=a.children.length,c=0;b>c;c++)-1===a.children[c].className.indexOf("waves-ripple")||(f=a.children[c]);if(!f)return!1; c){if(!0!==this.stop){var d=Math.round(70*Math.random())+this.typeSpeed,b=this;b.timeout=setTimeout(function(){var d=0,g=a.substr(c);if("^"===g.charAt(0)){var n=1;/^\^\d+/.test(g)&&(g=/\d+/.exec(g)[0],n+=g.length,d=parseInt(g));a=a.substring(0,c)+a.substring(c+n)}if("html"===b.contentType&&(g=a.substr(c).charAt(0),"<"===g||"&"===g)){for(var f=n="",f="<"===g?">":";";a.substr(c).charAt(0)!==f;)n+=a.substr(c).charAt(0),c++;c++;n+=f}b.timeout=setTimeout(function(){if(c===a.length){if(b.options.onStringTyped(b.arrayPos),
var d=f.getAttribute("data-x"),l=f.getAttribute("data-y"),p=f.getAttribute("data-scale"),b=500-(Date.now()-Number(f.getAttribute("data-hold")));0>b&&(b=0);setTimeout(function(){f.setAttribute("style",h({top:l+"px",left:d+"px",opacity:"0","-webkit-transition-duration":e.duration+"ms","-moz-transition-duration":e.duration+"ms","-o-transition-duration":e.duration+"ms","transition-duration":e.duration+"ms","-webkit-transform":p,"-moz-transform":p,"-ms-transform":p,"-o-transform":p,transform:p}));setTimeout(function(){try{a.removeChild(f)}catch(b){return!1}}, b.arrayPos!==b.strings.length-1||(b.options.callback(),b.curLoop++,!1!==b.loop&&b.curLoop!==b.loopCount))b.timeout=setTimeout(function(){b.backspace(a,c)},b.backDelay)}else{0===c&&b.options.preStringTyped(b.arrayPos);var g=a.substr(0,c+1);b.attr?b.el.attr(b.attr,g):b.isInput?b.el.val(g):"html"===b.contentType?b.el.html(g):b.el.text(g);c++;b.typewrite(a,c)}},d)},d)}},backspace:function(a,d){if(!0!==this.stop){var h=Math.round(70*Math.random())+this.backSpeed,b=this;b.timeout=setTimeout(function(){if("html"===
e.duration)},b)},wrapInput:function(a){for(var f=0;f<a.length;f++){var b=a[f];if("input"===b.tagName.toLowerCase()){var c=b.parentNode;if("i"===c.tagName.toLowerCase()&&-1!==c.className.indexOf("waves-effect"))return!1;var e=document.createElement("i");e.className=b.className+" waves-input-wrapper";var d=b.getAttribute("style"),h="width:"+b.offsetWidth+"px;height:"+b.clientHeight+"px;";d||(d="");e.setAttribute("style",h+d);b.className="waves-button-input";b.removeAttribute("style");c.replaceChild(e, b.contentType&&">"===a.substr(d).charAt(0)){for(var e="";"<"!==a.substr(d).charAt(0);)e-=a.substr(d).charAt(0),d--;d--}e=a.substr(0,d);b.attr?b.el.attr(b.attr,e):b.isInput?b.el.val(e):"html"===b.contentType?b.el.html(e):b.el.text(e);d>b.stopNum?(d--,b.backspace(a,d)):d<=b.stopNum&&(b.arrayPos++,b.arrayPos===b.strings.length?(b.arrayPos=0,b.init()):b.typewrite(b.strings[b.arrayPos],d))},h)}},reset:function(){clearInterval(this.timeout);var a=this.el.attr("id");this.el.after('<span id="'+a+'"/>');this.el.remove();
b);e.appendChild(b)}}}};d.displayEffect=function(d){d=d||{};"duration"in d&&(e.duration=d.duration);e.wrapInput(c(".waves-effect"));Array.prototype.forEach.call(c(".waves-effect"),function(c){"ontouchstart"in a?(c.addEventListener("touchstart",e.show,!1),c.addEventListener("touchend",e.hide,!1),c.addEventListener("touchcancel",e.hide,!1)):(c.addEventListener("mousedown",e.show,!1),c.addEventListener("mouseup",e.hide,!1),c.addEventListener("mouseleave",e.hide,!1))})};a.Waves=d}(window); "undefined"!=typeof this.cursor&&this.cursor.remove();this.options.resetCallback()}};d.fn.typed=function(a){return this.each(function(){var c=d(this),l=c.data("typed"),b="object"==typeof a&&a;l||c.data("typed",l=new h(this,b));"string"==typeof a&&l[a]()})};d.fn.typed.defaults={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],typeSpeed:0,startDelay:0,backSpeed:0,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",
callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window.jQuery);
!function(d){function h(a){var b="",d;for(d in a)a.hasOwnProperty(d)&&(b+=d+":"+a[d]+";");return b}function a(a){var c;if(!1===e.allowEvent(a))c=null;else{c=null;for(var f=a.target||a.srcElement;null!==f.parentElement;){if(!(f instanceof SVGElement||-1===f.className.indexOf("waves-effect"))){c=f;break}if(f.classList.contains("waves-effect")){c=f;break}f=f.parentElement}}null!==c&&(b.show(a,c),"ontouchstart"in d&&(c.addEventListener("touchend",b.hide,!1),c.addEventListener("touchcancel",b.hide,!1)),
c.addEventListener("mouseup",b.hide,!1),c.addEventListener("mouseleave",b.hide,!1))}var c=c||{},l=document.querySelectorAll.bind(document),b={duration:750,show:function(a,d){var f,c;if(2===a.button)return!1;var e=d||this,k=document.createElement("div");k.className="waves-ripple";e.appendChild(k);var l={top:0,left:0};f=e&&e.ownerDocument;c=f.documentElement;"undefined"!=typeof e.getBoundingClientRect&&(l=e.getBoundingClientRect());var w;w=null!==f&&f===f.window?f:9===f.nodeType&&f.defaultView;f=l.top+
w.pageYOffset-c.clientTop;c=l.left+w.pageXOffset-c.clientLeft;l=a.pageY-f;w=a.pageX-c;e="scale("+e.clientWidth/100*3+")";"touches"in a&&(l=a.touches[0].pageY-f,w=a.touches[0].pageX-c);k.setAttribute("data-hold",Date.now());k.setAttribute("data-scale",e);k.setAttribute("data-x",w);k.setAttribute("data-y",l);f={top:l+"px",left:w+"px"};k.className+=" waves-notransition";k.setAttribute("style",h(f));k.className=k.className.replace("waves-notransition","");f["-webkit-transform"]=e;f["-moz-transform"]=
e;f["-ms-transform"]=e;f["-o-transform"]=e;f.transform=e;f.opacity="1";f["-webkit-transition-duration"]=b.duration+"ms";f["-moz-transition-duration"]=b.duration+"ms";f["-o-transition-duration"]=b.duration+"ms";f["transition-duration"]=b.duration+"ms";k.setAttribute("style",h(f))},hide:function(a){e.touchup(a);var d=this,c=(1.4*d.clientWidth,null);a=d.getElementsByClassName("waves-ripple");if(!(0<a.length))return!1;var c=a[a.length-1],l=c.getAttribute("data-x"),v=c.getAttribute("data-y"),k=c.getAttribute("data-scale");
a=350-(Date.now()-Number(c.getAttribute("data-hold")));0>a&&(a=0);setTimeout(function(){c.setAttribute("style",h({top:v+"px",left:l+"px",opacity:"0","-webkit-transition-duration":b.duration+"ms","-moz-transition-duration":b.duration+"ms","-o-transition-duration":b.duration+"ms","transition-duration":b.duration+"ms","-webkit-transform":k,"-moz-transform":k,"-ms-transform":k,"-o-transform":k,transform:k}));setTimeout(function(){try{d.removeChild(c)}catch(a){return!1}},b.duration)},a)},wrapInput:function(a){for(var d=
0;d<a.length;d++){var b=a[d];if("input"===b.tagName.toLowerCase()){var c=b.parentNode;if("i"!==c.tagName.toLowerCase()||-1===c.className.indexOf("waves-effect")){var e=document.createElement("i");e.className=b.className+" waves-input-wrapper";var h=b.getAttribute("style");h||(h="");e.setAttribute("style",h);b.className="waves-button-input";b.removeAttribute("style");c.replaceChild(e,b);e.appendChild(b)}}}}},e={touches:0,allowEvent:function(a){var b=!0;return"touchstart"===a.type?e.touches+=1:"touchend"===
a.type||"touchcancel"===a.type?setTimeout(function(){0<e.touches&&--e.touches},500):"mousedown"===a.type&&0<e.touches&&(b=!1),b},touchup:function(a){e.allowEvent(a)}};c.displayEffect=function(c){c=c||{};"duration"in c&&(b.duration=c.duration);b.wrapInput(l(".waves-effect"));"ontouchstart"in d&&document.body.addEventListener("touchstart",a,!1);document.body.addEventListener("mousedown",a,!1)};c.attach=function(c){"input"===c.tagName.toLowerCase()&&(b.wrapInput([c]),c=c.parentElement);"ontouchstart"in
d&&c.addEventListener("touchstart",a,!1);c.addEventListener("mousedown",a,!1)};d.Waves=c}(window);

View file

@ -572,7 +572,7 @@
$('#find-way h3').removeClass('fadeOutDown').addClass('fadeInUp'); $('#find-way h3').removeClass('fadeOutDown').addClass('fadeInUp');
}); });
if (autoDirectionEnabled) { if (typeof autoDirectionEnabled !== 'undefined' && autoDirectionEnabled == true) {
calcRouteFromMyLocation(); calcRouteFromMyLocation();
} }
} }

24
js/scripts.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -1,9 +1,9 @@
/* /*
Sticky-kit v1.1.0 | WTFPL | Leaf Corcoran 2014 | http://leafo.net Sticky-kit v1.1.1 | WTFPL | Leaf Corcoran 2014 | http://leafo.net
*/ */
(function(){var k,e;k=this.jQuery||window.jQuery;e=k(window);k.fn.stick_in_parent=function(d){var w,y,n,r,h,C,s,F,p,G;null==d&&(d={});s=d.sticky_class;y=d.inner_scrolling;C=d.recalc_every;h=d.parent;r=d.offset_top;n=d.spacer;w=d.bottoming;null==r&&(r=0);null==h&&(h=void 0);null==y&&(y=!0);null==s&&(s="is_stuck");null==w&&(w=!0);F=function(a,d,p,z,D,t,q){var u,E,m,A,c,f,B,x,v,g,b;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);f=a.parent();null!=h&&(f=f.closest(h));if(!f.length)throw"failed to find stick parent"; (function(){var k,e;k=this.jQuery||window.jQuery;e=k(window);k.fn.stick_in_parent=function(d){var v,y,n,p,h,C,s,G,q,H;null==d&&(d={});s=d.sticky_class;y=d.inner_scrolling;C=d.recalc_every;h=d.parent;p=d.offset_top;n=d.spacer;v=d.bottoming;null==p&&(p=0);null==h&&(h=void 0);null==y&&(y=!0);null==s&&(s="is_stuck");null==v&&(v=!0);G=function(a,d,q,z,D,t,r,E){var u,F,m,A,c,f,B,w,x,g,b;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);f=a.parent();null!=h&&(f=f.closest(h));if(!f.length)throw"failed to find stick parent";
u=m=!1;(g=null!=n?n&&a.closest(n):k("<div />"))&&g.css("position",a.css("position"));B=function(){var c,e,l;c=parseInt(f.css("border-top-width"),10);e=parseInt(f.css("padding-top"),10);d=parseInt(f.css("padding-bottom"),10);p=f.offset().top+c+e;z=f.height();m&&(u=m=!1,null==n&&(a.insertAfter(g),g.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(s),l=!0);D=a.offset().top-parseInt(a.css("margin-top"),10)-r;t=a.outerHeight(!0);q=a.css("float");g&&g.css({width:a.outerWidth(!0),height:t, u=m=!1;(g=null!=n?n&&a.closest(n):k("<div />"))&&g.css("position",a.css("position"));B=function(){var c,e,l;if(!E&&(c=parseInt(f.css("border-top-width"),10),e=parseInt(f.css("padding-top"),10),d=parseInt(f.css("padding-bottom"),10),q=f.offset().top+c+e,z=f.height(),m&&(u=m=!1,null==n&&(a.insertAfter(g),g.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(s),l=!0),D=a.offset().top-parseInt(a.css("margin-top"),10)-p,t=a.outerHeight(!0),r=a.css("float"),g&&g.css({width:a.outerWidth(!0),
display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":q});if(l)return b()};B();if(t!==z)return A=void 0,c=r,v=C,b=function(){var b,k,l,h;null!=v&&(v-=1,0>=v&&(v=C,B()));l=e.scrollTop();null!=A&&(k=l-A);A=l;m?(w&&(h=l+t+c>z+p,u&&!h&&(u=!1,a.css({position:"fixed",bottom:"",top:c}).trigger("sticky_kit:unbottom"))),l<D&&(m=!1,c=r,null==n&&("left"!==q&&"right"!==q||a.insertAfter(g),g.detach()),b={position:"",width:"",top:""},a.css(b).removeClass(s).trigger("sticky_kit:unstick")),y&& height:t,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":r}),l))return b()};B();if(t!==z)return A=void 0,c=p,x=C,b=function(){var b,k,l,h;if(!E&&(null!=x&&(--x,0>=x&&(x=C,B())),l=e.scrollTop(),null!=A&&(k=l-A),A=l,m?(v&&(h=l+t+c>z+q,u&&!h&&(u=!1,a.css({position:"fixed",bottom:"",top:c}).trigger("sticky_kit:unbottom"))),l<D&&(m=!1,c=p,null==n&&("left"!==r&&"right"!==r||a.insertAfter(g),g.detach()),b={position:"",width:"",top:""},a.css(b).removeClass(s).trigger("sticky_kit:unstick")),
(b=e.height(),t>b&&!u&&(c-=k,c=Math.max(b-t,c),c=Math.min(r,c),m&&a.css({top:c+"px"})))):l>D&&(m=!0,b={position:"fixed",top:c},b.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(b).addClass(s),null==n&&(a.after(g),"left"!==q&&"right"!==q||g.append(a)),a.trigger("sticky_kit:stick"));if(m&&w&&(null==h&&(h=l+t+c>z+p),!u&&h))return u=!0,"static"===f.css("position")&&f.css({position:"relative"}),a.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")}, y&&(b=e.height(),t+p>b&&!u&&(c-=k,c=Math.max(b-t,c),c=Math.min(p,c),m&&a.css({top:c+"px"})))):l>D&&(m=!0,b={position:"fixed",top:c},b.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(b).addClass(s),null==n&&(a.after(g),"left"!==r&&"right"!==r||g.append(a)),a.trigger("sticky_kit:stick")),m&&v&&(null==h&&(h=l+t+c>z+q),!u&&h)))return u=!0,"static"===f.css("position")&&f.css({position:"relative"}),a.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")},
x=function(){B();return b()},E=function(){e.off("touchmove",b);e.off("scroll",b);e.off("resize",x);k(document.body).off("sticky_kit:recalc",x);a.off("sticky_kit:detach",E);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:""});f.position("position","");if(m)return null==n&&("left"!==q&&"right"!==q||a.insertAfter(g),g.remove()),a.removeClass(s)},e.on("touchmove",b),e.on("scroll",b),e.on("resize",x),k(document.body).on("sticky_kit:recalc",x),a.on("sticky_kit:detach",E),setTimeout(b,0)}};p= w=function(){B();return b()},F=function(){E=!0;e.off("touchmove",b);e.off("scroll",b);e.off("resize",w);k(document.body).off("sticky_kit:recalc",w);a.off("sticky_kit:detach",F);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});f.position("position","");if(m)return null==n&&("left"!==r&&"right"!==r||a.insertAfter(g),g.remove()),a.removeClass(s)},e.on("touchmove",b),e.on("scroll",b),e.on("resize",w),k(document.body).on("sticky_kit:recalc",w),a.on("sticky_kit:detach",F),setTimeout(b,
0;for(G=this.length;p<G;p++)d=this[p],F(k(d));return this}}).call(this); 0)}};q=0;for(H=this.length;q<H;q++)d=this[q],G(k(d));return this}}).call(this);

View file

@ -1 +1 @@
!function(t){"use strict";var s=function(s,o){this.el=t(s),this.options=t.extend({},t.fn.typed.defaults,o),this.text=this.el.text(),this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.string=this.strings[this.arrayPos],this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=1,this.stopArray=this.loop===!1?this.strings.length-1:this.strings.length,this.build()};s.prototype={constructor:s,init:function(){var t=this;setTimeout(function(){t.typewrite(t.string,t.strPos)},t.startDelay)},build:function(){this.el.after('<span id="typed-cursor">|</span>'),this.init()},typewrite:function(t,s){var o=Math.round(70*Math.random())+this.typeSpeed,e=this;setTimeout(function(){if(e.arrayPos<e.strings.length){if("^"===t.substr(s,1)){var o=t.substr(s+1).indexOf(" "),i=t.substr(s+1,o);t=t.replace("^"+i,"")}else var i=0;setTimeout(function(){if(e.el.text(e.text+t.substr(0,s)),s>t.length&&e.arrayPos<e.stopArray){clearTimeout(o),e.options.onStringTyped();var o=setTimeout(function(){e.backspace(t,s)},e.backDelay)}else if(s++,e.typewrite(t,s),e.loop===!1&&e.arrayPos===e.stopArray&&s===t.length){var o=e.options.callback();clearTimeout(o)}},i)}else e.loop===!0&&e.loopCount===!1?(e.arrayPos=0,e.init()):e.loopCount!==!1&&e.curLoop<e.loopCount&&(e.arrayPos=0,e.curLoop=e.curLoop+1,e.init())},o)},backspace:function(t,s){var o=Math.round(70*Math.random())+this.backSpeed,e=this;setTimeout(function(){if(e.el.text(e.text+t.substr(0,s)),s>e.stopNum)s--,e.backspace(t,s);else if(s<=e.stopNum){clearTimeout(o);var o=e.arrayPos=e.arrayPos+1;e.typewrite(e.strings[e.arrayPos],s)}},o)}},t.fn.typed=function(o){return this.each(function(){var e=t(this),i=e.data("typed"),a="object"==typeof o&&o;i||e.data("typed",i=new s(this,a)),"string"==typeof o&&i[o]()})},t.fn.typed.defaults={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],typeSpeed:0,startDelay:0,backSpeed:0,backDelay:500,loop:!1,loopCount:!1,callback:function(){},onStringTyped:function(){}}}(window.jQuery); !function(t){"use strict";var s=function(s,o){this.el=t(s),this.options=t.extend({},t.fn.typed.defaults,o),this.isInput=this.el.is("input"),this.attr=this.options.attr,this.showCursor=this.isInput?!1:this.options.showCursor,this.elContent=this.attr?this.el.attr(this.attr):this.el.text(),this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.build()};s.prototype={constructor:s,init:function(){var t=this;t.timeout=setTimeout(function(){t.typewrite(t.strings[t.arrayPos],t.strPos)},t.startDelay)},build:function(){this.showCursor===!0&&(this.cursor=t('<span class="typed-cursor">'+this.cursorChar+"</span>"),this.el.after(this.cursor)),this.init()},typewrite:function(t,s){if(this.stop!==!0){var o=Math.round(70*Math.random())+this.typeSpeed,e=this;e.timeout=setTimeout(function(){var o=0,i=t.substr(s);if("^"===i.charAt(0)){var r=1;/^\^\d+/.test(i)&&(i=/\d+/.exec(i)[0],r+=i.length,o=parseInt(i)),t=t.substring(0,s)+t.substring(s+r)}if("html"===e.contentType){var n=t.substr(s).charAt(0);if("<"===n||"&"===n){var a="",h="";for(h="<"===n?">":";";t.substr(s).charAt(0)!==h;)a+=t.substr(s).charAt(0),s++;s++,a+=h}}e.timeout=setTimeout(function(){if(s===t.length){if(e.options.onStringTyped(e.arrayPos),e.arrayPos===e.strings.length-1&&(e.options.callback(),e.curLoop++,e.loop===!1||e.curLoop===e.loopCount))return;e.timeout=setTimeout(function(){e.backspace(t,s)},e.backDelay)}else{0===s&&e.options.preStringTyped(e.arrayPos);var o=t.substr(0,s+1);e.attr?e.el.attr(e.attr,o):e.isInput?e.el.val(o):"html"===e.contentType?e.el.html(o):e.el.text(o),s++,e.typewrite(t,s)}},o)},o)}},backspace:function(t,s){if(this.stop!==!0){var o=Math.round(70*Math.random())+this.backSpeed,e=this;e.timeout=setTimeout(function(){if("html"===e.contentType&&">"===t.substr(s).charAt(0)){for(var o="";"<"!==t.substr(s).charAt(0);)o-=t.substr(s).charAt(0),s--;s--,o+="<"}var i=t.substr(0,s);e.attr?e.el.attr(e.attr,i):e.isInput?e.el.val(i):"html"===e.contentType?e.el.html(i):e.el.text(i),s>e.stopNum?(s--,e.backspace(t,s)):s<=e.stopNum&&(e.arrayPos++,e.arrayPos===e.strings.length?(e.arrayPos=0,e.init()):e.typewrite(e.strings[e.arrayPos],s))},o)}},reset:function(){var t=this;clearInterval(t.timeout);var s=this.el.attr("id");this.el.after('<span id="'+s+'"/>'),this.el.remove(),"undefined"!=typeof this.cursor&&this.cursor.remove(),t.options.resetCallback()}},t.fn.typed=function(o){return this.each(function(){var e=t(this),i=e.data("typed"),r="object"==typeof o&&o;i||e.data("typed",i=new s(this,r)),"string"==typeof o&&i[o]()})},t.fn.typed.defaults={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],typeSpeed:0,startDelay:0,backSpeed:0,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window.jQuery);

View file

@ -1,10 +1,10 @@
/*! /*!
* Waves v0.5.4 * Waves v0.6.0
* http://fian.my.id/Waves * http://fian.my.id/Waves
* *
* Copyright 2014 Alfiana E. Sibuea and other contributors * Copyright 2014 Alfiana E. Sibuea and other contributors
* Released under the MIT license * Released under the MIT license
* https://github.com/fians/Waves/blob/master/LICENSE * https://github.com/fians/Waves/blob/master/LICENSE
*/ */
!function(a){"use strict";function b(a){return null!==a&&a===a.window}function c(a){return b(a)?a:9===a.nodeType&&a.defaultView}function d(a){var b,d,e={top:0,left:0},f=a&&a.ownerDocument;return b=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=c(f),{top:e.top+d.pageYOffset-b.clientTop,left:e.left+d.pageXOffset-b.clientLeft}}function e(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}var f=f||{},g=document.querySelectorAll.bind(document),h={duration:500,show:function(a){if(2===a.button)return!1;var b=this,c=document.createElement("div");c.className="waves-ripple",b.appendChild(c);var f=d(b),g=a.pageY-f.top-45,i=a.pageX-f.left-45,j="scale("+b.clientWidth/100*2.5+")";"touches"in a&&(g=a.touches[0].pageY-f.top-45,i=a.touches[0].pageX-f.left-45),c.setAttribute("data-hold",Date.now()),c.setAttribute("data-scale",j),c.setAttribute("data-x",i),c.setAttribute("data-y",g);var k={top:g+"px",left:i+"px"};c.className=c.className+" waves-notransition",c.setAttribute("style",e(k)),c.className=c.className.replace("waves-notransition",""),k["-webkit-transform"]=j,k["-moz-transform"]=j,k["-ms-transform"]=j,k["-o-transform"]=j,k.transform=j,k.opacity="1",k["-webkit-transition-duration"]=h.duration+"ms",k["-moz-transition-duration"]=h.duration+"ms",k["-o-transition-duration"]=h.duration+"ms",k["transition-duration"]=h.duration+"ms",c.setAttribute("style",e(k))},hide:function(){for(var a=this,b=(1.4*a.clientWidth,null),c=a.children.length,d=0;c>d;d++)-1===a.children[d].className.indexOf("waves-ripple")||(b=a.children[d]);if(!b)return!1;var f=b.getAttribute("data-x"),g=b.getAttribute("data-y"),i=b.getAttribute("data-scale"),j=Date.now()-Number(b.getAttribute("data-hold")),k=500-j;0>k&&(k=0),setTimeout(function(){var c={top:g+"px",left:f+"px",opacity:"0","-webkit-transition-duration":h.duration+"ms","-moz-transition-duration":h.duration+"ms","-o-transition-duration":h.duration+"ms","transition-duration":h.duration+"ms","-webkit-transform":i,"-moz-transform":i,"-ms-transform":i,"-o-transform":i,transform:i};b.setAttribute("style",e(c)),setTimeout(function(){try{a.removeChild(b)}catch(c){return!1}},h.duration)},k)},wrapInput:function(a){for(var b=0;b<a.length;b++){var c=a[b];if("input"===c.tagName.toLowerCase()){var d=c.parentNode;if("i"===d.tagName.toLowerCase()&&-1!==d.className.indexOf("waves-effect"))return!1;var e=document.createElement("i");e.className=c.className+" waves-input-wrapper";var f=c.getAttribute("style"),g="width:"+c.offsetWidth+"px;height:"+c.clientHeight+"px;";f||(f=""),e.setAttribute("style",g+f),c.className="waves-button-input",c.removeAttribute("style"),d.replaceChild(e,c),e.appendChild(c)}}}};f.displayEffect=function(b){b=b||{},"duration"in b&&(h.duration=b.duration),h.wrapInput(g(".waves-effect")),Array.prototype.forEach.call(g(".waves-effect"),function(b){"ontouchstart"in a?(b.addEventListener("touchstart",h.show,!1),b.addEventListener("touchend",h.hide,!1),b.addEventListener("touchcancel",h.hide,!1)):(b.addEventListener("mousedown",h.show,!1),b.addEventListener("mouseup",h.hide,!1),b.addEventListener("mouseleave",h.hide,!1))})},a.Waves=f}(window); !function(a){"use strict";function b(a){return null!==a&&a===a.window}function c(a){return b(a)?a:9===a.nodeType&&a.defaultView}function d(a){var b,d,e={top:0,left:0},f=a&&a.ownerDocument;return b=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=c(f),{top:e.top+d.pageYOffset-b.clientTop,left:e.left+d.pageXOffset-b.clientLeft}}function e(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function f(a){if(k.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;null!==c.parentElement;){if(!(c instanceof SVGElement||-1===c.className.indexOf("waves-effect"))){b=c;break}if(c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function g(b){var c=f(b);null!==c&&(j.show(b,c),"ontouchstart"in a&&(c.addEventListener("touchend",j.hide,!1),c.addEventListener("touchcancel",j.hide,!1)),c.addEventListener("mouseup",j.hide,!1),c.addEventListener("mouseleave",j.hide,!1))}var h=h||{},i=document.querySelectorAll.bind(document),j={duration:750,show:function(a,b){if(2===a.button)return!1;var c=b||this,f=document.createElement("div");f.className="waves-ripple",c.appendChild(f);var g=d(c),h=a.pageY-g.top,i=a.pageX-g.left,k="scale("+c.clientWidth/100*3+")";"touches"in a&&(h=a.touches[0].pageY-g.top,i=a.touches[0].pageX-g.left),f.setAttribute("data-hold",Date.now()),f.setAttribute("data-scale",k),f.setAttribute("data-x",i),f.setAttribute("data-y",h);var l={top:h+"px",left:i+"px"};f.className=f.className+" waves-notransition",f.setAttribute("style",e(l)),f.className=f.className.replace("waves-notransition",""),l["-webkit-transform"]=k,l["-moz-transform"]=k,l["-ms-transform"]=k,l["-o-transform"]=k,l.transform=k,l.opacity="1",l["-webkit-transition-duration"]=j.duration+"ms",l["-moz-transition-duration"]=j.duration+"ms",l["-o-transition-duration"]=j.duration+"ms",l["transition-duration"]=j.duration+"ms",f.setAttribute("style",e(l))},hide:function(a){k.touchup(a);var b=this,c=(1.4*b.clientWidth,null),d=b.getElementsByClassName("waves-ripple");if(!(d.length>0))return!1;c=d[d.length-1];var f=c.getAttribute("data-x"),g=c.getAttribute("data-y"),h=c.getAttribute("data-scale"),i=Date.now()-Number(c.getAttribute("data-hold")),l=350-i;0>l&&(l=0),setTimeout(function(){var a={top:g+"px",left:f+"px",opacity:"0","-webkit-transition-duration":j.duration+"ms","-moz-transition-duration":j.duration+"ms","-o-transition-duration":j.duration+"ms","transition-duration":j.duration+"ms","-webkit-transform":h,"-moz-transform":h,"-ms-transform":h,"-o-transform":h,transform:h};c.setAttribute("style",e(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},j.duration)},l)},wrapInput:function(a){for(var b=0;b<a.length;b++){var c=a[b];if("input"===c.tagName.toLowerCase()){var d=c.parentNode;if("i"===d.tagName.toLowerCase()&&-1!==d.className.indexOf("waves-effect"))continue;var e=document.createElement("i");e.className=c.className+" waves-input-wrapper";var f=c.getAttribute("style");f||(f=""),e.setAttribute("style",f),c.className="waves-button-input",c.removeAttribute("style"),d.replaceChild(e,c),e.appendChild(c)}}}},k={touches:0,allowEvent:function(a){var b=!0;return"touchstart"===a.type?k.touches+=1:"touchend"===a.type||"touchcancel"===a.type?setTimeout(function(){k.touches>0&&(k.touches-=1)},500):"mousedown"===a.type&&k.touches>0&&(b=!1),b},touchup:function(a){k.allowEvent(a)}};h.displayEffect=function(b){b=b||{},"duration"in b&&(j.duration=b.duration),j.wrapInput(i(".waves-effect")),"ontouchstart"in a&&document.body.addEventListener("touchstart",g,!1),document.body.addEventListener("mousedown",g,!1)},h.attach=function(b){"input"===b.tagName.toLowerCase()&&(j.wrapInput([b]),b=b.parentElement),"ontouchstart"in a&&b.addEventListener("touchstart",g,!1),b.addEventListener("mousedown",g,!1)},a.Waves=h}(window);
//# sourceMappingURL=waves.min.js.map //# sourceMappingURL=waves.min.js.map

View file

@ -1 +0,0 @@
{"version":3,"file":"waves.min.js","sources":["../src/js/waves.js"],"names":["window","isWindow","obj","getWindow","elem","nodeType","defaultView","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","style","a","hasOwnProperty","Waves","$$","document","querySelectorAll","bind","Effect","duration","show","e","button","el","this","ripple","createElement","className","appendChild","pos","relativeY","pageY","relativeX","pageX","scale","clientWidth","touches","setAttribute","Date","now","rippleStyle","replace","transform","opacity","hide","childrenLength","children","length","indexOf","getAttribute","diff","Number","delay","setTimeout","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","removeChild","wrapInput","elements","tagName","toLowerCase","parent","parentNode","wrapper","elementStyle","dimensionStyle","offsetWidth","clientHeight","removeAttribute","replaceChild","displayEffect","options","Array","prototype","forEach","call","i","addEventListener"],"mappings":";;;;;;;;CAUC,SAAUA,GACP,YAMA,SAASC,GAASC,GACd,MAAe,QAARA,GAAgBA,IAAQA,EAAIF,OAGvC,QAASG,GAAUC,GACf,MAAOH,GAASG,GAAQA,EAAyB,IAAlBA,EAAKC,UAAkBD,EAAKE,YAG/D,QAASC,GAAOH,GAEZ,GAAII,GAASC,EACTC,GAAOC,IAAK,EAAGC,KAAM,GACrBC,EAAMT,GAAQA,EAAKU,aAQvB,OANAN,GAAUK,EAAIE,gBAE4B,mBAA/BX,GAAKY,wBACZN,EAAMN,EAAKY,yBAEfP,EAAMN,EAAUU,IAEZF,IAAKD,EAAIC,IAAMF,EAAIQ,YAAcT,EAAQU,UACzCN,KAAMF,EAAIE,KAAOH,EAAIU,YAAcX,EAAQY,YAInD,QAASC,GAAanB,GAElB,GAAIoB,GAAQ,EAEZ,KAAK,GAAIC,KAAKrB,GACNA,EAAIsB,eAAeD,KACnBD,GAAUC,EAAI,IAAMrB,EAAIqB,GAAK,IAIrC,OAAOD,GAxCX,GAAIG,GAAQA,MACRC,EAAKC,SAASC,iBAAiBC,KAAKF,UA0CpCG,GAGAC,SAAU,IAEVC,KAAM,SAASC,GAGX,GAAiB,IAAbA,EAAEC,OACF,OAAO,CAGX,IAAIC,GAAKC,KAGLC,EAASV,SAASW,cAAc,MACpCD,GAAOE,UAAY,eACnBJ,EAAGK,YAAYH,EAGf,IAAII,GAAclC,EAAO4B,GACrBO,EAAeT,EAAEU,MAAQF,EAAI9B,IAAO,GACpCiC,EAAeX,EAAEY,MAAQJ,EAAI7B,KAAQ,GACrCkC,EAAc,SAAWX,EAAGY,YAAc,IAAO,IAAK,GAGtD,YAAad,KACfS,EAAeT,EAAEe,QAAQ,GAAGL,MAAQF,EAAI9B,IAAO,GAC/CiC,EAAeX,EAAEe,QAAQ,GAAGH,MAAQJ,EAAI7B,KAAQ,IAIlDyB,EAAOY,aAAa,YAAaC,KAAKC,OACtCd,EAAOY,aAAa,aAAcH,GAClCT,EAAOY,aAAa,SAAUL,GAC9BP,EAAOY,aAAa,SAAUP,EAG9B,IAAIU,IACAzC,IAAO+B,EAAU,KACjB9B,KAAQgC,EAAU,KAGtBP,GAAOE,UAAYF,EAAOE,UAAY,sBACtCF,EAAOY,aAAa,QAAS5B,EAAa+B,IAC1Cf,EAAOE,UAAYF,EAAOE,UAAUc,QAAQ,qBAAsB,IAGlED,EAAY,qBAAuBN,EACnCM,EAAY,kBAAoBN,EAChCM,EAAY,iBAAmBN,EAC/BM,EAAY,gBAAkBN,EAC9BM,EAAYE,UAAYR,EACxBM,EAAYG,QAAY,IAExBH,EAAY,+BAAiCtB,EAAOC,SAAW,KAC/DqB,EAAY,4BAAiCtB,EAAOC,SAAW,KAC/DqB,EAAY,0BAAiCtB,EAAOC,SAAW,KAC/DqB,EAAY,uBAAiCtB,EAAOC,SAAW,KAE/DM,EAAOY,aAAa,QAAS5B,EAAa+B,KAI9CI,KAAM,WAWF,IAAK,GATDrB,GAAKC,KAKLC,GAHyB,IAAjBF,EAAGY,YAGF,MAETU,EAAiBtB,EAAGuB,SAASC,OAExBpC,EAAI,EAAOkC,EAAJlC,EAAoBA,IACyB,KAArDY,EAAGuB,SAASnC,GAAGgB,UAAUqB,QAAQ,kBACjCvB,EAASF,EAAGuB,SAASnC,GAK7B,KAAKc,EACD,OAAO,CAGX,IAAIO,GAAcP,EAAOwB,aAAa,UAClCnB,EAAcL,EAAOwB,aAAa,UAClCf,EAAcT,EAAOwB,aAAa,cAGlCC,EAAOZ,KAAKC,MAAQY,OAAO1B,EAAOwB,aAAa,cAC/CG,EAAQ,IAAMF,CAEN,GAARE,IACAA,EAAQ,GAIZC,WAAW,WAEP,GAAI3C,IACAX,IAAO+B,EAAU,KACjB9B,KAAQgC,EAAU,KAClBW,QAAW,IAGXW,8BAA+BpC,EAAOC,SAAW,KACjDoC,2BAA4BrC,EAAOC,SAAW,KAC9CqC,yBAA0BtC,EAAOC,SAAW,KAC5CsC,sBAAuBvC,EAAOC,SAAW,KACzCuC,oBAAqBxB,EACrByB,iBAAkBzB,EAClB0B,gBAAiB1B,EACjB2B,eAAgB3B,EAChBQ,UAAaR,EAGjBT,GAAOY,aAAa,QAAS5B,EAAaC,IAE1C2C,WAAW,WAEP,IACI9B,EAAGuC,YAAYrC,GACjB,MAAMJ,GACJ,OAAO,IAIZH,EAAOC,WAEXiC,IAKPW,UAAW,SAASC,GAEhB,IAAK,GAAIrD,GAAI,EAAGA,EAAIqD,EAASjB,OAAQpC,IAAK,CAEtC,GAAIY,GAAKyC,EAASrD,EAElB,IAAiC,UAA7BY,EAAG0C,QAAQC,cAA2B,CAEtC,GAAIC,GAAS5C,EAAG6C,UAGhB,IAAqC,MAAjCD,EAAOF,QAAQC,eAAsE,KAA7CC,EAAOxC,UAAUqB,QAAQ,gBACjE,OAAO,CAIX,IAAIqB,GAAUtD,SAASW,cAAc,IACrC2C,GAAQ1C,UAAYJ,EAAGI,UAAY,sBAEnC,IAAI2C,GAAe/C,EAAG0B,aAAa,SAC/BsB,EAAiB,SAAShD,EAAGiD,YAAY,aAAajD,EAAGkD,aAAa,KAErEH,KACDA,EAAe,IAGnBD,EAAQhC,aAAa,QAASkC,EAAeD,GAE7C/C,EAAGI,UAAY,qBACfJ,EAAGmD,gBAAgB,SAGnBP,EAAOQ,aAAaN,EAAS9C,GAC7B8C,EAAQzC,YAAYL,MAQpCV,GAAM+D,cAAgB,SAASC,GAE3BA,EAAUA,MAEN,YAAcA,KACd3D,EAAOC,SAAW0D,EAAQ1D,UAI9BD,EAAO6C,UAAUjD,EAAG,kBAEpBgE,MAAMC,UAAUC,QAAQC,KAAKnE,EAAG,iBAAkB,SAASoE,GAEnD,gBAAkB9F,IACpB8F,EAAEC,iBAAiB,aAAcjE,EAAOE,MAAM,GAC9C8D,EAAEC,iBAAiB,WAAcjE,EAAO0B,MAAM,GAC9CsC,EAAEC,iBAAiB,cAAiBjE,EAAO0B,MAAM,KAEjDsC,EAAEC,iBAAiB,YAAajE,EAAOE,MAAM,GAC7C8D,EAAEC,iBAAiB,UAAWjE,EAAO0B,MAAM,GAC3CsC,EAAEC,iBAAiB,aAAcjE,EAAO0B,MAAM,OAOxDxD,EAAOyB,MAAQA,GAEhBzB"}