committed by
GitHub
62 changed files with 15234 additions and 4076 deletions
@ -0,0 +1,30 @@ |
|||||
|
[ |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/shared/components/header/header.css", |
||||
|
"inputFile": "wwwroot/css/shared/components/header/header.scss" |
||||
|
}, |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/orders/orders.component.css", |
||||
|
"inputFile": "wwwroot/css/orders/orders.component.scss" |
||||
|
}, |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/catalog/catalog.component.css", |
||||
|
"inputFile": "wwwroot/css/catalog/catalog.component.scss" |
||||
|
}, |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/basket/basket.component.css", |
||||
|
"inputFile": "wwwroot/css/basket/basket.component.scss" |
||||
|
}, |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/basket/basket-status/basket-status.component.css", |
||||
|
"inputFile": "wwwroot/css/basket/basket-status/basket-status.component.scss" |
||||
|
}, |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/app.component.css", |
||||
|
"inputFile": "wwwroot/css/app.component.scss" |
||||
|
}, |
||||
|
{ |
||||
|
"outputFile": "wwwroot/css/_variables.css", |
||||
|
"inputFile": "wwwroot/css/_variables.scss" |
||||
|
} |
||||
|
] |
||||
@ -0,0 +1,63 @@ |
|||||
|
{ |
||||
|
"compilers": { |
||||
|
"less": { |
||||
|
"autoPrefix": "", |
||||
|
"cssComb": "none", |
||||
|
"ieCompat": true, |
||||
|
"strictMath": false, |
||||
|
"strictUnits": false, |
||||
|
"relativeUrls": true, |
||||
|
"rootPath": "", |
||||
|
"sourceMapRoot": "", |
||||
|
"sourceMapBasePath": "", |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"sass": { |
||||
|
"autoPrefix": "", |
||||
|
"includePath": "", |
||||
|
"indentType": "space", |
||||
|
"indentWidth": 2, |
||||
|
"outputStyle": "nested", |
||||
|
"Precision": 5, |
||||
|
"relativeUrls": true, |
||||
|
"sourceMapRoot": "", |
||||
|
"lineFeed": "", |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"stylus": { |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"babel": { |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"coffeescript": { |
||||
|
"bare": false, |
||||
|
"runtimeMode": "node", |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"handlebars": { |
||||
|
"root": "", |
||||
|
"noBOM": false, |
||||
|
"name": "", |
||||
|
"namespace": "", |
||||
|
"knownHelpersOnly": false, |
||||
|
"forcePartial": false, |
||||
|
"knownHelpers": [], |
||||
|
"commonjs": "", |
||||
|
"amd": false, |
||||
|
"sourceMap": false |
||||
|
} |
||||
|
}, |
||||
|
"minifiers": { |
||||
|
"css": { |
||||
|
"enabled": true, |
||||
|
"termSemicolons": true, |
||||
|
"gzip": false |
||||
|
}, |
||||
|
"javascript": { |
||||
|
"enabled": true, |
||||
|
"termSemicolons": true, |
||||
|
"gzip": false |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,48 @@ |
|||||
|
{ |
||||
|
"version": "1.0", |
||||
|
"defaultProvider": "cdnjs", |
||||
|
"libraries": [ |
||||
|
{ |
||||
|
"library": "jquery@3.3.1", |
||||
|
"destination": "wwwroot/lib/jquery/" |
||||
|
}, |
||||
|
{ |
||||
|
"provider": "unpkg", |
||||
|
"library": "bootstrap@3.3.7", |
||||
|
"files": [ |
||||
|
"dist/css/bootstrap.css", |
||||
|
"dist/css/bootstrap.css.map", |
||||
|
"dist/css/bootstrap.min.css", |
||||
|
"dist/css/bootstrap.min.css.map", |
||||
|
"dist/js/bootstrap.js", |
||||
|
"dist/js/bootstrap.min.js" |
||||
|
], |
||||
|
"destination": "wwwroot/lib/bootstrap/" |
||||
|
}, |
||||
|
{ |
||||
|
"library": "jquery-validation-unobtrusive@3.2.10", |
||||
|
"destination": "wwwroot/lib/jquery-validation-unobtrusive/" |
||||
|
}, |
||||
|
{ |
||||
|
"library": "jquery-validate@1.17.0", |
||||
|
"destination": "wwwroot/lib/jquery-validate/", |
||||
|
"files": [ |
||||
|
"jquery.validate.min.js", |
||||
|
"jquery.validate.js" |
||||
|
] |
||||
|
}, |
||||
|
{ |
||||
|
"library": "toastr.js@2.1.4", |
||||
|
"destination": "wwwroot/lib/toastr/" |
||||
|
}, |
||||
|
{ |
||||
|
"provider": "unpkg", |
||||
|
"library": "@aspnet/signalr@1.0.3", |
||||
|
"files": [ |
||||
|
"dist/browser/signalr.js", |
||||
|
"dist/browser/signalr.min.js" |
||||
|
], |
||||
|
"destination": "wwwroot/lib/@aspnet/signalr/" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
|
||||
@ -0,0 +1 @@ |
|||||
|
|
||||
@ -1 +1 @@ |
|||||
.esh-app-footer{background-color:#000;border-top:1px solid #eee;margin-top:2.5rem;padding-bottom:2.5rem;padding-top:2.5rem;width:100%}.esh-app-footer-brand{height:50px;width:230px} |
.esh-app-footer{background-color:#000;border-top:1px solid #eee;margin-top:2.5rem;padding-bottom:2.5rem;padding-top:2.5rem;width:100%;}.esh-app-footer-brand{height:50px;width:230px;}.esh-app-header{margin:15px;} |
||||
@ -1 +1 @@ |
|||||
.esh-basketstatus{cursor:pointer;display:inline-block;float:right;position:relative;transition:all .35s}.esh-basketstatus.is-disabled{opacity:.5;pointer-events:none}.esh-basketstatus-image{height:36px;margin-top:.5rem}.esh-basketstatus-badge{background-color:#83d01b;border-radius:50%;color:#fff;display:block;height:1.5rem;left:50%;position:absolute;text-align:center;top:0;transform:translateX(-38%);transition:all .35s;width:1.5rem}.esh-basketstatus-badge-inoperative{background-color:#f00;border-radius:50%;color:#fff;display:block;height:1.5rem;left:50%;position:absolute;text-align:center;top:0;transform:translateX(-38%);transition:all .35s;width:1.5rem}.esh-basketstatus:hover .esh-basketstatus-badge{background-color:transparent;color:#75b918;transition:all .35s} |
.esh-basketstatus{cursor:pointer;display:inline-block;float:right;position:relative;transition:all .35s;}.esh-basketstatus.is-disabled{opacity:.5;pointer-events:none;}.esh-basketstatus-image{height:100px;margin-top:.5rem;}.esh-basketstatus-badge{background-color:#83d01b;border-radius:50%;color:#fff;display:block;height:1.5rem;left:50%;position:absolute;text-align:center;top:0;transform:translateX(-38%);transition:all .35s;width:1.5rem;}.esh-basketstatus-badge-inoperative{background-color:#f00;border-radius:50%;color:#fff;display:block;height:1.5rem;left:50%;position:absolute;text-align:center;top:0;transform:translateX(-38%);transition:all .35s;width:1.5rem;}.esh-basketstatus:hover .esh-basketstatus-badge{background-color:transparent;color:#75b918;transition:all .35s;} |
||||
@ -1 +1 @@ |
|||||
.esh-basket{min-height:80vh}.esh-basket-titles{padding-bottom:1rem;padding-top:2rem}.esh-basket-titles--clean{padding-bottom:0;padding-top:0}.esh-basket-title{text-transform:uppercase}.esh-basket-items--border{border-bottom:1px solid #eee;padding:.5rem 0}.esh-basket-items--border:last-of-type{border-color:transparent}.esh-basket-items-margin-left1{margin-left:1px}.esh-basket-item{font-size:1rem;font-weight:300}.esh-basket-item--middle{line-height:8rem}@media screen and (max-width:1024px){.esh-basket-item--middle{line-height:1rem}}.esh-basket-item--mark{color:#00a69c}.esh-basket-image{height:8rem}.esh-basket-input{line-height:1rem;width:100%}.esh-basket-checkout{background-color:#83d01b;border:0;border-radius:0;color:#fff;display:inline-block;font-size:1rem;font-weight:400;margin-top:1rem;padding:1rem 1.5rem;text-align:center;text-transform:uppercase;transition:all .35s}.esh-basket-checkout:hover{background-color:#4a760f;transition:all .35s} |
.esh-basket{min-height:80vh;}.esh-basket-titles{padding-bottom:1rem;padding-top:2rem;}.esh-basket-titles--clean{padding-bottom:0;padding-top:0;}.esh-basket-title{text-transform:uppercase;}.esh-basket-items--border{border-bottom:1px solid #eee;padding:.5rem 0;}.esh-basket-items--border:last-of-type{border-color:transparent;}.esh-basket-items-margin-left1{margin-left:1px;}.esh-basket-item{font-size:1rem;font-weight:300;}.esh-basket-item--middle{line-height:8rem;}@media screen and (max-width:1024px){.esh-basket-item--middle{line-height:1rem;}}.esh-basket-item--mark{color:#00a69c;}.esh-basket-image{height:8rem;}.esh-basket-input{line-height:1rem;width:100%;}.esh-basket-checkout{background-color:#83d01b;border:0;border-radius:0;color:#fff;display:inline-block;font-size:1rem;font-weight:400;margin-top:1rem;padding:1rem 1.5rem;text-align:center;text-transform:uppercase;transition:all .35s;}.esh-basket-checkout:hover{background-color:#4a760f;transition:all .35s;} |
||||
@ -1 +1 @@ |
|||||
.esh-catalog-hero{background-image:url("../../images/main_banner.png");background-size:cover;height:260px;width:100%}.esh-catalog-title{position:relative;top:74.28571px}.esh-catalog-filters{background-color:#00a69c;height:65px}.esh-catalog-filter{-webkit-appearance:none;background-color:transparent;border-color:#00d9cc;color:#fff;cursor:pointer;margin-right:1rem;margin-top:.5rem;min-width:140px;outline-color:#83d01b;padding-bottom:0;padding-left:.5rem;padding-right:.5rem;padding-top:1.5rem}.esh-catalog-filter option{background-color:#00a69c}.esh-catalog-label{display:inline-block;position:relative;z-index:0}.esh-catalog-label::before{color:rgba(255,255,255,.5);content:attr(data-title);font-size:.65rem;margin-left:.5rem;margin-top:.65rem;position:absolute;text-transform:uppercase;z-index:1}.esh-catalog-label::after{background-image:url("../../images/arrow-down.png");content:'';height:7px;position:absolute;right:1.5rem;top:2.5rem;width:10px;z-index:1}.esh-catalog-send{background-color:#83d01b;color:#fff;cursor:pointer;font-size:1rem;margin-top:-1.5rem;padding:.5rem;transition:all .35s}.esh-catalog-send:hover{background-color:#4a760f;transition:all .35s}.esh-catalog-items{margin-top:1rem}.esh-catalog-item{margin-bottom:1.5rem;text-align:center;width:33%;display:inline-block;float:none !important}@media screen and (max-width:1024px){.esh-catalog-item{width:50%}}@media screen and (max-width:768px){.esh-catalog-item{width:100%}}.esh-catalog-thumbnail{max-width:370px;width:100%}.esh-catalog-button{background-color:#83d01b;border:0;color:#fff;cursor:pointer;font-size:1rem;height:3rem;margin-top:1rem;transition:all .35s;width:80%}.esh-catalog-button.is-disabled{opacity:.5;pointer-events:none}.esh-catalog-button:hover{background-color:#4a760f;transition:all .35s}.esh-catalog-name{font-size:1rem;font-weight:300;margin-top:.5rem;text-align:center;text-transform:uppercase}.esh-catalog-price{font-size:28px;font-weight:900;text-align:center}.esh-catalog-price::before{content:'$'} |
.esh-catalog-hero{background-image:url("../../images/main_banner.png");background-size:cover;height:260px;width:100%;}.esh-catalog-title{position:relative;top:74.28571px;}.esh-catalog-filters{background-color:#00a69c;height:65px;}.esh-catalog-filter{-webkit-appearance:none;background-color:transparent;border-color:#00d9cc;color:#fff;cursor:pointer;margin-right:1rem;margin-top:.5rem;min-width:140px;outline-color:#83d01b;padding-bottom:0;padding-left:.5rem;padding-right:.5rem;padding-top:1.5rem;}.esh-catalog-filter option{background-color:#00a69c;}.esh-catalog-label{display:inline-block;position:relative;z-index:0;}.esh-catalog-label::before{color:rgba(255,255,255,.5);content:attr(data-title);font-size:.65rem;margin-left:.5rem;margin-top:.65rem;position:absolute;text-transform:uppercase;z-index:1;}.esh-catalog-label::after{background-image:url("../../images/arrow-down.png");content:'';height:7px;position:absolute;right:1.5rem;top:2.5rem;width:10px;z-index:1;}.esh-catalog-send{background-color:#83d01b;color:#fff;cursor:pointer;font-size:1rem;margin-top:-1.5rem;padding:.5rem;transition:all .35s;}.esh-catalog-send:hover{background-color:#4a760f;transition:all .35s;}.esh-catalog-items{margin-top:1rem;}.esh-catalog-item{margin-bottom:1.5rem;text-align:center;width:33%;display:inline-block;float:none !important;}@media screen and (max-width:1024px){.esh-catalog-item{width:50%;}}@media screen and (max-width:768px){.esh-catalog-item{width:100%;}}.esh-catalog-thumbnail{max-width:370px;width:100%;}.esh-catalog-button{background-color:#83d01b;border:0;color:#fff;cursor:pointer;font-size:1rem;height:3rem;margin-top:1rem;transition:all .35s;width:80%;}.esh-catalog-button.is-disabled{opacity:.5;pointer-events:none;}.esh-catalog-button:hover{background-color:#4a760f;transition:all .35s;}.esh-catalog-name{font-size:1rem;font-weight:300;margin-top:.5rem;text-align:center;text-transform:uppercase;}.esh-catalog-price{font-size:28px;font-weight:900;text-align:center;}.esh-catalog-price::before{content:'$';} |
||||
@ -1 +1 @@ |
|||||
.esh-orders{min-height:80vh;overflow-x:hidden}.esh-orders-header{background-color:#00a69c;height:4rem}.esh-orders-back{color:rgba(255,255,255,.4);line-height:4rem;text-decoration:none;text-transform:uppercase;transition:color .35s}.esh-orders-back:hover{color:#fff;transition:color .35s}.esh-orders-titles{padding-bottom:1rem;padding-top:2rem}.esh-orders-title{text-transform:uppercase}.esh-orders-items{height:2rem;line-height:2rem;position:relative}.esh-orders-items:nth-of-type(2n+1):before{background-color:#eef;content:'';height:100%;left:0;margin-left:-100vw;position:absolute;top:0;width:200vw;z-index:-1}.esh-orders-item{font-weight:300}.esh-orders-item--hover{opacity:0;pointer-events:none}.esh-orders-items:hover .esh-orders-item--hover{opacity:1;pointer-events:all}.esh-orders-link{color:#83d01b;text-decoration:none;transition:color .35s}.esh-orders-link:hover{color:#75b918;transition:color .35s} |
.esh-orders{min-height:80vh;overflow-x:hidden;}.esh-orders-header{background-color:#00a69c;height:4rem;}.esh-orders-back{color:rgba(255,255,255,.4);line-height:4rem;text-decoration:none;text-transform:uppercase;transition:color .35s;}.esh-orders-back:hover{color:#fff;transition:color .35s;}.esh-orders-titles{padding-bottom:1rem;padding-top:2rem;}.esh-orders-title{text-transform:uppercase;}.esh-orders-items{height:2rem;line-height:2rem;position:relative;}.esh-orders-items:nth-of-type(2n+1):before{background-color:#eef;content:'';height:100%;left:0;margin-left:-100vw;position:absolute;top:0;width:200vw;z-index:-1;}.esh-orders-item{font-weight:300;}.esh-orders-item--hover{opacity:0;pointer-events:none;}.esh-orders-items:hover .esh-orders-item--hover{opacity:1;pointer-events:all;}.esh-orders-link{color:#83d01b;text-decoration:none;transition:color .35s;}.esh-orders-link:hover{color:#75b918;transition:color .35s;} |
||||
@ -1,18 +1,12 @@ |
|||||
.esh-header { |
.esh-header { |
||||
background-color: #00A69C; |
background-color: #00A69C; |
||||
height: 4rem; |
height: 4rem; } |
||||
} |
.esh-header-back { |
||||
|
color: rgba(255, 255, 255, 0.5); |
||||
.esh-header-back { |
line-height: 4rem; |
||||
color: rgba(255, 255, 255, 0.5); |
text-decoration: none; |
||||
line-height: 4rem; |
text-transform: uppercase; |
||||
text-decoration: none; |
transition: color 0.35s; } |
||||
text-transform: uppercase; |
.esh-header-back:hover { |
||||
transition: color 0.35s; |
color: #FFFFFF; |
||||
} |
transition: color 0.35s; } |
||||
|
|
||||
.esh-header-back:hover { |
|
||||
color: #FFFFFF; |
|
||||
transition: color 0.35s; |
|
||||
} |
|
||||
|
|
||||
|
|||||
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
@ -1,45 +0,0 @@ |
|||||
{ |
|
||||
"name": "bootstrap", |
|
||||
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", |
|
||||
"keywords": [ |
|
||||
"css", |
|
||||
"js", |
|
||||
"less", |
|
||||
"mobile-first", |
|
||||
"responsive", |
|
||||
"front-end", |
|
||||
"framework", |
|
||||
"web" |
|
||||
], |
|
||||
"homepage": "http://getbootstrap.com", |
|
||||
"license": "MIT", |
|
||||
"moduleType": "globals", |
|
||||
"main": [ |
|
||||
"less/bootstrap.less", |
|
||||
"dist/js/bootstrap.js" |
|
||||
], |
|
||||
"ignore": [ |
|
||||
"/.*", |
|
||||
"_config.yml", |
|
||||
"CNAME", |
|
||||
"composer.json", |
|
||||
"CONTRIBUTING.md", |
|
||||
"docs", |
|
||||
"js/tests", |
|
||||
"test-infra" |
|
||||
], |
|
||||
"dependencies": { |
|
||||
"jquery": "1.9.1 - 3" |
|
||||
}, |
|
||||
"version": "3.3.7", |
|
||||
"_release": "3.3.7", |
|
||||
"_resolution": { |
|
||||
"type": "version", |
|
||||
"tag": "v3.3.7", |
|
||||
"commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" |
|
||||
}, |
|
||||
"_source": "https://github.com/twbs/bootstrap.git", |
|
||||
"_target": "v3.3.7", |
|
||||
"_originalSource": "bootstrap", |
|
||||
"_direct": true |
|
||||
} |
|
||||
@ -1,21 +0,0 @@ |
|||||
The MIT License (MIT) |
|
||||
|
|
||||
Copyright (c) 2011-2016 Twitter, Inc. |
|
||||
|
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|
||||
of this software and associated documentation files (the "Software"), to deal |
|
||||
in the Software without restriction, including without limitation the rights |
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
||||
copies of the Software, and to permit persons to whom the Software is |
|
||||
furnished to do so, subject to the following conditions: |
|
||||
|
|
||||
The above copyright notice and this permission notice shall be included in |
|
||||
all copies or substantial portions of the Software. |
|
||||
|
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|
||||
THE SOFTWARE. |
|
||||
@ -1,587 +0,0 @@ |
|||||
/*! |
|
||||
* Bootstrap v3.3.7 (http://getbootstrap.com) |
|
||||
* Copyright 2011-2016 Twitter, Inc. |
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) |
|
||||
*/ |
|
||||
.btn-default, |
|
||||
.btn-primary, |
|
||||
.btn-success, |
|
||||
.btn-info, |
|
||||
.btn-warning, |
|
||||
.btn-danger { |
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); |
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); |
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); |
|
||||
} |
|
||||
.btn-default:active, |
|
||||
.btn-primary:active, |
|
||||
.btn-success:active, |
|
||||
.btn-info:active, |
|
||||
.btn-warning:active, |
|
||||
.btn-danger:active, |
|
||||
.btn-default.active, |
|
||||
.btn-primary.active, |
|
||||
.btn-success.active, |
|
||||
.btn-info.active, |
|
||||
.btn-warning.active, |
|
||||
.btn-danger.active { |
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); |
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); |
|
||||
} |
|
||||
.btn-default.disabled, |
|
||||
.btn-primary.disabled, |
|
||||
.btn-success.disabled, |
|
||||
.btn-info.disabled, |
|
||||
.btn-warning.disabled, |
|
||||
.btn-danger.disabled, |
|
||||
.btn-default[disabled], |
|
||||
.btn-primary[disabled], |
|
||||
.btn-success[disabled], |
|
||||
.btn-info[disabled], |
|
||||
.btn-warning[disabled], |
|
||||
.btn-danger[disabled], |
|
||||
fieldset[disabled] .btn-default, |
|
||||
fieldset[disabled] .btn-primary, |
|
||||
fieldset[disabled] .btn-success, |
|
||||
fieldset[disabled] .btn-info, |
|
||||
fieldset[disabled] .btn-warning, |
|
||||
fieldset[disabled] .btn-danger { |
|
||||
-webkit-box-shadow: none; |
|
||||
box-shadow: none; |
|
||||
} |
|
||||
.btn-default .badge, |
|
||||
.btn-primary .badge, |
|
||||
.btn-success .badge, |
|
||||
.btn-info .badge, |
|
||||
.btn-warning .badge, |
|
||||
.btn-danger .badge { |
|
||||
text-shadow: none; |
|
||||
} |
|
||||
.btn:active, |
|
||||
.btn.active { |
|
||||
background-image: none; |
|
||||
} |
|
||||
.btn-default { |
|
||||
text-shadow: 0 1px 0 #fff; |
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); |
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); |
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #dbdbdb; |
|
||||
border-color: #ccc; |
|
||||
} |
|
||||
.btn-default:hover, |
|
||||
.btn-default:focus { |
|
||||
background-color: #e0e0e0; |
|
||||
background-position: 0 -15px; |
|
||||
} |
|
||||
.btn-default:active, |
|
||||
.btn-default.active { |
|
||||
background-color: #e0e0e0; |
|
||||
border-color: #dbdbdb; |
|
||||
} |
|
||||
.btn-default.disabled, |
|
||||
.btn-default[disabled], |
|
||||
fieldset[disabled] .btn-default, |
|
||||
.btn-default.disabled:hover, |
|
||||
.btn-default[disabled]:hover, |
|
||||
fieldset[disabled] .btn-default:hover, |
|
||||
.btn-default.disabled:focus, |
|
||||
.btn-default[disabled]:focus, |
|
||||
fieldset[disabled] .btn-default:focus, |
|
||||
.btn-default.disabled.focus, |
|
||||
.btn-default[disabled].focus, |
|
||||
fieldset[disabled] .btn-default.focus, |
|
||||
.btn-default.disabled:active, |
|
||||
.btn-default[disabled]:active, |
|
||||
fieldset[disabled] .btn-default:active, |
|
||||
.btn-default.disabled.active, |
|
||||
.btn-default[disabled].active, |
|
||||
fieldset[disabled] .btn-default.active { |
|
||||
background-color: #e0e0e0; |
|
||||
background-image: none; |
|
||||
} |
|
||||
.btn-primary { |
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); |
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); |
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #245580; |
|
||||
} |
|
||||
.btn-primary:hover, |
|
||||
.btn-primary:focus { |
|
||||
background-color: #265a88; |
|
||||
background-position: 0 -15px; |
|
||||
} |
|
||||
.btn-primary:active, |
|
||||
.btn-primary.active { |
|
||||
background-color: #265a88; |
|
||||
border-color: #245580; |
|
||||
} |
|
||||
.btn-primary.disabled, |
|
||||
.btn-primary[disabled], |
|
||||
fieldset[disabled] .btn-primary, |
|
||||
.btn-primary.disabled:hover, |
|
||||
.btn-primary[disabled]:hover, |
|
||||
fieldset[disabled] .btn-primary:hover, |
|
||||
.btn-primary.disabled:focus, |
|
||||
.btn-primary[disabled]:focus, |
|
||||
fieldset[disabled] .btn-primary:focus, |
|
||||
.btn-primary.disabled.focus, |
|
||||
.btn-primary[disabled].focus, |
|
||||
fieldset[disabled] .btn-primary.focus, |
|
||||
.btn-primary.disabled:active, |
|
||||
.btn-primary[disabled]:active, |
|
||||
fieldset[disabled] .btn-primary:active, |
|
||||
.btn-primary.disabled.active, |
|
||||
.btn-primary[disabled].active, |
|
||||
fieldset[disabled] .btn-primary.active { |
|
||||
background-color: #265a88; |
|
||||
background-image: none; |
|
||||
} |
|
||||
.btn-success { |
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); |
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); |
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #3e8f3e; |
|
||||
} |
|
||||
.btn-success:hover, |
|
||||
.btn-success:focus { |
|
||||
background-color: #419641; |
|
||||
background-position: 0 -15px; |
|
||||
} |
|
||||
.btn-success:active, |
|
||||
.btn-success.active { |
|
||||
background-color: #419641; |
|
||||
border-color: #3e8f3e; |
|
||||
} |
|
||||
.btn-success.disabled, |
|
||||
.btn-success[disabled], |
|
||||
fieldset[disabled] .btn-success, |
|
||||
.btn-success.disabled:hover, |
|
||||
.btn-success[disabled]:hover, |
|
||||
fieldset[disabled] .btn-success:hover, |
|
||||
.btn-success.disabled:focus, |
|
||||
.btn-success[disabled]:focus, |
|
||||
fieldset[disabled] .btn-success:focus, |
|
||||
.btn-success.disabled.focus, |
|
||||
.btn-success[disabled].focus, |
|
||||
fieldset[disabled] .btn-success.focus, |
|
||||
.btn-success.disabled:active, |
|
||||
.btn-success[disabled]:active, |
|
||||
fieldset[disabled] .btn-success:active, |
|
||||
.btn-success.disabled.active, |
|
||||
.btn-success[disabled].active, |
|
||||
fieldset[disabled] .btn-success.active { |
|
||||
background-color: #419641; |
|
||||
background-image: none; |
|
||||
} |
|
||||
.btn-info { |
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); |
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); |
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #28a4c9; |
|
||||
} |
|
||||
.btn-info:hover, |
|
||||
.btn-info:focus { |
|
||||
background-color: #2aabd2; |
|
||||
background-position: 0 -15px; |
|
||||
} |
|
||||
.btn-info:active, |
|
||||
.btn-info.active { |
|
||||
background-color: #2aabd2; |
|
||||
border-color: #28a4c9; |
|
||||
} |
|
||||
.btn-info.disabled, |
|
||||
.btn-info[disabled], |
|
||||
fieldset[disabled] .btn-info, |
|
||||
.btn-info.disabled:hover, |
|
||||
.btn-info[disabled]:hover, |
|
||||
fieldset[disabled] .btn-info:hover, |
|
||||
.btn-info.disabled:focus, |
|
||||
.btn-info[disabled]:focus, |
|
||||
fieldset[disabled] .btn-info:focus, |
|
||||
.btn-info.disabled.focus, |
|
||||
.btn-info[disabled].focus, |
|
||||
fieldset[disabled] .btn-info.focus, |
|
||||
.btn-info.disabled:active, |
|
||||
.btn-info[disabled]:active, |
|
||||
fieldset[disabled] .btn-info:active, |
|
||||
.btn-info.disabled.active, |
|
||||
.btn-info[disabled].active, |
|
||||
fieldset[disabled] .btn-info.active { |
|
||||
background-color: #2aabd2; |
|
||||
background-image: none; |
|
||||
} |
|
||||
.btn-warning { |
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); |
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); |
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #e38d13; |
|
||||
} |
|
||||
.btn-warning:hover, |
|
||||
.btn-warning:focus { |
|
||||
background-color: #eb9316; |
|
||||
background-position: 0 -15px; |
|
||||
} |
|
||||
.btn-warning:active, |
|
||||
.btn-warning.active { |
|
||||
background-color: #eb9316; |
|
||||
border-color: #e38d13; |
|
||||
} |
|
||||
.btn-warning.disabled, |
|
||||
.btn-warning[disabled], |
|
||||
fieldset[disabled] .btn-warning, |
|
||||
.btn-warning.disabled:hover, |
|
||||
.btn-warning[disabled]:hover, |
|
||||
fieldset[disabled] .btn-warning:hover, |
|
||||
.btn-warning.disabled:focus, |
|
||||
.btn-warning[disabled]:focus, |
|
||||
fieldset[disabled] .btn-warning:focus, |
|
||||
.btn-warning.disabled.focus, |
|
||||
.btn-warning[disabled].focus, |
|
||||
fieldset[disabled] .btn-warning.focus, |
|
||||
.btn-warning.disabled:active, |
|
||||
.btn-warning[disabled]:active, |
|
||||
fieldset[disabled] .btn-warning:active, |
|
||||
.btn-warning.disabled.active, |
|
||||
.btn-warning[disabled].active, |
|
||||
fieldset[disabled] .btn-warning.active { |
|
||||
background-color: #eb9316; |
|
||||
background-image: none; |
|
||||
} |
|
||||
.btn-danger { |
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); |
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); |
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #b92c28; |
|
||||
} |
|
||||
.btn-danger:hover, |
|
||||
.btn-danger:focus { |
|
||||
background-color: #c12e2a; |
|
||||
background-position: 0 -15px; |
|
||||
} |
|
||||
.btn-danger:active, |
|
||||
.btn-danger.active { |
|
||||
background-color: #c12e2a; |
|
||||
border-color: #b92c28; |
|
||||
} |
|
||||
.btn-danger.disabled, |
|
||||
.btn-danger[disabled], |
|
||||
fieldset[disabled] .btn-danger, |
|
||||
.btn-danger.disabled:hover, |
|
||||
.btn-danger[disabled]:hover, |
|
||||
fieldset[disabled] .btn-danger:hover, |
|
||||
.btn-danger.disabled:focus, |
|
||||
.btn-danger[disabled]:focus, |
|
||||
fieldset[disabled] .btn-danger:focus, |
|
||||
.btn-danger.disabled.focus, |
|
||||
.btn-danger[disabled].focus, |
|
||||
fieldset[disabled] .btn-danger.focus, |
|
||||
.btn-danger.disabled:active, |
|
||||
.btn-danger[disabled]:active, |
|
||||
fieldset[disabled] .btn-danger:active, |
|
||||
.btn-danger.disabled.active, |
|
||||
.btn-danger[disabled].active, |
|
||||
fieldset[disabled] .btn-danger.active { |
|
||||
background-color: #c12e2a; |
|
||||
background-image: none; |
|
||||
} |
|
||||
.thumbnail, |
|
||||
.img-thumbnail { |
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); |
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075); |
|
||||
} |
|
||||
.dropdown-menu > li > a:hover, |
|
||||
.dropdown-menu > li > a:focus { |
|
||||
background-color: #e8e8e8; |
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); |
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); |
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.dropdown-menu > .active > a, |
|
||||
.dropdown-menu > .active > a:hover, |
|
||||
.dropdown-menu > .active > a:focus { |
|
||||
background-color: #2e6da4; |
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); |
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); |
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.navbar-default { |
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); |
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); |
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-radius: 4px; |
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); |
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); |
|
||||
} |
|
||||
.navbar-default .navbar-nav > .open > a, |
|
||||
.navbar-default .navbar-nav > .active > a { |
|
||||
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); |
|
||||
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); |
|
||||
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); |
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); |
|
||||
} |
|
||||
.navbar-brand, |
|
||||
.navbar-nav > li > a { |
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .25); |
|
||||
} |
|
||||
.navbar-inverse { |
|
||||
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); |
|
||||
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); |
|
||||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); |
|
||||
background-repeat: repeat-x; |
|
||||
border-radius: 4px; |
|
||||
} |
|
||||
.navbar-inverse .navbar-nav > .open > a, |
|
||||
.navbar-inverse .navbar-nav > .active > a { |
|
||||
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); |
|
||||
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); |
|
||||
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); |
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); |
|
||||
} |
|
||||
.navbar-inverse .navbar-brand, |
|
||||
.navbar-inverse .navbar-nav > li > a { |
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); |
|
||||
} |
|
||||
.navbar-static-top, |
|
||||
.navbar-fixed-top, |
|
||||
.navbar-fixed-bottom { |
|
||||
border-radius: 0; |
|
||||
} |
|
||||
@media (max-width: 767px) { |
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a, |
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover, |
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus { |
|
||||
color: #fff; |
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); |
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); |
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
} |
|
||||
.alert { |
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .2); |
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); |
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); |
|
||||
} |
|
||||
.alert-success { |
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); |
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); |
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #b2dba1; |
|
||||
} |
|
||||
.alert-info { |
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); |
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); |
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #9acfea; |
|
||||
} |
|
||||
.alert-warning { |
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); |
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); |
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #f5e79e; |
|
||||
} |
|
||||
.alert-danger { |
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); |
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); |
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #dca7a7; |
|
||||
} |
|
||||
.progress { |
|
||||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); |
|
||||
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); |
|
||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.progress-bar { |
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); |
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); |
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.progress-bar-success { |
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); |
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); |
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.progress-bar-info { |
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); |
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); |
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.progress-bar-warning { |
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); |
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); |
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.progress-bar-danger { |
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); |
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); |
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.progress-bar-striped { |
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); |
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); |
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); |
|
||||
} |
|
||||
.list-group { |
|
||||
border-radius: 4px; |
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); |
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075); |
|
||||
} |
|
||||
.list-group-item.active, |
|
||||
.list-group-item.active:hover, |
|
||||
.list-group-item.active:focus { |
|
||||
text-shadow: 0 -1px 0 #286090; |
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); |
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); |
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #2b669a; |
|
||||
} |
|
||||
.list-group-item.active .badge, |
|
||||
.list-group-item.active:hover .badge, |
|
||||
.list-group-item.active:focus .badge { |
|
||||
text-shadow: none; |
|
||||
} |
|
||||
.panel { |
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); |
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .05); |
|
||||
} |
|
||||
.panel-default > .panel-heading { |
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); |
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); |
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.panel-primary > .panel-heading { |
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); |
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); |
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.panel-success > .panel-heading { |
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); |
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); |
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.panel-info > .panel-heading { |
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); |
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); |
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.panel-warning > .panel-heading { |
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); |
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); |
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.panel-danger > .panel-heading { |
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); |
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); |
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
} |
|
||||
.well { |
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); |
|
||||
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); |
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); |
|
||||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); |
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); |
|
||||
background-repeat: repeat-x; |
|
||||
border-color: #dcdcdc; |
|
||||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); |
|
||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); |
|
||||
} |
|
||||
/*# sourceMappingURL=bootstrap-theme.css.map */ |
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 106 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,13 +0,0 @@ |
|||||
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
|
|
||||
require('../../js/transition.js') |
|
||||
require('../../js/alert.js') |
|
||||
require('../../js/button.js') |
|
||||
require('../../js/carousel.js') |
|
||||
require('../../js/collapse.js') |
|
||||
require('../../js/dropdown.js') |
|
||||
require('../../js/modal.js') |
|
||||
require('../../js/tooltip.js') |
|
||||
require('../../js/popover.js') |
|
||||
require('../../js/scrollspy.js') |
|
||||
require('../../js/tab.js') |
|
||||
require('../../js/affix.js') |
|
||||
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
@ -1,44 +0,0 @@ |
|||||
{ |
|
||||
"name": "jquery-validation-unobtrusive", |
|
||||
"version": "3.2.6", |
|
||||
"homepage": "https://github.com/aspnet/jquery-validation-unobtrusive", |
|
||||
"description": "Add-on to jQuery Validation to enable unobtrusive validation options in data-* attributes.", |
|
||||
"main": [ |
|
||||
"jquery.validate.unobtrusive.js" |
|
||||
], |
|
||||
"ignore": [ |
|
||||
"**/.*", |
|
||||
"*.json", |
|
||||
"*.md", |
|
||||
"*.txt", |
|
||||
"gulpfile.js" |
|
||||
], |
|
||||
"keywords": [ |
|
||||
"jquery", |
|
||||
"asp.net", |
|
||||
"mvc", |
|
||||
"validation", |
|
||||
"unobtrusive" |
|
||||
], |
|
||||
"authors": [ |
|
||||
"Microsoft" |
|
||||
], |
|
||||
"license": "http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm", |
|
||||
"repository": { |
|
||||
"type": "git", |
|
||||
"url": "git://github.com/aspnet/jquery-validation-unobtrusive.git" |
|
||||
}, |
|
||||
"dependencies": { |
|
||||
"jquery-validation": ">=1.8", |
|
||||
"jquery": ">=1.8" |
|
||||
}, |
|
||||
"_release": "3.2.6", |
|
||||
"_resolution": { |
|
||||
"type": "version", |
|
||||
"tag": "v3.2.6", |
|
||||
"commit": "13386cd1b5947d8a5d23a12b531ce3960be1eba7" |
|
||||
}, |
|
||||
"_source": "git://github.com/aspnet/jquery-validation-unobtrusive.git", |
|
||||
"_target": "3.2.6", |
|
||||
"_originalSource": "jquery-validation-unobtrusive" |
|
||||
} |
|
||||
File diff suppressed because one or more lines are too long
@ -1,22 +0,0 @@ |
|||||
The MIT License (MIT) |
|
||||
===================== |
|
||||
|
|
||||
Copyright Jörn Zaefferer |
|
||||
|
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|
||||
of this software and associated documentation files (the "Software"), to deal |
|
||||
in the Software without restriction, including without limitation the rights |
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
||||
copies of the Software, and to permit persons to whom the Software is |
|
||||
furnished to do so, subject to the following conditions: |
|
||||
|
|
||||
The above copyright notice and this permission notice shall be included in |
|
||||
all copies or substantial portions of the Software. |
|
||||
|
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|
||||
THE SOFTWARE. |
|
||||
@ -1,998 +0,0 @@ |
|||||
/*! |
|
||||
* jQuery Validation Plugin v1.14.0 |
|
||||
* |
|
||||
* http://jqueryvalidation.org/
|
|
||||
* |
|
||||
* Copyright (c) 2015 Jörn Zaefferer |
|
||||
* Released under the MIT license |
|
||||
*/ |
|
||||
(function( factory ) { |
|
||||
if ( typeof define === "function" && define.amd ) { |
|
||||
define( ["jquery", "./jquery.validate"], factory ); |
|
||||
} else { |
|
||||
factory( jQuery ); |
|
||||
} |
|
||||
}(function( $ ) { |
|
||||
|
|
||||
(function() { |
|
||||
|
|
||||
function stripHtml(value) { |
|
||||
// remove html tags and space chars
|
|
||||
return value.replace(/<.[^<>]*?>/g, " ").replace(/ | /gi, " ") |
|
||||
// remove punctuation
|
|
||||
.replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g, ""); |
|
||||
} |
|
||||
|
|
||||
$.validator.addMethod("maxWords", function(value, element, params) { |
|
||||
return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params; |
|
||||
}, $.validator.format("Please enter {0} words or less.")); |
|
||||
|
|
||||
$.validator.addMethod("minWords", function(value, element, params) { |
|
||||
return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params; |
|
||||
}, $.validator.format("Please enter at least {0} words.")); |
|
||||
|
|
||||
$.validator.addMethod("rangeWords", function(value, element, params) { |
|
||||
var valueStripped = stripHtml(value), |
|
||||
regex = /\b\w+\b/g; |
|
||||
return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1]; |
|
||||
}, $.validator.format("Please enter between {0} and {1} words.")); |
|
||||
|
|
||||
}()); |
|
||||
|
|
||||
// Accept a value from a file input based on a required mimetype
|
|
||||
$.validator.addMethod("accept", function(value, element, param) { |
|
||||
// Split mime on commas in case we have multiple types we can accept
|
|
||||
var typeParam = typeof param === "string" ? param.replace(/\s/g, "").replace(/,/g, "|") : "image/*", |
|
||||
optionalValue = this.optional(element), |
|
||||
i, file; |
|
||||
|
|
||||
// Element is optional
|
|
||||
if (optionalValue) { |
|
||||
return optionalValue; |
|
||||
} |
|
||||
|
|
||||
if ($(element).attr("type") === "file") { |
|
||||
// If we are using a wildcard, make it regex friendly
|
|
||||
typeParam = typeParam.replace(/\*/g, ".*"); |
|
||||
|
|
||||
// Check if the element has a FileList before checking each file
|
|
||||
if (element.files && element.files.length) { |
|
||||
for (i = 0; i < element.files.length; i++) { |
|
||||
file = element.files[i]; |
|
||||
|
|
||||
// Grab the mimetype from the loaded file, verify it matches
|
|
||||
if (!file.type.match(new RegExp( "\\.?(" + typeParam + ")$", "i"))) { |
|
||||
return false; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// Either return true because we've validated each file, or because the
|
|
||||
// browser does not support element.files and the FileList feature
|
|
||||
return true; |
|
||||
}, $.validator.format("Please enter a value with a valid mimetype.")); |
|
||||
|
|
||||
$.validator.addMethod("alphanumeric", function(value, element) { |
|
||||
return this.optional(element) || /^\w+$/i.test(value); |
|
||||
}, "Letters, numbers, and underscores only please"); |
|
||||
|
|
||||
/* |
|
||||
* Dutch bank account numbers (not 'giro' numbers) have 9 digits |
|
||||
* and pass the '11 check'. |
|
||||
* We accept the notation with spaces, as that is common. |
|
||||
* acceptable: 123456789 or 12 34 56 789 |
|
||||
*/ |
|
||||
$.validator.addMethod("bankaccountNL", function(value, element) { |
|
||||
if (this.optional(element)) { |
|
||||
return true; |
|
||||
} |
|
||||
if (!(/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value))) { |
|
||||
return false; |
|
||||
} |
|
||||
// now '11 check'
|
|
||||
var account = value.replace(/ /g, ""), // remove spaces
|
|
||||
sum = 0, |
|
||||
len = account.length, |
|
||||
pos, factor, digit; |
|
||||
for ( pos = 0; pos < len; pos++ ) { |
|
||||
factor = len - pos; |
|
||||
digit = account.substring(pos, pos + 1); |
|
||||
sum = sum + factor * digit; |
|
||||
} |
|
||||
return sum % 11 === 0; |
|
||||
}, "Please specify a valid bank account number"); |
|
||||
|
|
||||
$.validator.addMethod("bankorgiroaccountNL", function(value, element) { |
|
||||
return this.optional(element) || |
|
||||
($.validator.methods.bankaccountNL.call(this, value, element)) || |
|
||||
($.validator.methods.giroaccountNL.call(this, value, element)); |
|
||||
}, "Please specify a valid bank or giro account number"); |
|
||||
|
|
||||
/** |
|
||||
* BIC is the business identifier code (ISO 9362). This BIC check is not a guarantee for authenticity. |
|
||||
* |
|
||||
* BIC pattern: BBBBCCLLbbb (8 or 11 characters long; bbb is optional) |
|
||||
* |
|
||||
* BIC definition in detail: |
|
||||
* - First 4 characters - bank code (only letters) |
|
||||
* - Next 2 characters - ISO 3166-1 alpha-2 country code (only letters) |
|
||||
* - Next 2 characters - location code (letters and digits) |
|
||||
* a. shall not start with '0' or '1' |
|
||||
* b. second character must be a letter ('O' is not allowed) or one of the following digits ('0' for test (therefore not allowed), '1' for passive participant and '2' for active participant) |
|
||||
* - Last 3 characters - branch code, optional (shall not start with 'X' except in case of 'XXX' for primary office) (letters and digits) |
|
||||
*/ |
|
||||
$.validator.addMethod("bic", function(value, element) { |
|
||||
return this.optional( element ) || /^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test( value ); |
|
||||
}, "Please specify a valid BIC code"); |
|
||||
|
|
||||
/* |
|
||||
* Código de identificación fiscal ( CIF ) is the tax identification code for Spanish legal entities |
|
||||
* Further rules can be found in Spanish on http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
|
|
||||
*/ |
|
||||
$.validator.addMethod( "cifES", function( value ) { |
|
||||
"use strict"; |
|
||||
|
|
||||
var num = [], |
|
||||
controlDigit, sum, i, count, tmp, secondDigit; |
|
||||
|
|
||||
value = value.toUpperCase(); |
|
||||
|
|
||||
// Quick format test
|
|
||||
if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
for ( i = 0; i < 9; i++ ) { |
|
||||
num[ i ] = parseInt( value.charAt( i ), 10 ); |
|
||||
} |
|
||||
|
|
||||
// Algorithm for checking CIF codes
|
|
||||
sum = num[ 2 ] + num[ 4 ] + num[ 6 ]; |
|
||||
for ( count = 1; count < 8; count += 2 ) { |
|
||||
tmp = ( 2 * num[ count ] ).toString(); |
|
||||
secondDigit = tmp.charAt( 1 ); |
|
||||
|
|
||||
sum += parseInt( tmp.charAt( 0 ), 10 ) + ( secondDigit === "" ? 0 : parseInt( secondDigit, 10 ) ); |
|
||||
} |
|
||||
|
|
||||
/* The first (position 1) is a letter following the following criteria: |
|
||||
* A. Corporations |
|
||||
* B. LLCs |
|
||||
* C. General partnerships |
|
||||
* D. Companies limited partnerships |
|
||||
* E. Communities of goods |
|
||||
* F. Cooperative Societies |
|
||||
* G. Associations |
|
||||
* H. Communities of homeowners in horizontal property regime |
|
||||
* J. Civil Societies |
|
||||
* K. Old format |
|
||||
* L. Old format |
|
||||
* M. Old format |
|
||||
* N. Nonresident entities |
|
||||
* P. Local authorities |
|
||||
* Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions |
|
||||
* R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008) |
|
||||
* S. Organs of State Administration and regions |
|
||||
* V. Agrarian Transformation |
|
||||
* W. Permanent establishments of non-resident in Spain |
|
||||
*/ |
|
||||
if ( /^[ABCDEFGHJNPQRSUVW]{1}/.test( value ) ) { |
|
||||
sum += ""; |
|
||||
controlDigit = 10 - parseInt( sum.charAt( sum.length - 1 ), 10 ); |
|
||||
value += controlDigit; |
|
||||
return ( num[ 8 ].toString() === String.fromCharCode( 64 + controlDigit ) || num[ 8 ].toString() === value.charAt( value.length - 1 ) ); |
|
||||
} |
|
||||
|
|
||||
return false; |
|
||||
|
|
||||
}, "Please specify a valid CIF number." ); |
|
||||
|
|
||||
/* |
|
||||
* Brazillian CPF number (Cadastrado de Pessoas Físicas) is the equivalent of a Brazilian tax registration number. |
|
||||
* CPF numbers have 11 digits in total: 9 numbers followed by 2 check numbers that are being used for validation. |
|
||||
*/ |
|
||||
$.validator.addMethod("cpfBR", function(value) { |
|
||||
// Removing special characters from value
|
|
||||
value = value.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g, ""); |
|
||||
|
|
||||
// Checking value to have 11 digits only
|
|
||||
if (value.length !== 11) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
var sum = 0, |
|
||||
firstCN, secondCN, checkResult, i; |
|
||||
|
|
||||
firstCN = parseInt(value.substring(9, 10), 10); |
|
||||
secondCN = parseInt(value.substring(10, 11), 10); |
|
||||
|
|
||||
checkResult = function(sum, cn) { |
|
||||
var result = (sum * 10) % 11; |
|
||||
if ((result === 10) || (result === 11)) {result = 0;} |
|
||||
return (result === cn); |
|
||||
}; |
|
||||
|
|
||||
// Checking for dump data
|
|
||||
if (value === "" || |
|
||||
value === "00000000000" || |
|
||||
value === "11111111111" || |
|
||||
value === "22222222222" || |
|
||||
value === "33333333333" || |
|
||||
value === "44444444444" || |
|
||||
value === "55555555555" || |
|
||||
value === "66666666666" || |
|
||||
value === "77777777777" || |
|
||||
value === "88888888888" || |
|
||||
value === "99999999999" |
|
||||
) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
// Step 1 - using first Check Number:
|
|
||||
for ( i = 1; i <= 9; i++ ) { |
|
||||
sum = sum + parseInt(value.substring(i - 1, i), 10) * (11 - i); |
|
||||
} |
|
||||
|
|
||||
// If first Check Number (CN) is valid, move to Step 2 - using second Check Number:
|
|
||||
if ( checkResult(sum, firstCN) ) { |
|
||||
sum = 0; |
|
||||
for ( i = 1; i <= 10; i++ ) { |
|
||||
sum = sum + parseInt(value.substring(i - 1, i), 10) * (12 - i); |
|
||||
} |
|
||||
return checkResult(sum, secondCN); |
|
||||
} |
|
||||
return false; |
|
||||
|
|
||||
}, "Please specify a valid CPF number"); |
|
||||
|
|
||||
/* NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator |
|
||||
* Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0
|
|
||||
* Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings) |
|
||||
*/ |
|
||||
$.validator.addMethod("creditcardtypes", function(value, element, param) { |
|
||||
if (/[^0-9\-]+/.test(value)) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
value = value.replace(/\D/g, ""); |
|
||||
|
|
||||
var validTypes = 0x0000; |
|
||||
|
|
||||
if (param.mastercard) { |
|
||||
validTypes |= 0x0001; |
|
||||
} |
|
||||
if (param.visa) { |
|
||||
validTypes |= 0x0002; |
|
||||
} |
|
||||
if (param.amex) { |
|
||||
validTypes |= 0x0004; |
|
||||
} |
|
||||
if (param.dinersclub) { |
|
||||
validTypes |= 0x0008; |
|
||||
} |
|
||||
if (param.enroute) { |
|
||||
validTypes |= 0x0010; |
|
||||
} |
|
||||
if (param.discover) { |
|
||||
validTypes |= 0x0020; |
|
||||
} |
|
||||
if (param.jcb) { |
|
||||
validTypes |= 0x0040; |
|
||||
} |
|
||||
if (param.unknown) { |
|
||||
validTypes |= 0x0080; |
|
||||
} |
|
||||
if (param.all) { |
|
||||
validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; |
|
||||
} |
|
||||
if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard
|
|
||||
return value.length === 16; |
|
||||
} |
|
||||
if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa
|
|
||||
return value.length === 16; |
|
||||
} |
|
||||
if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex
|
|
||||
return value.length === 15; |
|
||||
} |
|
||||
if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub
|
|
||||
return value.length === 14; |
|
||||
} |
|
||||
if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute
|
|
||||
return value.length === 15; |
|
||||
} |
|
||||
if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover
|
|
||||
return value.length === 16; |
|
||||
} |
|
||||
if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb
|
|
||||
return value.length === 16; |
|
||||
} |
|
||||
if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb
|
|
||||
return value.length === 15; |
|
||||
} |
|
||||
if (validTypes & 0x0080) { //unknown
|
|
||||
return true; |
|
||||
} |
|
||||
return false; |
|
||||
}, "Please enter a valid credit card number."); |
|
||||
|
|
||||
/** |
|
||||
* Validates currencies with any given symbols by @jameslouiz |
|
||||
* Symbols can be optional or required. Symbols required by default |
|
||||
* |
|
||||
* Usage examples: |
|
||||
* currency: ["£", false] - Use false for soft currency validation |
|
||||
* currency: ["$", false] |
|
||||
* currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc |
|
||||
* |
|
||||
* <input class="currencyInput" name="currencyInput"> |
|
||||
* |
|
||||
* Soft symbol checking |
|
||||
* currencyInput: { |
|
||||
* currency: ["$", false] |
|
||||
* } |
|
||||
* |
|
||||
* Strict symbol checking (default) |
|
||||
* currencyInput: { |
|
||||
* currency: "$" |
|
||||
* //OR
|
|
||||
* currency: ["$", true] |
|
||||
* } |
|
||||
* |
|
||||
* Multiple Symbols |
|
||||
* currencyInput: { |
|
||||
* currency: "$,£,¢" |
|
||||
* } |
|
||||
*/ |
|
||||
$.validator.addMethod("currency", function(value, element, param) { |
|
||||
var isParamString = typeof param === "string", |
|
||||
symbol = isParamString ? param : param[0], |
|
||||
soft = isParamString ? true : param[1], |
|
||||
regex; |
|
||||
|
|
||||
symbol = symbol.replace(/,/g, ""); |
|
||||
symbol = soft ? symbol + "]" : symbol + "]?"; |
|
||||
regex = "^[" + symbol + "([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$"; |
|
||||
regex = new RegExp(regex); |
|
||||
return this.optional(element) || regex.test(value); |
|
||||
|
|
||||
}, "Please specify a valid currency"); |
|
||||
|
|
||||
$.validator.addMethod("dateFA", function(value, element) { |
|
||||
return this.optional(element) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(value); |
|
||||
}, $.validator.messages.date); |
|
||||
|
|
||||
/** |
|
||||
* Return true, if the value is a valid date, also making this formal check dd/mm/yyyy. |
|
||||
* |
|
||||
* @example $.validator.methods.date("01/01/1900") |
|
||||
* @result true |
|
||||
* |
|
||||
* @example $.validator.methods.date("01/13/1990") |
|
||||
* @result false |
|
||||
* |
|
||||
* @example $.validator.methods.date("01.01.1900") |
|
||||
* @result false |
|
||||
* |
|
||||
* @example <input name="pippo" class="{dateITA:true}" /> |
|
||||
* @desc Declares an optional input element whose value must be a valid date. |
|
||||
* |
|
||||
* @name $.validator.methods.dateITA |
|
||||
* @type Boolean |
|
||||
* @cat Plugins/Validate/Methods |
|
||||
*/ |
|
||||
$.validator.addMethod("dateITA", function(value, element) { |
|
||||
var check = false, |
|
||||
re = /^\d{1,2}\/\d{1,2}\/\d{4}$/, |
|
||||
adata, gg, mm, aaaa, xdata; |
|
||||
if ( re.test(value)) { |
|
||||
adata = value.split("/"); |
|
||||
gg = parseInt(adata[0], 10); |
|
||||
mm = parseInt(adata[1], 10); |
|
||||
aaaa = parseInt(adata[2], 10); |
|
||||
xdata = new Date(Date.UTC(aaaa, mm - 1, gg, 12, 0, 0, 0)); |
|
||||
if ( ( xdata.getUTCFullYear() === aaaa ) && ( xdata.getUTCMonth () === mm - 1 ) && ( xdata.getUTCDate() === gg ) ) { |
|
||||
check = true; |
|
||||
} else { |
|
||||
check = false; |
|
||||
} |
|
||||
} else { |
|
||||
check = false; |
|
||||
} |
|
||||
return this.optional(element) || check; |
|
||||
}, $.validator.messages.date); |
|
||||
|
|
||||
$.validator.addMethod("dateNL", function(value, element) { |
|
||||
return this.optional(element) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value); |
|
||||
}, $.validator.messages.date); |
|
||||
|
|
||||
// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept
|
|
||||
$.validator.addMethod("extension", function(value, element, param) { |
|
||||
param = typeof param === "string" ? param.replace(/,/g, "|") : "png|jpe?g|gif"; |
|
||||
return this.optional(element) || value.match(new RegExp("\\.(" + param + ")$", "i")); |
|
||||
}, $.validator.format("Please enter a value with a valid extension.")); |
|
||||
|
|
||||
/** |
|
||||
* Dutch giro account numbers (not bank numbers) have max 7 digits |
|
||||
*/ |
|
||||
$.validator.addMethod("giroaccountNL", function(value, element) { |
|
||||
return this.optional(element) || /^[0-9]{1,7}$/.test(value); |
|
||||
}, "Please specify a valid giro account number"); |
|
||||
|
|
||||
/** |
|
||||
* IBAN is the international bank account number. |
|
||||
* It has a country - specific format, that is checked here too |
|
||||
*/ |
|
||||
$.validator.addMethod("iban", function(value, element) { |
|
||||
// some quick simple tests to prevent needless work
|
|
||||
if (this.optional(element)) { |
|
||||
return true; |
|
||||
} |
|
||||
|
|
||||
// remove spaces and to upper case
|
|
||||
var iban = value.replace(/ /g, "").toUpperCase(), |
|
||||
ibancheckdigits = "", |
|
||||
leadingZeroes = true, |
|
||||
cRest = "", |
|
||||
cOperator = "", |
|
||||
countrycode, ibancheck, charAt, cChar, bbanpattern, bbancountrypatterns, ibanregexp, i, p; |
|
||||
|
|
||||
// check the country code and find the country specific format
|
|
||||
countrycode = iban.substring(0, 2); |
|
||||
bbancountrypatterns = { |
|
||||
"AL": "\\d{8}[\\dA-Z]{16}", |
|
||||
"AD": "\\d{8}[\\dA-Z]{12}", |
|
||||
"AT": "\\d{16}", |
|
||||
"AZ": "[\\dA-Z]{4}\\d{20}", |
|
||||
"BE": "\\d{12}", |
|
||||
"BH": "[A-Z]{4}[\\dA-Z]{14}", |
|
||||
"BA": "\\d{16}", |
|
||||
"BR": "\\d{23}[A-Z][\\dA-Z]", |
|
||||
"BG": "[A-Z]{4}\\d{6}[\\dA-Z]{8}", |
|
||||
"CR": "\\d{17}", |
|
||||
"HR": "\\d{17}", |
|
||||
"CY": "\\d{8}[\\dA-Z]{16}", |
|
||||
"CZ": "\\d{20}", |
|
||||
"DK": "\\d{14}", |
|
||||
"DO": "[A-Z]{4}\\d{20}", |
|
||||
"EE": "\\d{16}", |
|
||||
"FO": "\\d{14}", |
|
||||
"FI": "\\d{14}", |
|
||||
"FR": "\\d{10}[\\dA-Z]{11}\\d{2}", |
|
||||
"GE": "[\\dA-Z]{2}\\d{16}", |
|
||||
"DE": "\\d{18}", |
|
||||
"GI": "[A-Z]{4}[\\dA-Z]{15}", |
|
||||
"GR": "\\d{7}[\\dA-Z]{16}", |
|
||||
"GL": "\\d{14}", |
|
||||
"GT": "[\\dA-Z]{4}[\\dA-Z]{20}", |
|
||||
"HU": "\\d{24}", |
|
||||
"IS": "\\d{22}", |
|
||||
"IE": "[\\dA-Z]{4}\\d{14}", |
|
||||
"IL": "\\d{19}", |
|
||||
"IT": "[A-Z]\\d{10}[\\dA-Z]{12}", |
|
||||
"KZ": "\\d{3}[\\dA-Z]{13}", |
|
||||
"KW": "[A-Z]{4}[\\dA-Z]{22}", |
|
||||
"LV": "[A-Z]{4}[\\dA-Z]{13}", |
|
||||
"LB": "\\d{4}[\\dA-Z]{20}", |
|
||||
"LI": "\\d{5}[\\dA-Z]{12}", |
|
||||
"LT": "\\d{16}", |
|
||||
"LU": "\\d{3}[\\dA-Z]{13}", |
|
||||
"MK": "\\d{3}[\\dA-Z]{10}\\d{2}", |
|
||||
"MT": "[A-Z]{4}\\d{5}[\\dA-Z]{18}", |
|
||||
"MR": "\\d{23}", |
|
||||
"MU": "[A-Z]{4}\\d{19}[A-Z]{3}", |
|
||||
"MC": "\\d{10}[\\dA-Z]{11}\\d{2}", |
|
||||
"MD": "[\\dA-Z]{2}\\d{18}", |
|
||||
"ME": "\\d{18}", |
|
||||
"NL": "[A-Z]{4}\\d{10}", |
|
||||
"NO": "\\d{11}", |
|
||||
"PK": "[\\dA-Z]{4}\\d{16}", |
|
||||
"PS": "[\\dA-Z]{4}\\d{21}", |
|
||||
"PL": "\\d{24}", |
|
||||
"PT": "\\d{21}", |
|
||||
"RO": "[A-Z]{4}[\\dA-Z]{16}", |
|
||||
"SM": "[A-Z]\\d{10}[\\dA-Z]{12}", |
|
||||
"SA": "\\d{2}[\\dA-Z]{18}", |
|
||||
"RS": "\\d{18}", |
|
||||
"SK": "\\d{20}", |
|
||||
"SI": "\\d{15}", |
|
||||
"ES": "\\d{20}", |
|
||||
"SE": "\\d{20}", |
|
||||
"CH": "\\d{5}[\\dA-Z]{12}", |
|
||||
"TN": "\\d{20}", |
|
||||
"TR": "\\d{5}[\\dA-Z]{17}", |
|
||||
"AE": "\\d{3}\\d{16}", |
|
||||
"GB": "[A-Z]{4}\\d{14}", |
|
||||
"VG": "[\\dA-Z]{4}\\d{16}" |
|
||||
}; |
|
||||
|
|
||||
bbanpattern = bbancountrypatterns[countrycode]; |
|
||||
// As new countries will start using IBAN in the
|
|
||||
// future, we only check if the countrycode is known.
|
|
||||
// This prevents false negatives, while almost all
|
|
||||
// false positives introduced by this, will be caught
|
|
||||
// by the checksum validation below anyway.
|
|
||||
// Strict checking should return FALSE for unknown
|
|
||||
// countries.
|
|
||||
if (typeof bbanpattern !== "undefined") { |
|
||||
ibanregexp = new RegExp("^[A-Z]{2}\\d{2}" + bbanpattern + "$", ""); |
|
||||
if (!(ibanregexp.test(iban))) { |
|
||||
return false; // invalid country specific format
|
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// now check the checksum, first convert to digits
|
|
||||
ibancheck = iban.substring(4, iban.length) + iban.substring(0, 4); |
|
||||
for (i = 0; i < ibancheck.length; i++) { |
|
||||
charAt = ibancheck.charAt(i); |
|
||||
if (charAt !== "0") { |
|
||||
leadingZeroes = false; |
|
||||
} |
|
||||
if (!leadingZeroes) { |
|
||||
ibancheckdigits += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// calculate the result of: ibancheckdigits % 97
|
|
||||
for (p = 0; p < ibancheckdigits.length; p++) { |
|
||||
cChar = ibancheckdigits.charAt(p); |
|
||||
cOperator = "" + cRest + "" + cChar; |
|
||||
cRest = cOperator % 97; |
|
||||
} |
|
||||
return cRest === 1; |
|
||||
}, "Please specify a valid IBAN"); |
|
||||
|
|
||||
$.validator.addMethod("integer", function(value, element) { |
|
||||
return this.optional(element) || /^-?\d+$/.test(value); |
|
||||
}, "A positive or negative non-decimal number please"); |
|
||||
|
|
||||
$.validator.addMethod("ipv4", function(value, element) { |
|
||||
return this.optional(element) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value); |
|
||||
}, "Please enter a valid IP v4 address."); |
|
||||
|
|
||||
$.validator.addMethod("ipv6", function(value, element) { |
|
||||
return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value); |
|
||||
}, "Please enter a valid IP v6 address."); |
|
||||
|
|
||||
$.validator.addMethod("lettersonly", function(value, element) { |
|
||||
return this.optional(element) || /^[a-z]+$/i.test(value); |
|
||||
}, "Letters only please"); |
|
||||
|
|
||||
$.validator.addMethod("letterswithbasicpunc", function(value, element) { |
|
||||
return this.optional(element) || /^[a-z\-.,()'"\s]+$/i.test(value); |
|
||||
}, "Letters or punctuation only please"); |
|
||||
|
|
||||
$.validator.addMethod("mobileNL", function(value, element) { |
|
||||
return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value); |
|
||||
}, "Please specify a valid mobile number"); |
|
||||
|
|
||||
/* For UK phone functions, do the following server side processing: |
|
||||
* Compare original input with this RegEx pattern: |
|
||||
* ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ |
|
||||
* Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0' |
|
||||
* Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. |
|
||||
* A number of very detailed GB telephone number RegEx patterns can also be found at: |
|
||||
* http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
|
|
||||
*/ |
|
||||
$.validator.addMethod("mobileUK", function(phone_number, element) { |
|
||||
phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); |
|
||||
return this.optional(element) || phone_number.length > 9 && |
|
||||
phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/); |
|
||||
}, "Please specify a valid mobile number"); |
|
||||
|
|
||||
/* |
|
||||
* The número de identidad de extranjero ( NIE )is a code used to identify the non-nationals in Spain |
|
||||
*/ |
|
||||
$.validator.addMethod( "nieES", function( value ) { |
|
||||
"use strict"; |
|
||||
|
|
||||
value = value.toUpperCase(); |
|
||||
|
|
||||
// Basic format test
|
|
||||
if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
// Test NIE
|
|
||||
//T
|
|
||||
if ( /^[T]{1}/.test( value ) ) { |
|
||||
return ( value[ 8 ] === /^[T]{1}[A-Z0-9]{8}$/.test( value ) ); |
|
||||
} |
|
||||
|
|
||||
//XYZ
|
|
||||
if ( /^[XYZ]{1}/.test( value ) ) { |
|
||||
return ( |
|
||||
value[ 8 ] === "TRWAGMYFPDXBNJZSQVHLCKE".charAt( |
|
||||
value.replace( "X", "0" ) |
|
||||
.replace( "Y", "1" ) |
|
||||
.replace( "Z", "2" ) |
|
||||
.substring( 0, 8 ) % 23 |
|
||||
) |
|
||||
); |
|
||||
} |
|
||||
|
|
||||
return false; |
|
||||
|
|
||||
}, "Please specify a valid NIE number." ); |
|
||||
|
|
||||
/* |
|
||||
* The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals |
|
||||
*/ |
|
||||
$.validator.addMethod( "nifES", function( value ) { |
|
||||
"use strict"; |
|
||||
|
|
||||
value = value.toUpperCase(); |
|
||||
|
|
||||
// Basic format test
|
|
||||
if ( !value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)") ) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
// Test NIF
|
|
||||
if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) { |
|
||||
return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) ); |
|
||||
} |
|
||||
// Test specials NIF (starts with K, L or M)
|
|
||||
if ( /^[KLM]{1}/.test( value ) ) { |
|
||||
return ( value[ 8 ] === String.fromCharCode( 64 ) ); |
|
||||
} |
|
||||
|
|
||||
return false; |
|
||||
|
|
||||
}, "Please specify a valid NIF number." ); |
|
||||
|
|
||||
jQuery.validator.addMethod( "notEqualTo", function( value, element, param ) { |
|
||||
return this.optional(element) || !$.validator.methods.equalTo.call( this, value, element, param ); |
|
||||
}, "Please enter a different value, values must not be the same." ); |
|
||||
|
|
||||
$.validator.addMethod("nowhitespace", function(value, element) { |
|
||||
return this.optional(element) || /^\S+$/i.test(value); |
|
||||
}, "No white space please"); |
|
||||
|
|
||||
/** |
|
||||
* Return true if the field value matches the given format RegExp |
|
||||
* |
|
||||
* @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) |
|
||||
* @result true |
|
||||
* |
|
||||
* @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) |
|
||||
* @result false |
|
||||
* |
|
||||
* @name $.validator.methods.pattern |
|
||||
* @type Boolean |
|
||||
* @cat Plugins/Validate/Methods |
|
||||
*/ |
|
||||
$.validator.addMethod("pattern", function(value, element, param) { |
|
||||
if (this.optional(element)) { |
|
||||
return true; |
|
||||
} |
|
||||
if (typeof param === "string") { |
|
||||
param = new RegExp("^(?:" + param + ")$"); |
|
||||
} |
|
||||
return param.test(value); |
|
||||
}, "Invalid format."); |
|
||||
|
|
||||
/** |
|
||||
* Dutch phone numbers have 10 digits (or 11 and start with +31). |
|
||||
*/ |
|
||||
$.validator.addMethod("phoneNL", function(value, element) { |
|
||||
return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value); |
|
||||
}, "Please specify a valid phone number."); |
|
||||
|
|
||||
/* For UK phone functions, do the following server side processing: |
|
||||
* Compare original input with this RegEx pattern: |
|
||||
* ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ |
|
||||
* Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0' |
|
||||
* Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. |
|
||||
* A number of very detailed GB telephone number RegEx patterns can also be found at: |
|
||||
* http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
|
|
||||
*/ |
|
||||
$.validator.addMethod("phoneUK", function(phone_number, element) { |
|
||||
phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); |
|
||||
return this.optional(element) || phone_number.length > 9 && |
|
||||
phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/); |
|
||||
}, "Please specify a valid phone number"); |
|
||||
|
|
||||
/** |
|
||||
* matches US phone number format |
|
||||
* |
|
||||
* where the area code may not start with 1 and the prefix may not start with 1 |
|
||||
* allows '-' or ' ' as a separator and allows parens around area code |
|
||||
* some people may want to put a '1' in front of their number |
|
||||
* |
|
||||
* 1(212)-999-2345 or |
|
||||
* 212 999 2344 or |
|
||||
* 212-999-0983 |
|
||||
* |
|
||||
* but not |
|
||||
* 111-123-5434 |
|
||||
* and not |
|
||||
* 212 123 4567 |
|
||||
*/ |
|
||||
$.validator.addMethod("phoneUS", function(phone_number, element) { |
|
||||
phone_number = phone_number.replace(/\s+/g, ""); |
|
||||
return this.optional(element) || phone_number.length > 9 && |
|
||||
phone_number.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/); |
|
||||
}, "Please specify a valid phone number"); |
|
||||
|
|
||||
/* For UK phone functions, do the following server side processing: |
|
||||
* Compare original input with this RegEx pattern: |
|
||||
* ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ |
|
||||
* Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0' |
|
||||
* Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. |
|
||||
* A number of very detailed GB telephone number RegEx patterns can also be found at: |
|
||||
* http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
|
|
||||
*/ |
|
||||
//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers
|
|
||||
$.validator.addMethod("phonesUK", function(phone_number, element) { |
|
||||
phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); |
|
||||
return this.optional(element) || phone_number.length > 9 && |
|
||||
phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/); |
|
||||
}, "Please specify a valid uk phone number"); |
|
||||
|
|
||||
/** |
|
||||
* Matches a valid Canadian Postal Code |
|
||||
* |
|
||||
* @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element ) |
|
||||
* @result true |
|
||||
* |
|
||||
* @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element ) |
|
||||
* @result false |
|
||||
* |
|
||||
* @name jQuery.validator.methods.postalCodeCA |
|
||||
* @type Boolean |
|
||||
* @cat Plugins/Validate/Methods |
|
||||
*/ |
|
||||
$.validator.addMethod( "postalCodeCA", function( value, element ) { |
|
||||
return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test( value ); |
|
||||
}, "Please specify a valid postal code" ); |
|
||||
|
|
||||
/* |
|
||||
* Valida CEPs do brasileiros: |
|
||||
* |
|
||||
* Formatos aceitos: |
|
||||
* 99999-999 |
|
||||
* 99.999-999 |
|
||||
* 99999999 |
|
||||
*/ |
|
||||
$.validator.addMethod("postalcodeBR", function(cep_value, element) { |
|
||||
return this.optional(element) || /^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test( cep_value ); |
|
||||
}, "Informe um CEP válido."); |
|
||||
|
|
||||
/* Matches Italian postcode (CAP) */ |
|
||||
$.validator.addMethod("postalcodeIT", function(value, element) { |
|
||||
return this.optional(element) || /^\d{5}$/.test(value); |
|
||||
}, "Please specify a valid postal code"); |
|
||||
|
|
||||
$.validator.addMethod("postalcodeNL", function(value, element) { |
|
||||
return this.optional(element) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value); |
|
||||
}, "Please specify a valid postal code"); |
|
||||
|
|
||||
// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
|
|
||||
$.validator.addMethod("postcodeUK", function(value, element) { |
|
||||
return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value); |
|
||||
}, "Please specify a valid UK postcode"); |
|
||||
|
|
||||
/* |
|
||||
* Lets you say "at least X inputs that match selector Y must be filled." |
|
||||
* |
|
||||
* The end result is that neither of these inputs: |
|
||||
* |
|
||||
* <input class="productinfo" name="partnumber"> |
|
||||
* <input class="productinfo" name="description"> |
|
||||
* |
|
||||
* ...will validate unless at least one of them is filled. |
|
||||
* |
|
||||
* partnumber: {require_from_group: [1,".productinfo"]}, |
|
||||
* description: {require_from_group: [1,".productinfo"]} |
|
||||
* |
|
||||
* options[0]: number of fields that must be filled in the group |
|
||||
* options[1]: CSS selector that defines the group of conditionally required fields |
|
||||
*/ |
|
||||
$.validator.addMethod("require_from_group", function(value, element, options) { |
|
||||
var $fields = $(options[1], element.form), |
|
||||
$fieldsFirst = $fields.eq(0), |
|
||||
validator = $fieldsFirst.data("valid_req_grp") ? $fieldsFirst.data("valid_req_grp") : $.extend({}, this), |
|
||||
isValid = $fields.filter(function() { |
|
||||
return validator.elementValue(this); |
|
||||
}).length >= options[0]; |
|
||||
|
|
||||
// Store the cloned validator for future validation
|
|
||||
$fieldsFirst.data("valid_req_grp", validator); |
|
||||
|
|
||||
// If element isn't being validated, run each require_from_group field's validation rules
|
|
||||
if (!$(element).data("being_validated")) { |
|
||||
$fields.data("being_validated", true); |
|
||||
$fields.each(function() { |
|
||||
validator.element(this); |
|
||||
}); |
|
||||
$fields.data("being_validated", false); |
|
||||
} |
|
||||
return isValid; |
|
||||
}, $.validator.format("Please fill at least {0} of these fields.")); |
|
||||
|
|
||||
/* |
|
||||
* Lets you say "either at least X inputs that match selector Y must be filled, |
|
||||
* OR they must all be skipped (left blank)." |
|
||||
* |
|
||||
* The end result, is that none of these inputs: |
|
||||
* |
|
||||
* <input class="productinfo" name="partnumber"> |
|
||||
* <input class="productinfo" name="description"> |
|
||||
* <input class="productinfo" name="color"> |
|
||||
* |
|
||||
* ...will validate unless either at least two of them are filled, |
|
||||
* OR none of them are. |
|
||||
* |
|
||||
* partnumber: {skip_or_fill_minimum: [2,".productinfo"]}, |
|
||||
* description: {skip_or_fill_minimum: [2,".productinfo"]}, |
|
||||
* color: {skip_or_fill_minimum: [2,".productinfo"]} |
|
||||
* |
|
||||
* options[0]: number of fields that must be filled in the group |
|
||||
* options[1]: CSS selector that defines the group of conditionally required fields |
|
||||
* |
|
||||
*/ |
|
||||
$.validator.addMethod("skip_or_fill_minimum", function(value, element, options) { |
|
||||
var $fields = $(options[1], element.form), |
|
||||
$fieldsFirst = $fields.eq(0), |
|
||||
validator = $fieldsFirst.data("valid_skip") ? $fieldsFirst.data("valid_skip") : $.extend({}, this), |
|
||||
numberFilled = $fields.filter(function() { |
|
||||
return validator.elementValue(this); |
|
||||
}).length, |
|
||||
isValid = numberFilled === 0 || numberFilled >= options[0]; |
|
||||
|
|
||||
// Store the cloned validator for future validation
|
|
||||
$fieldsFirst.data("valid_skip", validator); |
|
||||
|
|
||||
// If element isn't being validated, run each skip_or_fill_minimum field's validation rules
|
|
||||
if (!$(element).data("being_validated")) { |
|
||||
$fields.data("being_validated", true); |
|
||||
$fields.each(function() { |
|
||||
validator.element(this); |
|
||||
}); |
|
||||
$fields.data("being_validated", false); |
|
||||
} |
|
||||
return isValid; |
|
||||
}, $.validator.format("Please either skip these fields or fill at least {0} of them.")); |
|
||||
|
|
||||
/* Validates US States and/or Territories by @jdforsythe |
|
||||
* Can be case insensitive or require capitalization - default is case insensitive |
|
||||
* Can include US Territories or not - default does not |
|
||||
* Can include US Military postal abbreviations (AA, AE, AP) - default does not |
|
||||
* |
|
||||
* Note: "States" always includes DC (District of Colombia) |
|
||||
* |
|
||||
* Usage examples: |
|
||||
* |
|
||||
* This is the default - case insensitive, no territories, no military zones |
|
||||
* stateInput: { |
|
||||
* caseSensitive: false, |
|
||||
* includeTerritories: false, |
|
||||
* includeMilitary: false |
|
||||
* } |
|
||||
* |
|
||||
* Only allow capital letters, no territories, no military zones |
|
||||
* stateInput: { |
|
||||
* caseSensitive: false |
|
||||
* } |
|
||||
* |
|
||||
* Case insensitive, include territories but not military zones |
|
||||
* stateInput: { |
|
||||
* includeTerritories: true |
|
||||
* } |
|
||||
* |
|
||||
* Only allow capital letters, include territories and military zones |
|
||||
* stateInput: { |
|
||||
* caseSensitive: true, |
|
||||
* includeTerritories: true, |
|
||||
* includeMilitary: true |
|
||||
* } |
|
||||
* |
|
||||
* |
|
||||
* |
|
||||
*/ |
|
||||
|
|
||||
$.validator.addMethod("stateUS", function(value, element, options) { |
|
||||
var isDefault = typeof options === "undefined", |
|
||||
caseSensitive = ( isDefault || typeof options.caseSensitive === "undefined" ) ? false : options.caseSensitive, |
|
||||
includeTerritories = ( isDefault || typeof options.includeTerritories === "undefined" ) ? false : options.includeTerritories, |
|
||||
includeMilitary = ( isDefault || typeof options.includeMilitary === "undefined" ) ? false : options.includeMilitary, |
|
||||
regex; |
|
||||
|
|
||||
if (!includeTerritories && !includeMilitary) { |
|
||||
regex = "^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; |
|
||||
} else if (includeTerritories && includeMilitary) { |
|
||||
regex = "^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; |
|
||||
} else if (includeTerritories) { |
|
||||
regex = "^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; |
|
||||
} else { |
|
||||
regex = "^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; |
|
||||
} |
|
||||
|
|
||||
regex = caseSensitive ? new RegExp(regex) : new RegExp(regex, "i"); |
|
||||
return this.optional(element) || regex.test(value); |
|
||||
}, |
|
||||
"Please specify a valid state"); |
|
||||
|
|
||||
// TODO check if value starts with <, otherwise don't try stripping anything
|
|
||||
$.validator.addMethod("strippedminlength", function(value, element, param) { |
|
||||
return $(value).text().length >= param; |
|
||||
}, $.validator.format("Please enter at least {0} characters")); |
|
||||
|
|
||||
$.validator.addMethod("time", function(value, element) { |
|
||||
return this.optional(element) || /^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(value); |
|
||||
}, "Please enter a valid time, between 00:00 and 23:59"); |
|
||||
|
|
||||
$.validator.addMethod("time12h", function(value, element) { |
|
||||
return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value); |
|
||||
}, "Please enter a valid time in 12-hour am/pm format"); |
|
||||
|
|
||||
// same as url, but TLD is optional
|
|
||||
$.validator.addMethod("url2", function(value, element) { |
|
||||
return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); |
|
||||
}, $.validator.messages.url); |
|
||||
|
|
||||
/** |
|
||||
* Return true, if the value is a valid vehicle identification number (VIN). |
|
||||
* |
|
||||
* Works with all kind of text inputs. |
|
||||
* |
|
||||
* @example <input type="text" size="20" name="VehicleID" class="{required:true,vinUS:true}" /> |
|
||||
* @desc Declares a required input element whose value must be a valid vehicle identification number. |
|
||||
* |
|
||||
* @name $.validator.methods.vinUS |
|
||||
* @type Boolean |
|
||||
* @cat Plugins/Validate/Methods |
|
||||
*/ |
|
||||
$.validator.addMethod("vinUS", function(v) { |
|
||||
if (v.length !== 17) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
var LL = [ "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ], |
|
||||
VL = [ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 7, 9, 2, 3, 4, 5, 6, 7, 8, 9 ], |
|
||||
FL = [ 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 ], |
|
||||
rs = 0, |
|
||||
i, n, d, f, cd, cdv; |
|
||||
|
|
||||
for (i = 0; i < 17; i++) { |
|
||||
f = FL[i]; |
|
||||
d = v.slice(i, i + 1); |
|
||||
if (i === 8) { |
|
||||
cdv = d; |
|
||||
} |
|
||||
if (!isNaN(d)) { |
|
||||
d *= f; |
|
||||
} else { |
|
||||
for (n = 0; n < LL.length; n++) { |
|
||||
if (d.toUpperCase() === LL[n]) { |
|
||||
d = VL[n]; |
|
||||
d *= f; |
|
||||
if (isNaN(cdv) && n === 8) { |
|
||||
cdv = LL[n]; |
|
||||
} |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
rs += d; |
|
||||
} |
|
||||
cd = rs % 11; |
|
||||
if (cd === 10) { |
|
||||
cd = "X"; |
|
||||
} |
|
||||
if (cd === cdv) { |
|
||||
return true; |
|
||||
} |
|
||||
return false; |
|
||||
}, "The specified vehicle identification number (VIN) is invalid."); |
|
||||
|
|
||||
$.validator.addMethod("zipcodeUS", function(value, element) { |
|
||||
return this.optional(element) || /^\d{5}(-\d{4})?$/.test(value); |
|
||||
}, "The specified US ZIP Code is invalid"); |
|
||||
|
|
||||
$.validator.addMethod("ziprange", function(value, element) { |
|
||||
return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value); |
|
||||
}, "Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx"); |
|
||||
|
|
||||
})); |
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,25 +0,0 @@ |
|||||
{ |
|
||||
"name": "jquery", |
|
||||
"main": "dist/jquery.js", |
|
||||
"license": "MIT", |
|
||||
"ignore": [ |
|
||||
"package.json" |
|
||||
], |
|
||||
"keywords": [ |
|
||||
"jquery", |
|
||||
"javascript", |
|
||||
"browser", |
|
||||
"library" |
|
||||
], |
|
||||
"homepage": "https://github.com/jquery/jquery-dist", |
|
||||
"version": "2.2.0", |
|
||||
"_release": "2.2.0", |
|
||||
"_resolution": { |
|
||||
"type": "version", |
|
||||
"tag": "2.2.0", |
|
||||
"commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" |
|
||||
}, |
|
||||
"_source": "git://github.com/jquery/jquery-dist.git", |
|
||||
"_target": "2.2.0", |
|
||||
"_originalSource": "jquery" |
|
||||
} |
|
||||
@ -1,36 +0,0 @@ |
|||||
Copyright jQuery Foundation and other contributors, https://jquery.org/ |
|
||||
|
|
||||
This software consists of voluntary contributions made by many |
|
||||
individuals. For exact contribution history, see the revision history |
|
||||
available at https://github.com/jquery/jquery |
|
||||
|
|
||||
The following license applies to all parts of this software except as |
|
||||
documented below: |
|
||||
|
|
||||
==== |
|
||||
|
|
||||
Permission is hereby granted, free of charge, to any person obtaining |
|
||||
a copy of this software and associated documentation files (the |
|
||||
"Software"), to deal in the Software without restriction, including |
|
||||
without limitation the rights to use, copy, modify, merge, publish, |
|
||||
distribute, sublicense, and/or sell copies of the Software, and to |
|
||||
permit persons to whom the Software is furnished to do so, subject to |
|
||||
the following conditions: |
|
||||
|
|
||||
The above copyright notice and this permission notice shall be |
|
||||
included in all copies or substantial portions of the Software. |
|
||||
|
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
||||
|
|
||||
==== |
|
||||
|
|
||||
All files located in the node_modules and external directories are |
|
||||
externally maintained libraries used by this software which have their |
|
||||
own licenses; we recommend you read them, as their terms may differ from |
|
||||
the terms above. |
|
||||
@ -0,0 +1,399 @@ |
|||||
|
/* global Symbol */ |
||||
|
// Defining this global in .eslintrc.json would create a danger of using the global
|
||||
|
// unguarded in another place, it seems safer to define global only for this module
|
||||
|
|
||||
|
define( [ |
||||
|
"./var/arr", |
||||
|
"./var/document", |
||||
|
"./var/getProto", |
||||
|
"./var/slice", |
||||
|
"./var/concat", |
||||
|
"./var/push", |
||||
|
"./var/indexOf", |
||||
|
"./var/class2type", |
||||
|
"./var/toString", |
||||
|
"./var/hasOwn", |
||||
|
"./var/fnToString", |
||||
|
"./var/ObjectFunctionString", |
||||
|
"./var/support", |
||||
|
"./var/isFunction", |
||||
|
"./var/isWindow", |
||||
|
"./core/DOMEval", |
||||
|
"./core/toType" |
||||
|
], function( arr, document, getProto, slice, concat, push, indexOf, |
||||
|
class2type, toString, hasOwn, fnToString, ObjectFunctionString, |
||||
|
support, isFunction, isWindow, DOMEval, toType ) { |
||||
|
|
||||
|
"use strict"; |
||||
|
|
||||
|
var |
||||
|
version = "3.3.1", |
||||
|
|
||||
|
// Define a local copy of jQuery
|
||||
|
jQuery = function( selector, context ) { |
||||
|
|
||||
|
// The jQuery object is actually just the init constructor 'enhanced'
|
||||
|
// Need init if jQuery is called (just allow error to be thrown if not included)
|
||||
|
return new jQuery.fn.init( selector, context ); |
||||
|
}, |
||||
|
|
||||
|
// Support: Android <=4.0 only
|
||||
|
// Make sure we trim BOM and NBSP
|
||||
|
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; |
||||
|
|
||||
|
jQuery.fn = jQuery.prototype = { |
||||
|
|
||||
|
// The current version of jQuery being used
|
||||
|
jquery: version, |
||||
|
|
||||
|
constructor: jQuery, |
||||
|
|
||||
|
// The default length of a jQuery object is 0
|
||||
|
length: 0, |
||||
|
|
||||
|
toArray: function() { |
||||
|
return slice.call( this ); |
||||
|
}, |
||||
|
|
||||
|
// Get the Nth element in the matched element set OR
|
||||
|
// Get the whole matched element set as a clean array
|
||||
|
get: function( num ) { |
||||
|
|
||||
|
// Return all the elements in a clean array
|
||||
|
if ( num == null ) { |
||||
|
return slice.call( this ); |
||||
|
} |
||||
|
|
||||
|
// Return just the one element from the set
|
||||
|
return num < 0 ? this[ num + this.length ] : this[ num ]; |
||||
|
}, |
||||
|
|
||||
|
// Take an array of elements and push it onto the stack
|
||||
|
// (returning the new matched element set)
|
||||
|
pushStack: function( elems ) { |
||||
|
|
||||
|
// Build a new jQuery matched element set
|
||||
|
var ret = jQuery.merge( this.constructor(), elems ); |
||||
|
|
||||
|
// Add the old object onto the stack (as a reference)
|
||||
|
ret.prevObject = this; |
||||
|
|
||||
|
// Return the newly-formed element set
|
||||
|
return ret; |
||||
|
}, |
||||
|
|
||||
|
// Execute a callback for every element in the matched set.
|
||||
|
each: function( callback ) { |
||||
|
return jQuery.each( this, callback ); |
||||
|
}, |
||||
|
|
||||
|
map: function( callback ) { |
||||
|
return this.pushStack( jQuery.map( this, function( elem, i ) { |
||||
|
return callback.call( elem, i, elem ); |
||||
|
} ) ); |
||||
|
}, |
||||
|
|
||||
|
slice: function() { |
||||
|
return this.pushStack( slice.apply( this, arguments ) ); |
||||
|
}, |
||||
|
|
||||
|
first: function() { |
||||
|
return this.eq( 0 ); |
||||
|
}, |
||||
|
|
||||
|
last: function() { |
||||
|
return this.eq( -1 ); |
||||
|
}, |
||||
|
|
||||
|
eq: function( i ) { |
||||
|
var len = this.length, |
||||
|
j = +i + ( i < 0 ? len : 0 ); |
||||
|
return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); |
||||
|
}, |
||||
|
|
||||
|
end: function() { |
||||
|
return this.prevObject || this.constructor(); |
||||
|
}, |
||||
|
|
||||
|
// For internal use only.
|
||||
|
// Behaves like an Array's method, not like a jQuery method.
|
||||
|
push: push, |
||||
|
sort: arr.sort, |
||||
|
splice: arr.splice |
||||
|
}; |
||||
|
|
||||
|
jQuery.extend = jQuery.fn.extend = function() { |
||||
|
var options, name, src, copy, copyIsArray, clone, |
||||
|
target = arguments[ 0 ] || {}, |
||||
|
i = 1, |
||||
|
length = arguments.length, |
||||
|
deep = false; |
||||
|
|
||||
|
// Handle a deep copy situation
|
||||
|
if ( typeof target === "boolean" ) { |
||||
|
deep = target; |
||||
|
|
||||
|
// Skip the boolean and the target
|
||||
|
target = arguments[ i ] || {}; |
||||
|
i++; |
||||
|
} |
||||
|
|
||||
|
// Handle case when target is a string or something (possible in deep copy)
|
||||
|
if ( typeof target !== "object" && !isFunction( target ) ) { |
||||
|
target = {}; |
||||
|
} |
||||
|
|
||||
|
// Extend jQuery itself if only one argument is passed
|
||||
|
if ( i === length ) { |
||||
|
target = this; |
||||
|
i--; |
||||
|
} |
||||
|
|
||||
|
for ( ; i < length; i++ ) { |
||||
|
|
||||
|
// Only deal with non-null/undefined values
|
||||
|
if ( ( options = arguments[ i ] ) != null ) { |
||||
|
|
||||
|
// Extend the base object
|
||||
|
for ( name in options ) { |
||||
|
src = target[ name ]; |
||||
|
copy = options[ name ]; |
||||
|
|
||||
|
// Prevent never-ending loop
|
||||
|
if ( target === copy ) { |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
// Recurse if we're merging plain objects or arrays
|
||||
|
if ( deep && copy && ( jQuery.isPlainObject( copy ) || |
||||
|
( copyIsArray = Array.isArray( copy ) ) ) ) { |
||||
|
|
||||
|
if ( copyIsArray ) { |
||||
|
copyIsArray = false; |
||||
|
clone = src && Array.isArray( src ) ? src : []; |
||||
|
|
||||
|
} else { |
||||
|
clone = src && jQuery.isPlainObject( src ) ? src : {}; |
||||
|
} |
||||
|
|
||||
|
// Never move original objects, clone them
|
||||
|
target[ name ] = jQuery.extend( deep, clone, copy ); |
||||
|
|
||||
|
// Don't bring in undefined values
|
||||
|
} else if ( copy !== undefined ) { |
||||
|
target[ name ] = copy; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// Return the modified object
|
||||
|
return target; |
||||
|
}; |
||||
|
|
||||
|
jQuery.extend( { |
||||
|
|
||||
|
// Unique for each copy of jQuery on the page
|
||||
|
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), |
||||
|
|
||||
|
// Assume jQuery is ready without the ready module
|
||||
|
isReady: true, |
||||
|
|
||||
|
error: function( msg ) { |
||||
|
throw new Error( msg ); |
||||
|
}, |
||||
|
|
||||
|
noop: function() {}, |
||||
|
|
||||
|
isPlainObject: function( obj ) { |
||||
|
var proto, Ctor; |
||||
|
|
||||
|
// Detect obvious negatives
|
||||
|
// Use toString instead of jQuery.type to catch host objects
|
||||
|
if ( !obj || toString.call( obj ) !== "[object Object]" ) { |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
proto = getProto( obj ); |
||||
|
|
||||
|
// Objects with no prototype (e.g., `Object.create( null )`) are plain
|
||||
|
if ( !proto ) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
// Objects with prototype are plain iff they were constructed by a global Object function
|
||||
|
Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; |
||||
|
return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; |
||||
|
}, |
||||
|
|
||||
|
isEmptyObject: function( obj ) { |
||||
|
|
||||
|
/* eslint-disable no-unused-vars */ |
||||
|
// See https://github.com/eslint/eslint/issues/6125
|
||||
|
var name; |
||||
|
|
||||
|
for ( name in obj ) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
}, |
||||
|
|
||||
|
// Evaluates a script in a global context
|
||||
|
globalEval: function( code ) { |
||||
|
DOMEval( code ); |
||||
|
}, |
||||
|
|
||||
|
each: function( obj, callback ) { |
||||
|
var length, i = 0; |
||||
|
|
||||
|
if ( isArrayLike( obj ) ) { |
||||
|
length = obj.length; |
||||
|
for ( ; i < length; i++ ) { |
||||
|
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
} else { |
||||
|
for ( i in obj ) { |
||||
|
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return obj; |
||||
|
}, |
||||
|
|
||||
|
// Support: Android <=4.0 only
|
||||
|
trim: function( text ) { |
||||
|
return text == null ? |
||||
|
"" : |
||||
|
( text + "" ).replace( rtrim, "" ); |
||||
|
}, |
||||
|
|
||||
|
// results is for internal usage only
|
||||
|
makeArray: function( arr, results ) { |
||||
|
var ret = results || []; |
||||
|
|
||||
|
if ( arr != null ) { |
||||
|
if ( isArrayLike( Object( arr ) ) ) { |
||||
|
jQuery.merge( ret, |
||||
|
typeof arr === "string" ? |
||||
|
[ arr ] : arr |
||||
|
); |
||||
|
} else { |
||||
|
push.call( ret, arr ); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return ret; |
||||
|
}, |
||||
|
|
||||
|
inArray: function( elem, arr, i ) { |
||||
|
return arr == null ? -1 : indexOf.call( arr, elem, i ); |
||||
|
}, |
||||
|
|
||||
|
// Support: Android <=4.0 only, PhantomJS 1 only
|
||||
|
// push.apply(_, arraylike) throws on ancient WebKit
|
||||
|
merge: function( first, second ) { |
||||
|
var len = +second.length, |
||||
|
j = 0, |
||||
|
i = first.length; |
||||
|
|
||||
|
for ( ; j < len; j++ ) { |
||||
|
first[ i++ ] = second[ j ]; |
||||
|
} |
||||
|
|
||||
|
first.length = i; |
||||
|
|
||||
|
return first; |
||||
|
}, |
||||
|
|
||||
|
grep: function( elems, callback, invert ) { |
||||
|
var callbackInverse, |
||||
|
matches = [], |
||||
|
i = 0, |
||||
|
length = elems.length, |
||||
|
callbackExpect = !invert; |
||||
|
|
||||
|
// Go through the array, only saving the items
|
||||
|
// that pass the validator function
|
||||
|
for ( ; i < length; i++ ) { |
||||
|
callbackInverse = !callback( elems[ i ], i ); |
||||
|
if ( callbackInverse !== callbackExpect ) { |
||||
|
matches.push( elems[ i ] ); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return matches; |
||||
|
}, |
||||
|
|
||||
|
// arg is for internal usage only
|
||||
|
map: function( elems, callback, arg ) { |
||||
|
var length, value, |
||||
|
i = 0, |
||||
|
ret = []; |
||||
|
|
||||
|
// Go through the array, translating each of the items to their new values
|
||||
|
if ( isArrayLike( elems ) ) { |
||||
|
length = elems.length; |
||||
|
for ( ; i < length; i++ ) { |
||||
|
value = callback( elems[ i ], i, arg ); |
||||
|
|
||||
|
if ( value != null ) { |
||||
|
ret.push( value ); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// Go through every key on the object,
|
||||
|
} else { |
||||
|
for ( i in elems ) { |
||||
|
value = callback( elems[ i ], i, arg ); |
||||
|
|
||||
|
if ( value != null ) { |
||||
|
ret.push( value ); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// Flatten any nested arrays
|
||||
|
return concat.apply( [], ret ); |
||||
|
}, |
||||
|
|
||||
|
// A global GUID counter for objects
|
||||
|
guid: 1, |
||||
|
|
||||
|
// jQuery.support is not used in Core but other projects attach their
|
||||
|
// properties to it so it needs to exist.
|
||||
|
support: support |
||||
|
} ); |
||||
|
|
||||
|
if ( typeof Symbol === "function" ) { |
||||
|
jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; |
||||
|
} |
||||
|
|
||||
|
// Populate the class2type map
|
||||
|
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), |
||||
|
function( i, name ) { |
||||
|
class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
||||
|
} ); |
||||
|
|
||||
|
function isArrayLike( obj ) { |
||||
|
|
||||
|
// Support: real iOS 8.2 only (not reproducible in simulator)
|
||||
|
// `in` check used to prevent JIT error (gh-2145)
|
||||
|
// hasOwn isn't used here due to false negatives
|
||||
|
// regarding Nodelist length in IE
|
||||
|
var length = !!obj && "length" in obj && obj.length, |
||||
|
type = toType( obj ); |
||||
|
|
||||
|
if ( isFunction( obj ) || isWindow( obj ) ) { |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
return type === "array" || length === 0 || |
||||
|
typeof length === "number" && length > 0 && ( length - 1 ) in obj; |
||||
|
} |
||||
|
|
||||
|
return jQuery; |
||||
|
} ); |
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,228 @@ |
|||||
|
.toast-title { |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
.toast-message { |
||||
|
-ms-word-wrap: break-word; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
.toast-message a, |
||||
|
.toast-message label { |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
.toast-message a:hover { |
||||
|
color: #CCCCCC; |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
.toast-close-button { |
||||
|
position: relative; |
||||
|
right: -0.3em; |
||||
|
top: -0.3em; |
||||
|
float: right; |
||||
|
font-size: 20px; |
||||
|
font-weight: bold; |
||||
|
color: #FFFFFF; |
||||
|
-webkit-text-shadow: 0 1px 0 #ffffff; |
||||
|
text-shadow: 0 1px 0 #ffffff; |
||||
|
opacity: 0.8; |
||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); |
||||
|
filter: alpha(opacity=80); |
||||
|
line-height: 1; |
||||
|
} |
||||
|
.toast-close-button:hover, |
||||
|
.toast-close-button:focus { |
||||
|
color: #000000; |
||||
|
text-decoration: none; |
||||
|
cursor: pointer; |
||||
|
opacity: 0.4; |
||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); |
||||
|
filter: alpha(opacity=40); |
||||
|
} |
||||
|
.rtl .toast-close-button { |
||||
|
left: -0.3em; |
||||
|
float: left; |
||||
|
right: 0.3em; |
||||
|
} |
||||
|
/*Additional properties for button version |
||||
|
iOS requires the button element instead of an anchor tag. |
||||
|
If you want the anchor version, it requires `href="#"`.*/ |
||||
|
button.toast-close-button { |
||||
|
padding: 0; |
||||
|
cursor: pointer; |
||||
|
background: transparent; |
||||
|
border: 0; |
||||
|
-webkit-appearance: none; |
||||
|
} |
||||
|
.toast-top-center { |
||||
|
top: 0; |
||||
|
right: 0; |
||||
|
width: 100%; |
||||
|
} |
||||
|
.toast-bottom-center { |
||||
|
bottom: 0; |
||||
|
right: 0; |
||||
|
width: 100%; |
||||
|
} |
||||
|
.toast-top-full-width { |
||||
|
top: 0; |
||||
|
right: 0; |
||||
|
width: 100%; |
||||
|
} |
||||
|
.toast-bottom-full-width { |
||||
|
bottom: 0; |
||||
|
right: 0; |
||||
|
width: 100%; |
||||
|
} |
||||
|
.toast-top-left { |
||||
|
top: 12px; |
||||
|
left: 12px; |
||||
|
} |
||||
|
.toast-top-right { |
||||
|
top: 12px; |
||||
|
right: 12px; |
||||
|
} |
||||
|
.toast-bottom-right { |
||||
|
right: 12px; |
||||
|
bottom: 12px; |
||||
|
} |
||||
|
.toast-bottom-left { |
||||
|
bottom: 12px; |
||||
|
left: 12px; |
||||
|
} |
||||
|
#toast-container { |
||||
|
position: fixed; |
||||
|
z-index: 999999; |
||||
|
pointer-events: none; |
||||
|
/*overrides*/ |
||||
|
} |
||||
|
#toast-container * { |
||||
|
-moz-box-sizing: border-box; |
||||
|
-webkit-box-sizing: border-box; |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
#toast-container > div { |
||||
|
position: relative; |
||||
|
pointer-events: auto; |
||||
|
overflow: hidden; |
||||
|
margin: 0 0 6px; |
||||
|
padding: 15px 15px 15px 50px; |
||||
|
width: 300px; |
||||
|
-moz-border-radius: 3px 3px 3px 3px; |
||||
|
-webkit-border-radius: 3px 3px 3px 3px; |
||||
|
border-radius: 3px 3px 3px 3px; |
||||
|
background-position: 15px center; |
||||
|
background-repeat: no-repeat; |
||||
|
-moz-box-shadow: 0 0 12px #999999; |
||||
|
-webkit-box-shadow: 0 0 12px #999999; |
||||
|
box-shadow: 0 0 12px #999999; |
||||
|
color: #FFFFFF; |
||||
|
opacity: 0.8; |
||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); |
||||
|
filter: alpha(opacity=80); |
||||
|
} |
||||
|
#toast-container > div.rtl { |
||||
|
direction: rtl; |
||||
|
padding: 15px 50px 15px 15px; |
||||
|
background-position: right 15px center; |
||||
|
} |
||||
|
#toast-container > div:hover { |
||||
|
-moz-box-shadow: 0 0 12px #000000; |
||||
|
-webkit-box-shadow: 0 0 12px #000000; |
||||
|
box-shadow: 0 0 12px #000000; |
||||
|
opacity: 1; |
||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); |
||||
|
filter: alpha(opacity=100); |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
#toast-container > .toast-info { |
||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; |
||||
|
} |
||||
|
#toast-container > .toast-error { |
||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; |
||||
|
} |
||||
|
#toast-container > .toast-success { |
||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; |
||||
|
} |
||||
|
#toast-container > .toast-warning { |
||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; |
||||
|
} |
||||
|
#toast-container.toast-top-center > div, |
||||
|
#toast-container.toast-bottom-center > div { |
||||
|
width: 300px; |
||||
|
margin-left: auto; |
||||
|
margin-right: auto; |
||||
|
} |
||||
|
#toast-container.toast-top-full-width > div, |
||||
|
#toast-container.toast-bottom-full-width > div { |
||||
|
width: 96%; |
||||
|
margin-left: auto; |
||||
|
margin-right: auto; |
||||
|
} |
||||
|
.toast { |
||||
|
background-color: #030303; |
||||
|
} |
||||
|
.toast-success { |
||||
|
background-color: #51A351; |
||||
|
} |
||||
|
.toast-error { |
||||
|
background-color: #BD362F; |
||||
|
} |
||||
|
.toast-info { |
||||
|
background-color: #2F96B4; |
||||
|
} |
||||
|
.toast-warning { |
||||
|
background-color: #F89406; |
||||
|
} |
||||
|
.toast-progress { |
||||
|
position: absolute; |
||||
|
left: 0; |
||||
|
bottom: 0; |
||||
|
height: 4px; |
||||
|
background-color: #000000; |
||||
|
opacity: 0.4; |
||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); |
||||
|
filter: alpha(opacity=40); |
||||
|
} |
||||
|
/*Responsive Design*/ |
||||
|
@media all and (max-width: 240px) { |
||||
|
#toast-container > div { |
||||
|
padding: 8px 8px 8px 50px; |
||||
|
width: 11em; |
||||
|
} |
||||
|
#toast-container > div.rtl { |
||||
|
padding: 8px 50px 8px 8px; |
||||
|
} |
||||
|
#toast-container .toast-close-button { |
||||
|
right: -0.2em; |
||||
|
top: -0.2em; |
||||
|
} |
||||
|
#toast-container .rtl .toast-close-button { |
||||
|
left: -0.2em; |
||||
|
right: 0.2em; |
||||
|
} |
||||
|
} |
||||
|
@media all and (min-width: 241px) and (max-width: 480px) { |
||||
|
#toast-container > div { |
||||
|
padding: 8px 8px 8px 50px; |
||||
|
width: 18em; |
||||
|
} |
||||
|
#toast-container > div.rtl { |
||||
|
padding: 8px 50px 8px 8px; |
||||
|
} |
||||
|
#toast-container .toast-close-button { |
||||
|
right: -0.2em; |
||||
|
top: -0.2em; |
||||
|
} |
||||
|
#toast-container .rtl .toast-close-button { |
||||
|
left: -0.2em; |
||||
|
right: 0.2em; |
||||
|
} |
||||
|
} |
||||
|
@media all and (min-width: 481px) and (max-width: 768px) { |
||||
|
#toast-container > div { |
||||
|
padding: 15px 15px 15px 50px; |
||||
|
width: 25em; |
||||
|
} |
||||
|
#toast-container > div.rtl { |
||||
|
padding: 15px 50px 15px 15px; |
||||
|
} |
||||
|
} |
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue