diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 41000bd..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,14 +0,0 @@
-# Auto detect text files and perform LF normalization
-*.scss linguist-language=Vue
-
-# Standard to msysgit
-*.doc diff=astextplain
-*.DOC diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot diff=astextplain
-*.DOT diff=astextplain
-*.pdf diff=astextplain
-*.PDF diff=astextplain
-*.rtf diff=astextplain
-*.RTF diff=astextplain
diff --git a/README.md b/README.md
index 02a93b3..4f1cf66 100644
--- a/README.md
+++ b/README.md
@@ -2,10 +2,7 @@
A dynamic form wizard to split your forms easier
Vue-form-wizard is a vue based component with **no external depenendcies** which simplifies tab wizard management and allows you to focus on the functional part of your app rather than
-wasting time on details. Just forget about id's, external scripts and jQuery dependencies.
-
-Vue-form-wizard is inspired by [creative-tim wizards](https://www.creative-tim.com/bootstrap-themes/wizard) but simplified and
-more customizable
+wasting time on details. Just forget about id's, external scripts and jQuery dependencies
# Demos
Basic [demo](https://jsfiddle.net/bt5dhqtf/97/)
@@ -18,8 +15,6 @@ Other demos:
* [Custom title slot](https://jsfiddle.net/bt5dhqtf/102/)
* [Customized buttons with slots](https://jsfiddle.net/bt5dhqtf/103/) Replace stuff you don't like
* [Call a function before tab switch](https://jsfiddle.net/bt5dhqtf/105/)
-* [Complete form example](https://jsfiddle.net/bt5dhqtf/150/) integrated with [vue-form-generator](https://github.com/icebob/vue-form-generator)
-* [Vue router integration](https://jsfiddle.net/CristiJ/bt5dhqtf/252/) You can place a `router-view` inside the wizard and have a separate page per tab. A `route` prop must be passed to the tabs you want to handle certain tabs
# Usage
@@ -37,7 +32,7 @@ Download the css and js files from `dist` folder or reference them directly from
//global registration
import 'vue-form-wizard'
import 'vue-form-wizard/dist/vue-form-wizard.min.css'
-Vue.use(VueFormWizard)
+Vue.use(VueTabWizard)
//local registration
import {FormWizard, TabContent} from 'vue-form-wizard'
@@ -140,12 +135,6 @@ props: {
*/
beforeChange: {
type: Function
- },
- /***
- * Used to handle routing with vue-router. Refer to [router.push](https://router.vuejs.org/en/essentials/navigation.html) for a valid prop in this case
- */
- route: {
- type: [String, Object]
}
}
```
@@ -156,15 +145,3 @@ props: {
* **prev** - Previous button content (no need to worry about handling the button functionality)
* **next** - Next button content
* **finish** - Finish button content
-
-## Contribution
-Open an issue or send a Pull request if you feel that something is missing or doesn't work.
-
-## License
-vue-form-wizard is available under the [MIT license](https://tldrlegal.com/license/mit-license).
-
-## Contact
-
-Copyright (C) 2017 Cristi Jora
-
-[](https://github.com/cristijora)
diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js
index eb88ad8..edd6120 100644
--- a/build/webpack.base.conf.js
+++ b/build/webpack.base.conf.js
@@ -9,7 +9,7 @@ function resolve (dir) {
module.exports = {
entry: {
- app: './dev/main.js'
+ app: './dev-example/main.js'
},
output: {
path: config.build.assetsRoot,
diff --git a/dev-example/App.vue b/dev-example/App.vue
new file mode 100644
index 0000000..1eebeb2
--- /dev/null
+++ b/dev-example/App.vue
@@ -0,0 +1,86 @@
+
+
+
+
+ My first tab content
+
+
+ My second tab content
+
+
+ Yuhuuu! This seems pretty damn simple
+
+
+
+
+
+
+
+
+
diff --git a/dev-example/loader.css b/dev-example/loader.css
new file mode 100644
index 0000000..647a7e8
--- /dev/null
+++ b/dev-example/loader.css
@@ -0,0 +1,41 @@
+.loader,
+.loader:after {
+ border-radius: 50%;
+ width: 10em;
+ height: 10em;
+}
+.loader {
+ margin: 60px auto;
+ font-size: 10px;
+ position: relative;
+ text-indent: -9999em;
+ border-top: 1.1em solid rgba(255, 255, 255, 0.2);
+ border-right: 1.1em solid rgba(255, 255, 255, 0.2);
+ border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
+ border-left: 1.1em solid #e74c3c;
+ -webkit-transform: translateZ(0);
+ -ms-transform: translateZ(0);
+ transform: translateZ(0);
+ -webkit-animation: load8 1.1s infinite linear;
+ animation: load8 1.1s infinite linear;
+}
+@-webkit-keyframes load8 {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes load8 {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
diff --git a/dev-example/main.js b/dev-example/main.js
new file mode 100644
index 0000000..2efeb59
--- /dev/null
+++ b/dev-example/main.js
@@ -0,0 +1,15 @@
+// The Vue build version to load with the `import` command
+// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
+import Vue from 'vue'
+import App from './App.vue'
+import FormWizard from '../src/index'
+Vue.use(FormWizard)
+
+Vue.config.productionTip = false
+
+/* eslint-disable no-new */
+new Vue({
+ el: '#app',
+ template: ' ',
+ components: {App}
+})
diff --git a/dev/App.vue b/dev/App.vue
deleted file mode 100644
index d20a085..0000000
--- a/dev/App.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dev/main.js b/dev/main.js
deleted file mode 100644
index d0ec270..0000000
--- a/dev/main.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import Vue from 'vue'
-import VueRouter from 'vue-router'
-import App from './App.vue'
-import FormWizard from './../src/index'
-const First = { template: '
First
' }
-const Second = { template: 'Second
' }
-const Third = { template: 'Third
' }
-
-const router = new VueRouter({
- mode: 'history',
- routes: [
- { path: '/first', component: First },
- { path: '/second', component: Second },
- { path: '/third', component: Third }
- ]
-})
-Vue.use(VueRouter)
-Vue.use(FormWizard)
-
-Vue.config.productionTip = false
-
-/* eslint-disable no-new */
-new Vue({
- router,
- el: '#app',
- template: ' ',
- components: {App}
-})
diff --git a/dist/vue-form-wizard.js b/dist/vue-form-wizard.js
index d3b5607..beb21a0 100644
--- a/dist/vue-form-wizard.js
+++ b/dist/vue-form-wizard.js
@@ -1 +1 @@
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueFormWizard=e():t.VueFormWizard=e()}(this,function(){return function(t){function e(s){if(n[s])return n[s].exports;var i=n[s]={i:s,l:!1,exports:{}};return t[s].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,s){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:s})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=5)}([function(t,e){t.exports=function(t,e,n,s){var i,a=t=t||{},o=typeof t.default;"object"!==o&&"function"!==o||(i=t,a=t.default);var r="function"==typeof a?a.options:a;if(e&&(r.render=e.render,r.staticRenderFns=e.staticRenderFns),n&&(r._scopeId=n),s){var c=Object.create(r.computed||null);Object.keys(s).forEach(function(t){var e=s[t];c[t]=function(){return e}}),r.computed=c}return{esModule:i,exports:a,options:r}}},function(t,e,n){n(7),n(6);var s=n(0)(n(3),n(8),null,null);s.options.__file="C:\\work\\vue-tab-wizard\\src\\components\\FormWizard.vue",s.esModule&&Object.keys(s.esModule).some(function(t){return"default"!==t&&"__esModule"!==t})&&console.error("named exports are not supported in *.vue files."),s.options.functional&&console.error("[vue-loader] FormWizard.vue: functional components are not supported with templates, they should use render functions."),t.exports=s.exports},function(t,e,n){var s=n(0)(n(4),n(9),null,null);s.options.__file="C:\\work\\vue-tab-wizard\\src\\components\\TabContent.vue",s.esModule&&Object.keys(s.esModule).some(function(t){return"default"!==t&&"__esModule"!==t})&&console.error("named exports are not supported in *.vue files."),s.options.functional&&console.error("[vue-loader] TabContent.vue: functional components are not supported with templates, they should use render functions."),t.exports=s.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={props:{title:{type:String,default:"Awesome Wizard"},subtitle:{type:String,default:"Split a complicated flow in multiple steps"},nextButtonText:{type:String,default:"Next"},backButtonText:{type:String,default:"Back"},finishButtonText:{type:String,default:"Finish"},color:{type:String,default:"#e74c3c"},shape:{type:String,default:"circle"},transition:{type:String,default:""},startIndex:{type:Number,default:0}},data:function(){return{activeTabIndex:0,isLastStep:!1,currentPercentage:0,maxStep:0,tabs:[]}},computed:{tabCount:function(){return this.tabs.length},displayPrevButton:function(){return 0!==this.activeTabIndex},stepPercentage:function(){return 1/(2*this.tabCount)*100},progressBarStyle:function(){return{backgroundColor:this.color,width:this.progress+"%",color:this.color}},iconActiveStyle:function(){return{backgroundColor:this.color}},stepCheckedStyle:function(){return{borderColor:this.color}},stepTitleStyle:function(){return{color:this.color}},isStepSquare:function(){return"square"===this.shape},isTabShape:function(){return"tab"===this.shape},fillButtonStyle:function(){return{backgroundColor:this.color,borderColor:this.color,color:"white"}},progress:function(){var t=0;if(this.activeTabIndex>0){t=this.stepPercentage*(2*this.activeTabIndex+1)}else t=this.stepPercentage;return t}},methods:{isChecked:function(t){return t<=this.maxStep},navigateToTab:function(t){t<=this.maxStep&&this.beforeTabChange(this.activeTabIndex)&&this.changeTab(this.activeTabIndex,t)},beforeTabChange:function(t){var e=this.tabs[t];return!e||void 0===e.beforeChange||e.beforeChange()},changeTab:function(t,e){var n=this.tabs[t],s=this.tabs[e];return n&&(n.show=!1,n.active=!1),s&&(s.show=!0,s.active=!0),this.activeTabIndex=e,this.checkStep(),this.tryChangeRoute(s),!0},tryChangeRoute:function(t){this.$router&&t.route&&this.$router.push(t.route)},checkStep:function(){this.activeTabIndex===this.tabCount-1?this.isLastStep=!0:this.isLastStep=!1},increaseMaxStep:function(){this.activeTabIndex>this.maxStep&&(this.maxStep=this.activeTabIndex)},nextTab:function(){this.beforeTabChange(this.activeTabIndex)&&(this.activeTabIndex0&&(this.activeTabIndex--,this.isLastStep=!1)},finish:function(){this.$emit("on-complete")}},mounted:function(){if(this.tabs=this.$children.filter(function(t){return"tab-content"===t.$options.name}),this.tabs.length>0){var t=this.tabs[this.activeTabIndex];t.show=!0,t.active=!0,this.tryChangeRoute(t)}this.startIndex0){t=this.stepPercentage*(2*this.activeTabIndex+1)}else t=this.stepPercentage;return t}},methods:{isChecked:function(t){return t<=this.maxStep},navigateToTab:function(t){var e=this;if(t<=this.maxStep){var n=function(){e.changeTab(e.activeTabIndex,t)};this.beforeTabChange(this.activeTabIndex,n)}},setLoading:function(t){this.loading=t,this.$emit("on-loading",t)},validateBeforeChange:function(t,e){var n=this;if(t.then&&"function"==typeof t.then)this.setLoading(!0),t.then(function(t){n.setLoading(!1);var i=!0===t;n.executeBeforeChange(i,e)}).catch(function(){n.setLoading(!1)});else{var i=!0===t;this.executeBeforeChange(i,e)}},executeBeforeChange:function(t,e){this.$emit("on-validate",t,this.activeTabIndex),t&&e()},beforeTabChange:function(t,e){if(!this.loading){var n=this.tabs[t];if(n&&void 0!==n.beforeChange){var i=n.beforeChange();this.validateBeforeChange(i,e)}else e()}},changeTab:function(t,e){var n=this.tabs[t],i=this.tabs[e];return n&&(n.active=!1),i&&(i.active=!0),this.activeTabIndex=e,this.checkStep(),!0},checkStep:function(){this.activeTabIndex===this.tabCount-1?this.isLastStep=!0:this.isLastStep=!1},increaseMaxStep:function(){this.activeTabIndex>this.maxStep&&(this.maxStep=this.activeTabIndex)},nextTab:function(){var t=this,e=function(){t.activeTabIndex0&&(t.changeTab(t.activeTabIndex,t.activeTabIndex-1),t.isLastStep=!1)};this.beforeTabChange(this.activeTabIndex,e)},finish:function(){var t=this,e=function(){t.$emit("on-complete")};this.beforeTabChange(this.activeTabIndex,e)}},mounted:function(){if(this.tabs=this.$children.filter(function(t){return"tab-content"===t.$options.name}),this.tabs.length>0&&0===this.startIndex){this.tabs[this.activeTabIndex].active=!0}if(this.startIndex.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm{padding:5px 10px}.btn-sm,.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.clearfix:after,.clearfix:before,.nav:after,.nav:before{content:" ";display:table}.clearfix:after,.nav:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}.btn,.navbar .navbar-nav>li>a.btn{box-sizing:border-box;border-width:2px;background-color:transparent;font-size:14px;font-weight:600;padding:7px 18px}.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover{outline:0!important}.btn.active,.btn:active,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.open>.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle{box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>li>a.btn.btn-icon{border-radius:25px;padding:7px 10px}.btn.btn-icon i,.navbar .navbar-nav>li>a.btn.btn-icon i{margin-right:0}.btn-disabled{cursor:default}.btn-wd,.navbar .navbar-nav>li>a.btn.btn-wd{min-width:140px}.vue-tab-wizard .nav-pills{margin-top:0;position:relative;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.vue-tab-wizard .nav-pills a,.vue-tab-wizard .nav-pills li{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-positive:1;flex-grow:1}.vue-tab-wizard .nav-pills a{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-tab-wizard .nav-pills>li+li{margin-left:0}.vue-tab-wizard .nav-pills>li>a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0;margin:0 auto;color:rgba(0,0,0,.2);position:relative;top:3px;z-index:100}.vue-tab-wizard .nav-pills>li>a:focus,.vue-tab-wizard .nav-pills>li>a:hover{background-color:transparent;color:rgba(0,0,0,.2);outline:0!important;cursor:pointer}.vue-tab-wizard .nav-pills>li.active>a,.vue-tab-wizard .nav-pills>li.active>a:focus,.vue-tab-wizard .nav-pills>li.active>a:hover{background-color:transparent;transition:font-size .2s linear}.vue-tab-wizard .nav-pills>li.active>a .icon,.vue-tab-wizard .nav-pills>li.active>a:focus .icon,.vue-tab-wizard .nav-pills>li.active>a:hover .icon{color:#fff;font-size:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;transition:all .2s linear}.vue-tab-wizard{padding-bottom:20px}.vue-tab-wizard .icon-circle{font-size:18px;border:3px solid #f3f2ee;border-radius:50%;font-weight:600;width:70px;height:70px;background-color:#fff;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center}.vue-tab-wizard .icon-circle.square_shape{border-radius:0}.vue-tab-wizard .icon-circle.tab_shape{width:100%;min-width:100px;height:40px;border:none;background-color:#f3f2ee;border-radius:0}.vue-tab-wizard .icon-circle .icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:40%}.vue-tab-wizard .icon-circle .icon-container.square_shape,.vue-tab-wizard .icon-circle .icon-container.tab_shape{border-radius:0}.vue-tab-wizard .icon-circle .icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vue-tab-wizard .tab-content{min-height:100px;padding:30px 20px 10px}.vue-tab-wizard .card-footer{padding:0 20px}.vue-tab-wizard .wizard-header{padding:15px;position:relative;border-radius:3px 3px 0 0;z-index:3;text-align:center}.vue-tab-wizard .wizard-title{color:#252422;font-weight:300;margin:0;text-align:center}.vue-tab-wizard .category{font-size:14px;font-weight:400;color:#9a9a9a;margin-bottom:0;text-align:center}.vue-tab-wizard .wizard-navigation .progress-with-circle{position:relative;top:40px;z-index:50;height:4px}.vue-tab-wizard .wizard-navigation .progress-with-circle .progress-bar{box-shadow:none;transition:width .3s ease}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter,.fade-leave-to{opacity:0}
\ No newline at end of file
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.btn,[role=button]{cursor:pointer}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm{padding:5px 10px}.btn-sm,.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.clearfix:after,.clearfix:before,.nav:after,.nav:before{content:" ";display:table}.clearfix:after,.nav:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}.btn,.navbar .navbar-nav>li>a.btn{box-sizing:border-box;border-width:2px;background-color:transparent;font-size:14px;font-weight:600;padding:7px 18px;border-color:#66615b;color:#66615b;transition:all .15s linear}.btn.active,.btn:active,.btn:active:focus,.btn:active:hover,.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.navbar .navbar-nav>li>a.btn:active:focus,.navbar .navbar-nav>li>a.btn:active:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover,.open>.btn.dropdown-toggle,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:hover{background-color:#66615b;color:hsla(0,0%,100%,.85);border-color:#66615b}.btn.active .caret,.btn:active .caret,.btn:active:focus .caret,.btn:active:hover .caret,.btn:focus .caret,.btn:hover .caret,.navbar .navbar-nav>li>a.btn.active .caret,.navbar .navbar-nav>li>a.btn:active .caret,.navbar .navbar-nav>li>a.btn:active:focus .caret,.navbar .navbar-nav>li>a.btn:active:hover .caret,.navbar .navbar-nav>li>a.btn:focus .caret,.navbar .navbar-nav>li>a.btn:hover .caret,.open>.btn.dropdown-toggle .caret,.open>.btn.dropdown-toggle:focus .caret,.open>.btn.dropdown-toggle:hover .caret,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle .caret,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:focus .caret,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle:hover .caret{border-top-color:hsla(0,0%,100%,.85)}.btn.disabled,.btn.disabled.active,.btn.disabled.focus,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled.active,.btn:disabled.focus,.btn:disabled:active,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled].focus,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,.navbar .navbar-nav>li>a.btn.disabled,.navbar .navbar-nav>li>a.btn.disabled.active,.navbar .navbar-nav>li>a.btn.disabled.focus,.navbar .navbar-nav>li>a.btn.disabled:active,.navbar .navbar-nav>li>a.btn.disabled:focus,.navbar .navbar-nav>li>a.btn.disabled:hover,.navbar .navbar-nav>li>a.btn:disabled,.navbar .navbar-nav>li>a.btn:disabled.active,.navbar .navbar-nav>li>a.btn:disabled.focus,.navbar .navbar-nav>li>a.btn:disabled:active,.navbar .navbar-nav>li>a.btn:disabled:focus,.navbar .navbar-nav>li>a.btn:disabled:hover,.navbar .navbar-nav>li>a.btn[disabled],.navbar .navbar-nav>li>a.btn[disabled].active,.navbar .navbar-nav>li>a.btn[disabled].focus,.navbar .navbar-nav>li>a.btn[disabled]:active,.navbar .navbar-nav>li>a.btn[disabled]:focus,.navbar .navbar-nav>li>a.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn.focus,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn,fieldset[disabled] .navbar .navbar-nav>li>a.btn.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn:hover{background-color:transparent;border-color:#66615b}.btn.btn-fill,.navbar .navbar-nav>li>a.btn.btn-fill{color:#fff;background-color:#66615b;opacity:1;filter:alpha(opacity=100)}.btn.btn-fill.active,.btn.btn-fill:active,.btn.btn-fill:focus,.btn.btn-fill:hover,.navbar .navbar-nav>li>a.btn.btn-fill.active,.navbar .navbar-nav>li>a.btn.btn-fill:active,.navbar .navbar-nav>li>a.btn.btn-fill:focus,.navbar .navbar-nav>li>a.btn.btn-fill:hover,.open>.btn.btn-fill.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-fill.dropdown-toggle{background-color:#484541;color:#fff;border-color:#484541}.btn.btn-fill .caret,.navbar .navbar-nav>li>a.btn.btn-fill .caret{border-top-color:#fff}.btn.btn-simple.active,.btn.btn-simple:active,.btn.btn-simple:focus,.btn.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-simple.active,.navbar .navbar-nav>li>a.btn.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-simple:hover,.open>.btn.btn-simple.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-simple.dropdown-toggle{background-color:transparent;color:#484541}.btn.btn-simple .caret,.navbar .navbar-nav>li>a.btn.btn-simple .caret{border-top-color:#fff}.btn .caret,.navbar .navbar-nav>li>a.btn .caret{border-top-color:#66615b}.btn:focus,.btn:hover,.navbar .navbar-nav>li>a.btn:focus,.navbar .navbar-nav>li>a.btn:hover{outline:0!important}.btn.active,.btn:active,.navbar .navbar-nav>li>a.btn.active,.navbar .navbar-nav>li>a.btn:active,.open>.btn.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.dropdown-toggle{box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>li>a.btn.btn-icon{border-radius:25px;padding:7px 10px}.btn.btn-icon i,.navbar .navbar-nav>li>a.btn.btn-icon i{margin-right:0}.btn [class*=ti-],.navbar .navbar-nav>li>a.btn [class*=ti-]{vertical-align:middle}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-2px}.btn-primary,.navbar .navbar-nav>li>a.btn.btn-primary{border-color:#7a9e9f;color:#7a9e9f}.btn-primary.active,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover,.navbar .navbar-nav>li>a.btn.btn-primary.active,.navbar .navbar-nav>li>a.btn.btn-primary:active,.navbar .navbar-nav>li>a.btn.btn-primary:active:focus,.navbar .navbar-nav>li>a.btn.btn-primary:active:hover,.navbar .navbar-nav>li>a.btn.btn-primary:focus,.navbar .navbar-nav>li>a.btn.btn-primary:hover,.open>.btn-primary.dropdown-toggle,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:hover{background-color:#7a9e9f;color:hsla(0,0%,100%,.85);border-color:#7a9e9f}.btn-primary.active .caret,.btn-primary:active .caret,.btn-primary:active:focus .caret,.btn-primary:active:hover .caret,.btn-primary:focus .caret,.btn-primary:hover .caret,.navbar .navbar-nav>li>a.btn.btn-primary.active .caret,.navbar .navbar-nav>li>a.btn.btn-primary:active .caret,.navbar .navbar-nav>li>a.btn.btn-primary:active:focus .caret,.navbar .navbar-nav>li>a.btn.btn-primary:active:hover .caret,.navbar .navbar-nav>li>a.btn.btn-primary:focus .caret,.navbar .navbar-nav>li>a.btn.btn-primary:hover .caret,.open>.btn-primary.dropdown-toggle .caret,.open>.btn-primary.dropdown-toggle:focus .caret,.open>.btn-primary.dropdown-toggle:hover .caret,.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle .caret,.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:focus .caret,.open>.navbar .navbar-nav>li>a.btn.btn-primary.dropdown-toggle:hover .caret{border-top-color:hsla(0,0%,100%,.85)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled.active,.btn-primary:disabled.focus,.btn-primary:disabled:active,.btn-primary:disabled:focus,.btn-primary:disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,.navbar .navbar-nav>li>a.btn.btn-primary.disabled,.navbar .navbar-nav>li>a.btn.btn-primary.disabled.active,.navbar .navbar-nav>li>a.btn.btn-primary.disabled.focus,.navbar .navbar-nav>li>a.btn.btn-primary.disabled:active,.navbar .navbar-nav>li>a.btn.btn-primary.disabled:focus,.navbar .navbar-nav>li>a.btn.btn-primary.disabled:hover,.navbar .navbar-nav>li>a.btn.btn-primary:disabled,.navbar .navbar-nav>li>a.btn.btn-primary:disabled.active,.navbar .navbar-nav>li>a.btn.btn-primary:disabled.focus,.navbar .navbar-nav>li>a.btn.btn-primary:disabled:active,.navbar .navbar-nav>li>a.btn.btn-primary:disabled:focus,.navbar .navbar-nav>li>a.btn.btn-primary:disabled:hover,.navbar .navbar-nav>li>a.btn.btn-primary[disabled],.navbar .navbar-nav>li>a.btn.btn-primary[disabled].active,.navbar .navbar-nav>li>a.btn.btn-primary[disabled].focus,.navbar .navbar-nav>li>a.btn.btn-primary[disabled]:active,.navbar .navbar-nav>li>a.btn.btn-primary[disabled]:focus,.navbar .navbar-nav>li>a.btn.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-primary,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-primary.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-primary.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-primary:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-primary:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-primary:hover{background-color:transparent;border-color:#7a9e9f}.btn-primary.btn-fill,.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill{color:#fff;background-color:#7a9e9f;opacity:1;filter:alpha(opacity=100)}.btn-primary.btn-fill.active,.btn-primary.btn-fill:active,.btn-primary.btn-fill:focus,.btn-primary.btn-fill:hover,.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill.active,.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill:active,.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill:focus,.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill:hover,.open>.btn-primary.btn-fill.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill.dropdown-toggle{background-color:#5e8283;color:#fff;border-color:#5e8283}.btn-primary.btn-fill .caret,.navbar .navbar-nav>li>a.btn.btn-primary.btn-fill .caret{border-top-color:#fff}.btn-primary.btn-simple.active,.btn-primary.btn-simple:active,.btn-primary.btn-simple:focus,.btn-primary.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-primary.btn-simple.active,.navbar .navbar-nav>li>a.btn.btn-primary.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-primary.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-primary.btn-simple:hover,.open>.btn-primary.btn-simple.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-primary.btn-simple.dropdown-toggle{background-color:transparent;color:#5e8283}.btn-primary.btn-simple .caret,.navbar .navbar-nav>li>a.btn.btn-primary.btn-simple .caret{border-top-color:#fff}.btn-primary .caret,.navbar .navbar-nav>li>a.btn.btn-primary .caret{border-top-color:#7a9e9f}.btn-info,.navbar .navbar-nav>li>a.btn.btn-info{border-color:#68b3c8;color:#68b3c8}.btn-info.active,.btn-info:active,.btn-info:active:focus,.btn-info:active:hover,.btn-info:focus,.btn-info:hover,.navbar .navbar-nav>li>a.btn.btn-info.active,.navbar .navbar-nav>li>a.btn.btn-info:active,.navbar .navbar-nav>li>a.btn.btn-info:active:focus,.navbar .navbar-nav>li>a.btn.btn-info:active:hover,.navbar .navbar-nav>li>a.btn.btn-info:focus,.navbar .navbar-nav>li>a.btn.btn-info:hover,.open>.btn-info.dropdown-toggle,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover,.open>.navbar .navbar-nav>li>a.btn.btn-info.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-info.dropdown-toggle:focus,.open>.navbar .navbar-nav>li>a.btn.btn-info.dropdown-toggle:hover{background-color:#68b3c8;color:hsla(0,0%,100%,.85);border-color:#68b3c8}.btn-info.active .caret,.btn-info:active .caret,.btn-info:active:focus .caret,.btn-info:active:hover .caret,.btn-info:focus .caret,.btn-info:hover .caret,.navbar .navbar-nav>li>a.btn.btn-info.active .caret,.navbar .navbar-nav>li>a.btn.btn-info:active .caret,.navbar .navbar-nav>li>a.btn.btn-info:active:focus .caret,.navbar .navbar-nav>li>a.btn.btn-info:active:hover .caret,.navbar .navbar-nav>li>a.btn.btn-info:focus .caret,.navbar .navbar-nav>li>a.btn.btn-info:hover .caret,.open>.btn-info.dropdown-toggle .caret,.open>.btn-info.dropdown-toggle:focus .caret,.open>.btn-info.dropdown-toggle:hover .caret,.open>.navbar .navbar-nav>li>a.btn.btn-info.dropdown-toggle .caret,.open>.navbar .navbar-nav>li>a.btn.btn-info.dropdown-toggle:focus .caret,.open>.navbar .navbar-nav>li>a.btn.btn-info.dropdown-toggle:hover .caret{border-top-color:hsla(0,0%,100%,.85)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled,.btn-info:disabled.active,.btn-info:disabled.focus,.btn-info:disabled:active,.btn-info:disabled:focus,.btn-info:disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,.navbar .navbar-nav>li>a.btn.btn-info.disabled,.navbar .navbar-nav>li>a.btn.btn-info.disabled.active,.navbar .navbar-nav>li>a.btn.btn-info.disabled.focus,.navbar .navbar-nav>li>a.btn.btn-info.disabled:active,.navbar .navbar-nav>li>a.btn.btn-info.disabled:focus,.navbar .navbar-nav>li>a.btn.btn-info.disabled:hover,.navbar .navbar-nav>li>a.btn.btn-info:disabled,.navbar .navbar-nav>li>a.btn.btn-info:disabled.active,.navbar .navbar-nav>li>a.btn.btn-info:disabled.focus,.navbar .navbar-nav>li>a.btn.btn-info:disabled:active,.navbar .navbar-nav>li>a.btn.btn-info:disabled:focus,.navbar .navbar-nav>li>a.btn.btn-info:disabled:hover,.navbar .navbar-nav>li>a.btn.btn-info[disabled],.navbar .navbar-nav>li>a.btn.btn-info[disabled].active,.navbar .navbar-nav>li>a.btn.btn-info[disabled].focus,.navbar .navbar-nav>li>a.btn.btn-info[disabled]:active,.navbar .navbar-nav>li>a.btn.btn-info[disabled]:focus,.navbar .navbar-nav>li>a.btn.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-info,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-info.active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-info.focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-info:active,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-info:focus,fieldset[disabled] .navbar .navbar-nav>li>a.btn.btn-info:hover{background-color:transparent;border-color:#68b3c8}.btn-info.btn-fill,.navbar .navbar-nav>li>a.btn.btn-info.btn-fill{color:#fff;background-color:#68b3c8;opacity:1;filter:alpha(opacity=100)}.btn-info.btn-fill.active,.btn-info.btn-fill:active,.btn-info.btn-fill:focus,.btn-info.btn-fill:hover,.navbar .navbar-nav>li>a.btn.btn-info.btn-fill.active,.navbar .navbar-nav>li>a.btn.btn-info.btn-fill:active,.navbar .navbar-nav>li>a.btn.btn-info.btn-fill:focus,.navbar .navbar-nav>li>a.btn.btn-info.btn-fill:hover,.open>.btn-info.btn-fill.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-info.btn-fill.dropdown-toggle{background-color:#429cb6;color:#fff;border-color:#429cb6}.btn-info.btn-fill .caret,.navbar .navbar-nav>li>a.btn.btn-info.btn-fill .caret{border-top-color:#fff}.btn-info.btn-simple.active,.btn-info.btn-simple:active,.btn-info.btn-simple:focus,.btn-info.btn-simple:hover,.navbar .navbar-nav>li>a.btn.btn-info.btn-simple.active,.navbar .navbar-nav>li>a.btn.btn-info.btn-simple:active,.navbar .navbar-nav>li>a.btn.btn-info.btn-simple:focus,.navbar .navbar-nav>li>a.btn.btn-info.btn-simple:hover,.open>.btn-info.btn-simple.dropdown-toggle,.open>.navbar .navbar-nav>li>a.btn.btn-info.btn-simple.dropdown-toggle{background-color:transparent;color:#429cb6}.btn-info.btn-simple .caret,.navbar .navbar-nav>li>a.btn.btn-info.btn-simple .caret{border-top-color:#fff}.btn-info .caret,.navbar .navbar-nav>li>a.btn.btn-info .caret{border-top-color:#68b3c8}.btn.btn-disabled,.btn.disabled,.btn:disabled,.btn[disabled]{opacity:.5;filter:alpha(opacity=50)}.btn-disabled{cursor:default}.btn-simple{border:0;padding:7px 18px}.btn-wd,.navbar .navbar-nav>li>a.btn.btn-wd{min-width:140px}.btn-group.select{width:100%}.btn-group.select .btn{text-align:left}.btn-group.select .caret{position:absolute;top:50%;margin-top:-1px;right:8px}.vue-tab-wizard .nav-pills{margin-top:0;position:relative;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.vue-tab-wizard .nav-pills a,.vue-tab-wizard .nav-pills li{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-positive:1;flex-grow:1}.vue-tab-wizard .nav-pills a{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-tab-wizard .nav-pills>li+li{margin-left:0}.vue-tab-wizard .nav-pills>li>a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0;margin:0 auto;color:rgba(0,0,0,.2);position:relative;top:3px;z-index:100}.vue-tab-wizard .nav-pills>li>a:focus,.vue-tab-wizard .nav-pills>li>a:hover{background-color:transparent;color:rgba(0,0,0,.2);outline:0!important;cursor:pointer}.vue-tab-wizard .nav-pills>li.active>a,.vue-tab-wizard .nav-pills>li.active>a:focus,.vue-tab-wizard .nav-pills>li.active>a:hover{background-color:transparent;transition:font-size .2s linear}.vue-tab-wizard .nav-pills>li.active>a .icon,.vue-tab-wizard .nav-pills>li.active>a:focus .icon,.vue-tab-wizard .nav-pills>li.active>a:hover .icon{color:#fff;font-size:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;transition:all .2s linear}.vue-tab-wizard{padding-bottom:20px}.vue-tab-wizard .icon-circle{font-size:18px;border:3px solid #f3f2ee;border-radius:50%;font-weight:600;width:70px;height:70px;background-color:#fff;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center}.vue-tab-wizard .icon-circle.square_shape{border-radius:0}.vue-tab-wizard .icon-circle.tab_shape{width:100%;min-width:100px;height:40px;border:none;background-color:#f3f2ee;border-radius:0}.vue-tab-wizard .icon-circle .icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:40%}.vue-tab-wizard .icon-circle .icon-container.square_shape,.vue-tab-wizard .icon-circle .icon-container.tab_shape{border-radius:0}.vue-tab-wizard .icon-circle .icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vue-tab-wizard .tab-content{min-height:100px;padding:30px 20px 10px}.vue-tab-wizard .card-footer{padding:0 20px}.vue-tab-wizard .wizard-header{padding:15px;position:relative;border-radius:3px 3px 0 0;z-index:3;text-align:center}.vue-tab-wizard .wizard-title{color:#252422;font-weight:300;margin:0;text-align:center}.vue-tab-wizard .category{font-size:14px;font-weight:400;color:#9a9a9a;margin-bottom:0;text-align:center}.vue-tab-wizard .wizard-navigation .progress-with-circle{position:relative;top:40px;z-index:50;height:4px}.vue-tab-wizard .wizard-navigation .progress-with-circle .progress-bar{box-shadow:none;transition:width .3s ease}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter,.fade-leave-to{opacity:0}
\ No newline at end of file
diff --git a/package.json b/package.json
index e121e16..2c0540a 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
"name": "vue-form-wizard",
- "version": "0.1.11",
+ "version": "0.1.6",
"description": "A vue based tab/form wizard",
- "main": "dist/vue-form-wizard.js",
+ "main": "dist/vue-tab-wizard.js",
"homepage": "https://github.com/cristijora/vue-form-wizard",
"scripts": {
"dev": "node build/dev-server.js",
@@ -25,6 +25,7 @@
"url": "https://github.com/cristijora/vue-form-wizard"
},
"devDependencies": {
+ "vue": "^2.2.2",
"autoprefixer": "^6.7.2",
"babel-core": "^6.22.1",
"babel-eslint": "^7.1.1",
@@ -83,9 +84,7 @@
"sinon-chai": "^2.8.0",
"stats-webpack-plugin": "^0.6.0",
"url-loader": "^0.5.8",
- "vue": "^2.2.2",
"vue-loader": "^11.1.4",
- "vue-router": "^2.4.0",
"vue-style-loader": "^2.0.0",
"vue-template-compiler": "^2.2.4",
"webpack": "^2.2.1",
diff --git a/src/assets/form-wizard/_buttons.scss b/src/assets/form-wizard/_buttons.scss
deleted file mode 100644
index 64db1ce..0000000
--- a/src/assets/form-wizard/_buttons.scss
+++ /dev/null
@@ -1,39 +0,0 @@
-.btn,
-.navbar .navbar-nav > li > a.btn{
- box-sizing: border-box;
- border-width: $border-thick;
- background-color: $transparent-bg;
- font-size: $font-size-base;
- font-weight: $font-weight-bold;
-
- padding: $padding-base-vertical $padding-base-horizontal;
-
- &:hover,
- &:focus{
- outline: 0 !important;
- }
- &:active,
- &.active,
- .open > &.dropdown-toggle {
- @include box-shadow(none);
- outline: 0 !important;
- }
-
- &.btn-icon{
- border-radius: 25px;
- padding: 7px 10px;
- i{
- margin-right: 0px;
- }
- }
-}
-
-
-.btn-disabled{
- cursor: default;
-}
-
-.navbar .navbar-nav > li > a.btn.btn-wd,
-.btn-wd{
- min-width: 140px;
-}
diff --git a/src/assets/tab-wizard/_buttons.scss b/src/assets/tab-wizard/_buttons.scss
new file mode 100644
index 0000000..af69e68
--- /dev/null
+++ b/src/assets/tab-wizard/_buttons.scss
@@ -0,0 +1,85 @@
+.btn,
+.navbar .navbar-nav > li > a.btn{
+ box-sizing: border-box;
+ border-width: $border-thick;
+ background-color: $transparent-bg;
+ font-size: $font-size-base;
+ font-weight: $font-weight-bold;
+
+ padding: $padding-base-vertical $padding-base-horizontal;
+
+ @include btn-styles($default-color, $default-states-color);
+ @include transition($fast-transition-time, linear);
+
+ &:hover,
+ &:focus{
+ outline: 0 !important;
+ }
+ &:active,
+ &.active,
+ .open > &.dropdown-toggle {
+ @include box-shadow(none);
+ outline: 0 !important;
+ }
+
+ &.btn-icon{
+ border-radius: 25px;
+ padding: 7px 10px;
+ i{
+ margin-right: 0px;
+ }
+ }
+
+ [class*="ti-"]{
+ vertical-align: middle;
+ }
+
+}
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group{
+ margin-left: -2px;
+
+}
+
+// Apply the mixin to the buttons
+//.btn-default { @include btn-styles($default-color, $default-states-color); }
+.navbar .navbar-nav > li > a.btn.btn-primary, .btn-primary { @include btn-styles($primary-color, $primary-states-color); }
+.navbar .navbar-nav > li > a.btn.btn-info, .btn-info { @include btn-styles($info-color, $info-states-color); }
+
+.btn{
+ &:disabled,
+ &[disabled],
+ &.disabled,
+ &.btn-disabled{
+ @include opacity(.5);
+ }
+}
+.btn-disabled{
+ cursor: default;
+}
+.btn-simple{
+ border: $none;
+ padding: $padding-base-vertical $padding-base-horizontal;
+
+}
+
+.navbar .navbar-nav > li > a.btn.btn-wd,
+.btn-wd{
+ min-width: 140px;
+}
+
+.btn-group.select{
+ width: 100%;
+}
+.btn-group.select .btn{
+ text-align: left;
+}
+.btn-group.select .caret{
+ position: absolute;
+ top: 50%;
+ margin-top: -1px;
+ right: 8px;
+}
diff --git a/src/assets/form-wizard/_mixins.scss b/src/assets/tab-wizard/_mixins.scss
similarity index 100%
rename from src/assets/form-wizard/_mixins.scss
rename to src/assets/tab-wizard/_mixins.scss
diff --git a/src/assets/form-wizard/_navs-pagination.scss b/src/assets/tab-wizard/_navs-pagination.scss
similarity index 100%
rename from src/assets/form-wizard/_navs-pagination.scss
rename to src/assets/tab-wizard/_navs-pagination.scss
diff --git a/src/assets/form-wizard/_variables.scss b/src/assets/tab-wizard/_variables.scss
similarity index 100%
rename from src/assets/form-wizard/_variables.scss
rename to src/assets/tab-wizard/_variables.scss
diff --git a/src/assets/form-wizard/_wizard-card.scss b/src/assets/tab-wizard/_wizard-card.scss
similarity index 100%
rename from src/assets/form-wizard/_wizard-card.scss
rename to src/assets/tab-wizard/_wizard-card.scss
diff --git a/src/assets/form-wizard/bootstrap.min.css b/src/assets/tab-wizard/bootstrap.min.css
similarity index 100%
rename from src/assets/form-wizard/bootstrap.min.css
rename to src/assets/tab-wizard/bootstrap.min.css
diff --git a/src/assets/form-wizard/bs_button.scss b/src/assets/tab-wizard/bs_button.scss
similarity index 97%
rename from src/assets/form-wizard/bs_button.scss
rename to src/assets/tab-wizard/bs_button.scss
index a638bce..f3a0130 100644
--- a/src/assets/form-wizard/bs_button.scss
+++ b/src/assets/tab-wizard/bs_button.scss
@@ -13,7 +13,7 @@
border: 1px solid transparent;
white-space: nowrap;
@include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base);
- //@include user-select(none);
+ @include user-select(none);
&,
&:active,
diff --git a/src/assets/form-wizard/bs_nav_pills.scss b/src/assets/tab-wizard/bs_nav_pills.scss
similarity index 100%
rename from src/assets/form-wizard/bs_nav_pills.scss
rename to src/assets/tab-wizard/bs_nav_pills.scss
diff --git a/src/assets/form-wizard/bs_progress_bar.scss b/src/assets/tab-wizard/bs_progress_bar.scss
similarity index 100%
rename from src/assets/form-wizard/bs_progress_bar.scss
rename to src/assets/tab-wizard/bs_progress_bar.scss
diff --git a/src/assets/form-wizard/bs_variables.scss b/src/assets/tab-wizard/bs_variables.scss
similarity index 100%
rename from src/assets/form-wizard/bs_variables.scss
rename to src/assets/tab-wizard/bs_variables.scss
diff --git a/src/assets/form-wizard/mixins/_buttons.scss b/src/assets/tab-wizard/mixins/_buttons.scss
similarity index 100%
rename from src/assets/form-wizard/mixins/_buttons.scss
rename to src/assets/tab-wizard/mixins/_buttons.scss
diff --git a/src/assets/form-wizard/mixins/_transparency.scss b/src/assets/tab-wizard/mixins/_transparency.scss
similarity index 100%
rename from src/assets/form-wizard/mixins/_transparency.scss
rename to src/assets/tab-wizard/mixins/_transparency.scss
diff --git a/src/assets/form-wizard/mixins/_vendor-prefixes.scss b/src/assets/tab-wizard/mixins/_vendor-prefixes.scss
similarity index 100%
rename from src/assets/form-wizard/mixins/_vendor-prefixes.scss
rename to src/assets/tab-wizard/mixins/_vendor-prefixes.scss
diff --git a/src/assets/wizard.scss b/src/assets/wizard.scss
index 17c2409..1723d19 100644
--- a/src/assets/wizard.scss
+++ b/src/assets/wizard.scss
@@ -1,8 +1,8 @@
-/*@import "form-wizard/bs_button";
-@import "form-wizard/bs_nav_pills";
-@import "form-wizard/bs_progress_bar";*/
-@import "form-wizard/variables";
-@import "form-wizard/mixins";
-@import "form-wizard/buttons";
-@import "form-wizard/navs-pagination";
-@import "form-wizard/wizard-card";
+//@import "tab-wizard/bs_button";
+//@import "tab-wizard/bs_nav_pills";
+//@import "tab-wizard/bs_progress_bar";
+@import "tab-wizard/variables";
+@import "tab-wizard/mixins";
+@import "tab-wizard/buttons";
+@import "tab-wizard/navs-pagination";
+@import "tab-wizard/wizard-card";
diff --git a/src/components/FormWizard.vue b/src/components/FormWizard.vue
index 72ed728..f6de490 100644
--- a/src/components/FormWizard.vue
+++ b/src/components/FormWizard.vue
@@ -43,7 +43,7 @@
-
+
{{backButtonText}}
@@ -63,7 +63,7 @@
-
+
{{nextButtonText}}
@@ -130,6 +130,7 @@
isLastStep: false,
currentPercentage: 0,
maxStep: 0,
+ loading: false,
tabs: []
}
},
@@ -195,38 +196,65 @@
return index <= this.maxStep
},
navigateToTab (index) {
- if (index <= this.maxStep && this.beforeTabChange(this.activeTabIndex)) {
- this.changeTab(this.activeTabIndex, index)
+ if (index <= this.maxStep) {
+ let cb = () => {
+ this.changeTab(this.activeTabIndex, index)
+ }
+ this.beforeTabChange(this.activeTabIndex, cb)
}
},
- beforeTabChange (index) {
+ setLoading (value) {
+ this.loading = value
+ this.$emit('on-loading', value)
+ },
+ validateBeforeChange (promiseFn, callback) {
+ // we have a promise
+ if (promiseFn.then && typeof promiseFn.then === 'function') {
+ this.setLoading(true)
+ promiseFn.then((res) => {
+ this.setLoading(false)
+ let validationResult = res === true
+ this.executeBeforeChange(validationResult, callback)
+ }).catch(() => {
+ this.setLoading(false)
+ })
+ // we have a simple function
+ } else {
+ let validationResult = promiseFn === true
+ this.executeBeforeChange(validationResult, callback)
+ }
+ },
+ executeBeforeChange (validationResult, callback) {
+ this.$emit('on-validate', validationResult, this.activeTabIndex)
+ if (validationResult) {
+ callback()
+ }
+ },
+ beforeTabChange (index, callback) {
+ if (this.loading) {
+ return
+ }
let oldTab = this.tabs[index]
if (oldTab && oldTab.beforeChange !== undefined) {
- return oldTab.beforeChange()
+ let tabChangeRes = oldTab.beforeChange()
+ this.validateBeforeChange(tabChangeRes, callback)
+ } else {
+ callback()
}
- return true
},
changeTab (oldIndex, newIndex) {
let oldTab = this.tabs[oldIndex]
let newTab = this.tabs[newIndex]
if (oldTab) {
- oldTab.show = false
oldTab.active = false
}
if (newTab) {
- newTab.show = true
newTab.active = true
}
this.activeTabIndex = newIndex
this.checkStep()
- this.tryChangeRoute(newTab)
return true
},
- tryChangeRoute (tab) {
- if (this.$router && tab.route) {
- this.$router.push(tab.route)
- }
- },
checkStep () {
if (this.activeTabIndex === this.tabCount - 1) {
this.isLastStep = true
@@ -239,58 +267,53 @@
this.maxStep = this.activeTabIndex
}
},
-
nextTab () {
- if (!this.beforeTabChange(this.activeTabIndex)) return
-
- if (this.activeTabIndex < this.tabCount - 1) {
- this.activeTabIndex++
- this.increaseMaxStep()
- this.checkStep()
- } else {
- this.isLastStep = true
- this.$emit('finished')
+ let cb = () => {
+ if (this.activeTabIndex < this.tabCount - 1) {
+ this.changeTab(this.activeTabIndex, this.activeTabIndex + 1)
+ this.increaseMaxStep()
+ } else {
+ this.isLastStep = true
+ this.$emit('finished')
+ }
}
+ this.beforeTabChange(this.activeTabIndex, cb)
},
prevTab () {
- if (!this.beforeTabChange(this.activeTabIndex)) return
-
- if (this.activeTabIndex > 0) {
- this.activeTabIndex--
- this.isLastStep = false
+ let cb = () => {
+ if (this.activeTabIndex > 0) {
+ this.changeTab(this.activeTabIndex, this.activeTabIndex - 1)
+ this.isLastStep = false
+ }
}
+ this.beforeTabChange(this.activeTabIndex, cb)
},
finish () {
- this.$emit('on-complete')
+ let cb = () => {
+ this.$emit('on-complete')
+ }
+ this.beforeTabChange(this.activeTabIndex, cb)
}
},
mounted () {
this.tabs = this.$children.filter((comp) => comp.$options.name === 'tab-content')
- if (this.tabs.length > 0) {
+ if (this.tabs.length > 0 && this.startIndex === 0) {
let firstTab = this.tabs[this.activeTabIndex]
- firstTab.show = true
firstTab.active = true
- this.tryChangeRoute(firstTab)
}
if (this.startIndex < this.tabs.length) {
+ let tabToActivate = this.tabs[this.startIndex]
this.activeTabIndex = this.startIndex
+ tabToActivate.active = true
this.maxStep = this.startIndex
- this.tryChangeRoute(this.tabs[this.startIndex])
} else {
console.warn(`Prop startIndex set to ${this.startIndex} is greater than the number of tabs - ${this.tabs.length}. Make sure that the starting index is less than the number of tabs registered`)
}
- },
- watch: {
- activeTabIndex: function (newVal, oldVal) {
- if (this.beforeTabChange(oldVal)) {
- this.changeTab(oldVal, newVal)
- }
- }
}
}