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 ###
.idea
### General ###
*.lock
### Jekyll ###
_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
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.
@ -30,10 +30,15 @@ Or watch project presentation from [GDG[x] Townhall meeting](http://www.youtube.
## 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.
Install GitHub pages
Check if you have [all requirements for local environment](http://jekyllrb.com/docs/installation/).
To install all development dependencies install [Bundler](http://bundler.io/).
```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:
@ -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.
### 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:
```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/)
**Note:** 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`.
**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)
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.
Optimize all images by running this script from `/automation/images/` folder:
```bash
@ -87,13 +77,6 @@ Learn more about available optimization options from [documentation](https://git
### Documentation
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
* [Bootstrap](https://github.com/twbs/bootstrap)
* [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)
* Idea: [Vitaliy Zasadnyy](https://github.com/zasadnyy)
### Licence
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 :)
### License
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"
logisticsMapCenterCoordinates: "49.056728, 3.117289"
logisticsMapMobileCenterCoordinates: "48.335365, 23.711648"
logisticsMapAutoDirections: true
logisticsMapAutoDirections: false
# Logistics Direction Details Block
directionDetailsImage: "direction-details.jpg"

View file

@ -42,7 +42,7 @@ b, strong {
}
a {
@include linkColor($link-color);
&:hover {
&:hover, &:active, &:focus {
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
@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";

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,140 +1,140 @@
/*!
* Waves v0.5.4
* Waves v0.6.0
* http://fian.my.id/Waves
*
* Copyright 2014 Alfiana E. Sibuea and other contributors
* Released under the MIT 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 {
position: relative;
cursor: pointer;
display: inline-block;
overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
@include transition(all .3s ease-out);
.waves-ripple {
position: absolute;
border-radius: 50%;
width:100px;
height:100px;
opacity:0;
background-color: rgba(0, 0, 0, 0.2);
@include transition(all 0.5s ease-out);
@include transform(scale(0));
}
&.waves-light .waves-ripple {
background-color: rgba(255, 255, 255, 0.4);
}
position: relative;
cursor: pointer;
display: inline-block;
overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.waves-effect .waves-ripple {
position: absolute;
border-radius: 50%;
width: 100px;
height: 100px;
margin-top: -50px;
margin-left: -50px;
opacity: 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%);
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: 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 {
-webkit-transition: none !important;
-moz-transition: none !important;
-o-transition: none !important;
transition: none !important;
-webkit-transition: none !important;
-moz-transition: none !important;
-o-transition: none !important;
transition: none !important;
}
.waves-button,
.waves-circle {
-webkit-transform: translateZ(0);
-webkit-image-mask: -webkit-radial-gradient(circle, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
-webkit-transform: translateZ(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:hover,
.waves-button:visited,
.waves-button:link,
.waves-button-input {
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
border:none;
outline:none;
background:transparent;
color: inherit;
font-size:14px;
text-align: center;
text-decoration:none;
z-index:1;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
border: none;
outline: none;
color: inherit;
background-color: rgba(0, 0, 0, 0);
font-size: 1em;
line-height: 1em;
text-align: center;
text-decoration: none;
z-index: 1;
}
.waves-button {
padding:10px 15px;
border-radius:2px;
padding: 0.85em 1.1em;
border-radius: 0.2em;
}
.waves-button-input {
margin:0;
padding:10px 15px;
margin: 0;
padding: 0.85em 1.1em;
}
.waves-input-wrapper {
border-radius:2px;
vertical-align: bottom;
&.waves-button {
padding:0;
}
.waves-button-input {
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
border-radius: 0.2em;
vertical-align: bottom;
}
.waves-input-wrapper.waves-button {
padding: 0;
}
.waves-input-wrapper .waves-button-input {
position: relative;
top: 0;
left: 0;
z-index: 1;
}
.waves-circle {
text-align:center;
width:2.5em;
height:2.5em;
line-height:2.5em;
border-radius:50%;
text-align: center;
width: 2.5em;
height: 2.5em;
line-height: 2.5em;
border-radius: 50%;
}
.waves-float {
-webkit-mask-image:none;
@include 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));
}
-webkit-mask-image: none;
-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);
}
.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 {
display:block;
display: block;
}
/* Firefox Bug: link not triggered */
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
color: inherit;
}
// Provide class for links that match alerts
.alert-link {
font-weight: $alert-link-font-weight;
@ -28,6 +29,7 @@
> ul {
margin-bottom: 0;
}
> p + p {
margin-top: 5px;
}
@ -57,12 +59,15 @@
.alert-success {
@include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
}
.alert-info {
@include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
}
.alert-warning {
@include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
}
.alert-danger {
@include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
}

View file

@ -28,6 +28,7 @@
position: relative;
top: -1px;
}
.btn-xs & {
top: 0;
padding: 1px 5px;
@ -36,11 +37,20 @@
// [converter] extracted a& to a.badge
// Account for badges in navs
a.list-group-item.active > &,
.list-group-item.active > &,
.nav-pills > .active > a > & {
color: $badge-active-color;
background-color: $badge-active-bg;
}
.list-group-item > & {
float: right;
}
.list-group-item > & + & {
margin-right: 5px;
}
.nav-pills > li > a > & {
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 {
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
.btn-toolbar {
margin-left: -5px; // Offset the first child's margin
@include clearfix();
@include clearfix;
.btn-group,
.input-group {
@ -75,13 +71,13 @@
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child {
.btn-group > .btn-group:first-child:not(:last-child) {
> .btn:last-child,
> .dropdown-toggle {
@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);
}
@ -156,7 +152,7 @@
// Clear floats so dropdown menus can be properly placed
> .btn-group {
@include clearfix();
@include clearfix;
> .btn {
float: none;
}
@ -198,7 +194,6 @@
}
// Justified button groups
// ----------------------
@ -226,15 +221,23 @@
// Checkbox and radio options
//
// 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
// use `display: none;` or `visibility: hidden;` as that also hides the popover.
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
// `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.
//
// 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"] > .btn > input[type="checkbox"] {
position: absolute;
z-index: -1;
@include opacity(0);
[data-toggle="buttons"] {
> .btn,
> .btn-group > .btn {
input[type="radio"],
input[type="checkbox"] {
position: absolute;
clip: rect(0,0,0,0);
pointer-events: none;
}
}
}

View file

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

View file

@ -21,9 +21,33 @@
// Account for jankitude on images
> img,
> a > img {
@include img-responsive();
@include img-responsive;
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,
@ -124,6 +148,7 @@
width: 20px;
height: 20px;
margin-top: -10px;
line-height: 1;
font-family: serif;
}
@ -171,6 +196,7 @@
// 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 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
// set alpha transparency for the best results possible.

View file

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

View file

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

View file

@ -17,8 +17,9 @@
.collapse {
display: none;
visibility: hidden;
&.in { display: block; }
&.in { display: block; visibility: visible; }
// [converter] extracted tr&.in to tr.collapse.in
// [converter] extracted tbody&.in to tbody.collapse.in
}
@ -31,5 +32,7 @@ tbody.collapse.in { display: table-row-group; }
position: relative;
height: 0;
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)
.dropup,
.dropdown {
position: relative;
}
@ -103,16 +104,15 @@
&:focus {
color: $dropdown-link-disabled-color;
}
}
// Nuke hover/focus effects
.dropdown-menu > .disabled > a {
// Nuke hover/focus effects
&:hover,
&:focus {
text-decoration: none;
background-color: transparent;
background-image: none; // Remove CSS gradient
@include reset-filter();
cursor: not-allowed;
@include reset-filter;
cursor: $cursor-disabled;
}
}
@ -191,7 +191,7 @@
.dropdown-menu {
top: auto;
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="radio"]:focus,
input[type="checkbox"]:focus {
@include tab-focus();
@include tab-focus;
}
// Adjust output element
@ -123,15 +123,15 @@ output {
background-color: $input-bg;
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-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 transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
// Customize the `:focus` state to imitate native WebKit styles.
@include form-control-focus();
@include form-control-focus;
// Placeholder
@include placeholder();
@include placeholder;
// Disabled and read-only inputs
//
@ -141,9 +141,9 @@ output {
&[disabled],
&[readonly],
fieldset[disabled] & {
cursor: not-allowed;
cursor: $cursor-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
@ -170,24 +170,26 @@ input[type="search"] {
// Special styles for iOS temporal inputs
//
// In Mobile Safari, setting `display: block` on temporal inputs causes the
// text within the input to become vertically misaligned.
// As a workaround, we set a pixel line-height that matches the
// given height of the input. Since this fucks up everything else, we have to
// appropriately reset it for Internet Explorer and the size variations.
// text within the input to become vertically misaligned. As a workaround, we
// set a pixel line-height that matches the given height of the input, but only
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
line-height: $input-height-base;
// IE8+ misaligns the text within date inputs, so we reset
line-height: $line-height-base #{\0};
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
line-height: $input-height-base;
&.input-sm {
line-height: $input-height-small;
}
&.input-lg {
line-height: $input-height-large;
&.input-sm,
.input-group-sm & {
line-height: $input-height-small;
}
&.input-lg,
.input-group-lg & {
line-height: $input-height-large;
}
}
}
@ -210,11 +212,11 @@ input[type="month"] {
.checkbox {
position: relative;
display: block;
min-height: $line-height-computed; // clear the floating input if there is no label text
margin-top: 10px;
margin-bottom: 10px;
label {
min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
@ -260,7 +262,7 @@ input[type="checkbox"] {
&[disabled],
&.disabled,
fieldset[disabled] & {
cursor: not-allowed;
cursor: $cursor-disabled;
}
}
// These classes are used directly on <label>s
@ -268,7 +270,7 @@ input[type="checkbox"] {
.checkbox-inline {
&.disabled,
fieldset[disabled] & {
cursor: not-allowed;
cursor: $cursor-disabled;
}
}
// These classes are used on elements with <label> descendants
@ -277,7 +279,7 @@ input[type="checkbox"] {
&.disabled,
fieldset[disabled] & {
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
// 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
@ -329,7 +356,7 @@ input[type="checkbox"] {
// Feedback icon (requires .glyphicon classes)
.form-control-feedback {
position: absolute;
top: ($line-height-computed + 5); // Height of the `label` and its margin
top: 0;
right: 0;
z-index: 2; // Ensure icon is above input groups
display: block;
@ -337,6 +364,7 @@ input[type="checkbox"] {
height: $input-height-base;
line-height: $input-height-base;
text-align: center;
pointer-events: none;
}
.input-lg + .form-control-feedback {
width: $input-height-large;
@ -360,10 +388,15 @@ input[type="checkbox"] {
@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
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
& ~ .form-control-feedback {
top: ($line-height-computed + 5); // Height of the `label` and its margin
}
&.sr-only ~ .form-control-feedback {
top: 0;
}
}
@ -380,7 +413,6 @@ input[type="checkbox"] {
}
// Inline forms
//
// 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.
.form-inline {
// [converter] extracted from `.form-inline` for libsass compatibility
@mixin form-inline {
// Kick in the inline
@media (min-width: $screen-sm-min) {
@ -410,6 +443,11 @@ input[type="checkbox"] {
vertical-align: middle;
}
// Make static controls behave like regular ones
.form-control-static {
display: inline-block;
}
.input-group {
display: inline-table;
vertical-align: middle;
@ -432,8 +470,7 @@ input[type="checkbox"] {
}
// 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
// a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
// then undo the floating of radios and checkboxes to match.
.radio,
.checkbox {
display: inline-block;
@ -451,15 +488,17 @@ input[type="checkbox"] {
margin-left: 0;
}
// Validation states
//
// 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.
// Re-override the feedback icon.
.has-feedback .form-control-feedback {
top: 0;
}
}
}
// [converter] extracted as `@mixin form-inline` for libsass compatibility
.form-inline {
@include form-inline;
}
// Horizontal forms
@ -489,7 +528,7 @@ input[type="checkbox"] {
// Make form groups behave like rows
.form-group {
@include make-row();
@include make-row;
}
// 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
// `position: relative;` on them. Also accounts for the grid gutter padding.
.has-feedback .form-control-feedback {
top: 0;
right: ($grid-gutter-width / 2);
}
@ -521,9 +559,6 @@ input[type="checkbox"] {
padding-top: (($padding-large-vertical * $line-height-large) + 1);
}
}
.form-control {
@extend .input-lg;
}
}
.form-group-sm {
@media (min-width: $screen-sm-min) {
@ -531,8 +566,5 @@ input[type="checkbox"] {
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
//
@ -16,6 +12,7 @@
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?#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}.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');
@ -37,7 +34,8 @@
// Individual icons
.glyphicon-asterisk { &:before { content: "\2a"; } }
.glyphicon-plus { &:before { content: "\2b"; } }
.glyphicon-euro { &:before { content: "\20ac"; } }
.glyphicon-euro,
.glyphicon-eur { &:before { content: "\20ac"; } }
.glyphicon-minus { &:before { content: "\2212"; } }
.glyphicon-cloud { &:before { content: "\2601"; } }
.glyphicon-envelope { &:before { content: "\2709"; } }
@ -235,3 +233,69 @@
.glyphicon-cloud-upload { &:before { content: "\e198"; } }
.glyphicon-tree-conifer { &:before { content: "\e199"; } }
.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.
.container {
@include container-fixed();
@include container-fixed;
@media (min-width: $screen-sm-min) {
width: $container-sm;
@ -28,7 +28,7 @@
// width for fluid, full width layouts.
.container-fluid {
@include container-fixed();
@include container-fixed;
}
@ -37,7 +37,7 @@
// Rows contain and clear the floats of your columns.
.row {
@include make-row();
@include make-row;
}
@ -45,7 +45,7 @@
//
// Common styles for small and large grid columns
@include make-grid-columns();
@include make-grid-columns;
// Extra small grid

View file

@ -4,7 +4,7 @@
.jumbotron {
padding: $jumbotron-padding;
padding: $jumbotron-padding ($jumbotron-padding / 2);
margin-bottom: $jumbotron-padding;
color: $jumbotron-color;
background-color: $jumbotron-bg;
@ -13,6 +13,7 @@
.h1 {
color: $jumbotron-heading-color;
}
p {
margin-bottom: ($jumbotron-padding / 2);
font-size: $jumbotron-font-size;
@ -23,7 +24,8 @@
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
}
@ -32,10 +34,10 @@
}
@media screen and (min-width: $screen-sm-min) {
padding-top: ($jumbotron-padding * 1.6);
padding-bottom: ($jumbotron-padding * 1.6);
padding: ($jumbotron-padding * 1.6) 0;
.container & {
.container &,
.container-fluid & {
padding-left: ($jumbotron-padding * 2);
padding-right: ($jumbotron-padding * 2);
}

View file

@ -35,14 +35,6 @@
margin-bottom: 0;
@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 {
background-color: $list-group-disabled-bg;
color: $list-group-disabled-color;
cursor: not-allowed;
cursor: $cursor-disabled;
// Force color to inherit for custom content
.list-group-item-heading {

View file

@ -1,54 +1,59 @@
// Media objects
// Source: http://stubbornella.org/content/?p=497
// --------------------------------------------------
.media {
// Proper spacing between instances of .media
margin-top: 15px;
&:first-child {
margin-top: 0;
}
}
// Common styles
// -------------------------
// Clear the floats
.media,
.media-body {
overflow: hidden;
zoom: 1;
overflow: hidden;
}
// Proper spacing between instances of .media
.media,
.media .media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
.media-body {
width: 10000px;
}
// For images and videos, set to block
.media-object {
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
.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
// -------------------------
//
// Undo default ul/ol styles
.media-list {
padding-left: 0;

View file

@ -30,10 +30,10 @@
// When fading in the modal, animate it to slide down
&.fade .modal-dialog {
@include translate3d(0, -25%, 0);
@include translate(0, -25%);
@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 {
overflow-x: hidden;
@ -62,12 +62,10 @@
// Modal background
.modal-backdrop {
position: fixed;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $zindex-modal-background;
background-color: $modal-backdrop-bg;
// Fade for backdrop
&.fade { @include opacity(0); }
@ -104,7 +102,7 @@
padding: $modal-inner-padding;
text-align: right; // right align buttons
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
.btn + .btn {

View file

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

View file

@ -10,7 +10,7 @@
margin-bottom: 0;
padding-left: 0; // Override default ul/ol
list-style: none;
@include clearfix();
@include clearfix;
> li {
position: relative;
@ -36,7 +36,7 @@
color: $nav-disabled-link-hover-color;
text-decoration: none;
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
// of maintaining backward compatibility in case you use it, it's deprecated.
.nav-divider {
@include nav-divider();
@include nav-divider;
}
// Prevent IE8 from misplacing imgs
@ -223,9 +223,11 @@
.tab-content {
> .tab-pane {
display: none;
visibility: hidden;
}
> .active {
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.
@ -25,7 +25,8 @@ body {
//
// Correct `block` display not defined for any HTML5 element in IE 8/9.
// Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
// Correct `block` display not defined for `details` or `summary` in IE 10/11
// and Firefox.
// Correct `block` display not defined for `main` in IE 11.
//
@ -38,6 +39,7 @@ footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
@ -85,7 +87,7 @@ template {
//
a {
background: transparent;
background-color: transparent;
}
//

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -19,7 +19,6 @@
}
// Bar itself
// -------------------------
@ -29,7 +28,7 @@
height: $line-height-computed;
margin-bottom: $line-height-computed;
background-color: $progress-bg;
border-radius: $border-radius-base;
border-radius: $progress-border-radius;
@include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
}
@ -54,7 +53,7 @@
// `.progress-bar`.
.progress-striped .progress-bar,
.progress-bar-striped {
@include gradient-striped();
@include gradient-striped;
background-size: 40px 40px;
}
@ -67,23 +66,6 @@
@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
// -------------------------

View file

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

View file

@ -26,7 +26,10 @@
// Visibility utilities
// 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-inline,

View file

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

View file

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

View file

@ -7,7 +7,6 @@
@import "mixins";
//
// Buttons
// --------------------------------------------------
@ -28,12 +27,16 @@
&.active {
@include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
}
.badge {
text-shadow: none;
}
}
// Mixin for generating new styles
@mixin btn-styles($btn-color: #555) {
@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;
border-color: darken($btn-color, 14%);
@ -49,6 +52,7 @@
border-color: darken($btn-color, 14%);
}
&.disabled,
&:disabled,
&[disabled] {
background-color: darken($btn-color, 12%);
@ -74,7 +78,6 @@
.btn-danger { @include btn-styles($btn-danger-bg); }
//
// Images
// --------------------------------------------------
@ -85,7 +88,6 @@
}
//
// Dropdowns
// --------------------------------------------------
@ -103,7 +105,6 @@
}
//
// Navbar
// --------------------------------------------------
@ -111,13 +112,14 @@
// Default navbar
.navbar-default {
@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;
$shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
@include box-shadow($shadow);
.navbar-nav > .open > 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));
}
}
@ -129,10 +131,11 @@
// Inverted navbar
.navbar-inverse {
@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 {
@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));
}
@ -149,6 +152,17 @@
border-radius: 0;
}
// Fix active state of dropdown items in collapsed mode
@media (max-width: $grid-float-breakpoint-max) {
.navbar .navbar-nav .open .dropdown-menu > .active > a {
&,
&:hover,
&:focus {
color: #fff;
@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); }
//
// Progress bars
// --------------------------------------------------
@ -200,7 +213,7 @@
// 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.
.progress-bar-striped {
@include gradient-striped();
@include gradient-striped;
}
@ -218,8 +231,11 @@
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%));
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); }
//
// Wells
// --------------------------------------------------

View file

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

View file

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

View file

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

View file

@ -7,10 +7,10 @@
// -------------------------
.clearfix {
@include clearfix();
@include clearfix;
}
.center-block {
@include center-block();
@include center-block;
}
.pull-right {
float: right !important;
@ -34,7 +34,7 @@
visibility: hidden;
}
.text-hide {
@include text-hide();
@include text-hide;
}
@ -53,5 +53,4 @@
.affix {
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
// 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;
$bootstrap-sass-asset-helper: false !default;
//
// 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-darker: lighten(#000, 13.5%) !default; // #222
$gray-dark: lighten(#000, 20%) !default; // #333
$gray: lighten(#000, 33.5%) !default; // #555
$gray-light: lighten(#000, 46.7%) !default; // #777
$gray-lighter: lighten(#000, 93.5%) !default; // #eee
$gray-base: #000 !default;
$gray-darker: lighten($gray-base, 13.5%) !default; // #222
$gray-dark: lighten($gray-base, 20%) !default; // #333
$gray: lighten($gray-base, 33.5%) !default; // #555
$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-info: #5bc0de !default;
$brand-warning: #f0ad4e !default;
@ -38,6 +35,8 @@ $text-color: $gray-dark !default;
$link-color: $brand-primary !default;
//** Link hover color set via `darken()` function.
$link-hover-color: darken($link-color, 15%) !default;
//** Link hover decoration.
$link-hover-decoration: underline !default;
//== Typography
@ -79,7 +78,8 @@ $headings-color: inherit !default;
//** 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;
//** File name for all font files.
@ -104,7 +104,7 @@ $padding-small-horizontal: 10px !default;
$padding-xs-vertical: 1px !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;
$border-radius-base: 4px !default;
@ -189,13 +189,21 @@ $input-bg-disabled: $gray-lighter !default;
$input-color: $gray !default;
//** `<input>` border color
$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;
//** 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
$input-border-focus: #66afe9 !default;
//** Placeholder text color
$input-color-placeholder: $gray-light !default;
$input-color-placeholder: #999 !default;
//** Default `.form-control` height
$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
$input-group-addon-border-color: $input-border !default;
//** Disabled cursor for form controls and buttons.
$cursor-disabled: not-allowed !default;
//== Dropdowns
//
@ -260,8 +271,7 @@ $zindex-dropdown: 1000 !default;
$zindex-popover: 1060 !default;
$zindex-tooltip: 1070 !default;
$zindex-navbar-fixed: 1030 !default;
$zindex-modal-background: 1040 !default;
$zindex-modal: 1050 !default;
$zindex-modal: 1040 !default;
//== 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.
// Small screen / tablet
$container-tablet: ((720px + $grid-gutter-width)) !default;
$container-tablet: (720px + $grid-gutter-width) !default;
//** For `$screen-sm-min` and up.
$container-sm: $container-tablet !default;
// Medium screen / desktop
$container-desktop: ((940px + $grid-gutter-width)) !default;
$container-desktop: (940px + $grid-gutter-width) !default;
//** For `$screen-md-min` and up.
$container-md: $container-desktop !default;
// 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.
$container-lg: $container-large-desktop !default;
@ -376,12 +386,12 @@ $navbar-default-toggle-border-color: #ddd !default;
// Inverted navbar
// 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-border: darken($navbar-inverse-bg, 10%) !default;
// 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-bg: transparent !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-hover-color: $gray-light !default;
$nav-open-link-hover-color: #fff !default;
//== Tabs
$nav-tabs-border-color: #ddd !default;
@ -537,7 +545,7 @@ $popover-title-bg: darken($popover-bg, 3%) !default;
//** Popover arrow width
$popover-arrow-width: 10px !default;
//** Popover arrow color
$popover-arrow-color: #fff !default;
$popover-arrow-color: $popover-bg !default;
//** Popover outer arrow width
$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 bar text color
$progress-bar-color: #fff !default;
//** Variable for setting rounded corners on progress bar.
$progress-border-radius: $border-radius-base !default;
//** Default progress bar color
$progress-bar-bg: $brand-primary !default;
@ -850,5 +860,3 @@ $page-header-border-color: $gray-lighter !default;
$dl-horizontal-offset: $component-offset-horizontal !default;
//** Horizontal line color.
$hr-border: $gray-lighter !default;

View file

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

View file

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

View file

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

View file

@ -8,7 +8,7 @@
// Deprecated as of v3.0.1 (will be removed in v4)
@mixin hide-text() {
font: #{0/0} a;
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
@ -17,5 +17,5 @@
// New mixin to use as of v3.0.1
@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.
@mixin img-responsive($display: block) {
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
height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
}

View file

@ -4,5 +4,5 @@
opacity: $opacity;
// IE8 filter
$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
.progress-striped & {
@include gradient-striped();
@include gradient-striped;
}
}

View file

@ -99,9 +99,12 @@
// Placeholder text
@mixin placeholder($color: $input-color-placeholder) {
&::-moz-placeholder { color: $color; // Firefox
opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
// Firefox
&::-moz-placeholder {
color: $color;
opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
}
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
&::-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=
!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)}});
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);
!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=
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);
(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";
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,
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&&
(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")},
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=
0;for(r=this.length;p<r;p++)d=this[p],l(a(d));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,
{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",
"");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;
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}},
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);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);
!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){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)}});
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(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(){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 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";
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),
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")),
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")},
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)}};v=0;for(k=this.length;v<k;v++)a=this[v],t(d(a));return this}}).call(this);
!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;
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,
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),
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"===
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();
"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');
});
if (autoDirectionEnabled) {
if (typeof autoDirectionEnabled !== 'undefined' && autoDirectionEnabled == true) {
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";
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,
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&&
(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")},
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=
0;for(G=this.length;p<G;p++)d=this[p],F(k(d));return this}}).call(this);
(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;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),
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")),
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")},
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)}};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
*
* Copyright 2014 Alfiana E. Sibuea and other contributors
* Released under the MIT 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

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"}