17 changed files with 24382 additions and 0 deletions
@ -0,0 +1,48 @@ |
|||||
|
{ |
||||
|
"version": "1.0", |
||||
|
"defaultProvider": "cdnjs", |
||||
|
"libraries": [ |
||||
|
{ |
||||
|
"library": "jquery@3.3.1", |
||||
|
"destination": "wwwroot/lib/jquery/" |
||||
|
}, |
||||
|
{ |
||||
|
"provider": "unpkg", |
||||
|
"library": "bootstrap@4.1.3", |
||||
|
"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/" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
File diff suppressed because it is too large
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
@ -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 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