2016-01-24 21:44:16 +03:00
/ * !
* Bootstrap Material Design v4 . 0.0 - prealpha ( https : //github.com/FezVrasta/bootstrap-material-design)
* Copyright 2014 - 2016 Federico Zivolo
* Licensed under MIT ( https : //github.com/FezVrasta/bootstrap-material-design/blob/master/LICENSE)
* /
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory ( ) :
typeof define === 'function' && define . amd ? define ( factory ) :
2016-01-26 00:36:23 +03:00
( factory ( ) ) ;
2016-01-24 21:44:16 +03:00
} ( this , function ( ) { 'use strict' ;
var babelHelpers = { } ;
babelHelpers . typeof = typeof Symbol === "function" && typeof Symbol . iterator === "symbol" ? function ( obj ) {
return typeof obj ;
} : function ( obj ) {
return obj && typeof Symbol === "function" && obj . constructor === Symbol ? "symbol" : typeof obj ;
} ;
babelHelpers . classCallCheck = function ( instance , Constructor ) {
if ( ! ( instance instanceof Constructor ) ) {
throw new TypeError ( "Cannot call a class as a function" ) ;
}
} ;
babelHelpers . createClass = function ( ) {
function defineProperties ( target , props ) {
for ( var i = 0 ; i < props . length ; i ++ ) {
var descriptor = props [ i ] ;
descriptor . enumerable = descriptor . enumerable || false ;
descriptor . configurable = true ;
if ( "value" in descriptor ) descriptor . writable = true ;
Object . defineProperty ( target , descriptor . key , descriptor ) ;
}
}
return function ( Constructor , protoProps , staticProps ) {
if ( protoProps ) defineProperties ( Constructor . prototype , protoProps ) ;
if ( staticProps ) defineProperties ( Constructor , staticProps ) ;
return Constructor ;
} ;
} ( ) ;
babelHelpers . get = function get ( object , property , receiver ) {
if ( object === null ) object = Function . prototype ;
var desc = Object . getOwnPropertyDescriptor ( object , property ) ;
if ( desc === undefined ) {
var parent = Object . getPrototypeOf ( object ) ;
if ( parent === null ) {
return undefined ;
} else {
return get ( parent , property , receiver ) ;
}
} else if ( "value" in desc ) {
return desc . value ;
} else {
var getter = desc . get ;
if ( getter === undefined ) {
return undefined ;
}
return getter . call ( receiver ) ;
}
} ;
babelHelpers . inherits = function ( subClass , superClass ) {
if ( typeof superClass !== "function" && superClass !== null ) {
throw new TypeError ( "Super expression must either be null or a function, not " + typeof superClass ) ;
}
subClass . prototype = Object . create ( superClass && superClass . prototype , {
constructor : {
value : subClass ,
enumerable : false ,
writable : true ,
configurable : true
}
} ) ;
if ( superClass ) Object . setPrototypeOf ? Object . setPrototypeOf ( subClass , superClass ) : subClass . _ _proto _ _ = superClass ;
} ;
babelHelpers . possibleConstructorReturn = function ( self , call ) {
if ( ! self ) {
throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ;
}
return call && ( typeof call === "object" || typeof call === "function" ) ? call : self ;
} ;
babelHelpers ;
( function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f ; } var l = n [ o ] = { exports : { } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ? n : e ) ; } , l , l . exports , e , t , n , r ) ; } return n [ o ] . exports ; } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) { s ( r [ o ] ) ; } return s ; } ) ( { 1 : [ function ( _dereq _ , module , exports ) { ( function ( global ) { "use strict" ; _dereq _ ( 189 ) ; _dereq _ ( 2 ) ; if ( global . _babelPolyfill ) { throw new Error ( "only one instance of babel-polyfill is allowed" ) ; } global . _babelPolyfill = true ; } ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } ) ; } , { "189" : 189 , "2" : 2 } ] , 2 : [ function ( _dereq _ , module , exports ) { module . exports = _dereq _ ( 190 ) ; } , { "190" : 190 } ] , 3 : [ function ( _dereq _ , module , exports ) { module . exports = function ( it ) { if ( typeof it != 'function' ) throw TypeError ( it + ' is not a function!' ) ; return it ; } ; } , { } ] , 4 : [ function ( _dereq _ , module , exports ) { // 22.1.3.31 Array.prototype[@@unscopables]
var UNSCOPABLES = _dereq _ ( 84 ) ( 'unscopables' ) , ArrayProto = Array . prototype ; if ( ArrayProto [ UNSCOPABLES ] == undefined ) _dereq _ ( 32 ) ( ArrayProto , UNSCOPABLES , { } ) ; module . exports = function ( key ) { ArrayProto [ UNSCOPABLES ] [ key ] = true ; } ; } , { "32" : 32 , "84" : 84 } ] , 5 : [ function ( _dereq _ , module , exports ) { var isObject = _dereq _ ( 39 ) ; module . exports = function ( it ) { if ( ! isObject ( it ) ) throw TypeError ( it + ' is not an object!' ) ; return it ; } ; } , { "39" : 39 } ] , 6 : [ function ( _dereq _ , module , exports ) { // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
'use strict' ; var toObject = _dereq _ ( 81 ) , toIndex = _dereq _ ( 77 ) , toLength = _dereq _ ( 80 ) ; module . exports = [ ] . copyWithin || function copyWithin ( target /*= 0*/ , start /*= 0, end = @length*/ ) { var O = toObject ( this ) , len = toLength ( O . length ) , to = toIndex ( target , len ) , from = toIndex ( start , len ) , $$ = arguments , end = $$ . length > 2 ? $$ [ 2 ] : undefined , count = Math . min ( ( end === undefined ? len : toIndex ( end , len ) ) - from , len - to ) , inc = 1 ; if ( from < to && to < from + count ) { inc = - 1 ; from += count - 1 ; to += count - 1 ; } while ( count -- > 0 ) { if ( from in O ) O [ to ] = O [ from ] ; else delete O [ to ] ; to += inc ; from += inc ; } return O ; } ; } , { "77" : 77 , "80" : 80 , "81" : 81 } ] , 7 : [ function ( _dereq _ , module , exports ) { // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
'use strict' ; var toObject = _dereq _ ( 81 ) , toIndex = _dereq _ ( 77 ) , toLength = _dereq _ ( 80 ) ; module . exports = [ ] . fill || function fill ( value /*, start = 0, end = @length */ ) { var O = toObject ( this , true ) , length = toLength ( O . length ) , $$ = arguments , $$len = $$ . length , index = toIndex ( $$len > 1 ? $$ [ 1 ] : undefined , length ) , end = $$len > 2 ? $$ [ 2 ] : undefined , endPos = end === undefined ? length : toIndex ( end , length ) ; while ( endPos > index ) { O [ index ++ ] = value ; } return O ; } ; } , { "77" : 77 , "80" : 80 , "81" : 81 } ] , 8 : [ function ( _dereq _ , module , exports ) { // false -> Array#indexOf
// true -> Array#includes
var toIObject = _dereq _ ( 79 ) , toLength = _dereq _ ( 80 ) , toIndex = _dereq _ ( 77 ) ; module . exports = function ( IS _INCLUDES ) { return function ( $this , el , fromIndex ) { var O = toIObject ( $this ) , length = toLength ( O . length ) , index = toIndex ( fromIndex , length ) , value ; // Array#includes uses SameValueZero equality algorithm
if ( IS _INCLUDES && el != el ) while ( length > index ) { value = O [ index ++ ] ; if ( value != value ) return true ; // Array#toIndex ignores holes, Array#includes - not
} else for ( ; length > index ; index ++ ) { if ( IS _INCLUDES || index in O ) { if ( O [ index ] === el ) return IS _INCLUDES || index ; } } return ! IS _INCLUDES && - 1 ; } ; } ; } , { "77" : 77 , "79" : 79 , "80" : 80 } ] , 9 : [ function ( _dereq _ , module , exports ) { // 0 -> Array#forEach
// 1 -> Array#map
// 2 -> Array#filter
// 3 -> Array#some
// 4 -> Array#every
// 5 -> Array#find
// 6 -> Array#findIndex
var ctx = _dereq _ ( 18 ) , IObject = _dereq _ ( 35 ) , toObject = _dereq _ ( 81 ) , toLength = _dereq _ ( 80 ) , asc = _dereq _ ( 10 ) ; module . exports = function ( TYPE ) { var IS _MAP = TYPE == 1 , IS _FILTER = TYPE == 2 , IS _SOME = TYPE == 3 , IS _EVERY = TYPE == 4 , IS _FIND _INDEX = TYPE == 6 , NO _HOLES = TYPE == 5 || IS _FIND _INDEX ; return function ( $this , callbackfn , that ) { var O = toObject ( $this ) , self = IObject ( O ) , f = ctx ( callbackfn , that , 3 ) , length = toLength ( self . length ) , index = 0 , result = IS _MAP ? asc ( $this , length ) : IS _FILTER ? asc ( $this , 0 ) : undefined , val , res ; for ( ; length > index ; index ++ ) { if ( NO _HOLES || index in self ) { val = self [ index ] ; res = f ( val , index , O ) ; if ( TYPE ) { if ( IS _MAP ) result [ index ] = res ; // map
else if ( res ) switch ( TYPE ) { case 3 : return true ; // some
case 5 : return val ; // find
case 6 : return index ; // findIndex
case 2 : result . push ( val ) ; // filter
} else if ( IS _EVERY ) return false ; // every
} } } return IS _FIND _INDEX ? - 1 : IS _SOME || IS _EVERY ? IS _EVERY : result ; } ; } ; } , { "10" : 10 , "18" : 18 , "35" : 35 , "80" : 80 , "81" : 81 } ] , 10 : [ function ( _dereq _ , module , exports ) { // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
var isObject = _dereq _ ( 39 ) , isArray = _dereq _ ( 37 ) , SPECIES = _dereq _ ( 84 ) ( 'species' ) ; module . exports = function ( original , length ) { var C ; if ( isArray ( original ) ) { C = original . constructor ; // cross-realm fallback
if ( typeof C == 'function' && ( C === Array || isArray ( C . prototype ) ) ) C = undefined ; if ( isObject ( C ) ) { C = C [ SPECIES ] ; if ( C === null ) C = undefined ; } } return new ( C === undefined ? Array : C ) ( length ) ; } ; } , { "37" : 37 , "39" : 39 , "84" : 84 } ] , 11 : [ function ( _dereq _ , module , exports ) { // getting tag from 19.1.3.6 Object.prototype.toString()
var cof = _dereq _ ( 12 ) , TAG = _dereq _ ( 84 ) ( 'toStringTag' ) // ES3 wrong here
, ARG = cof ( function ( ) { return arguments ; } ( ) ) == 'Arguments' ; module . exports = function ( it ) { var O , T , B ; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case
: typeof ( T = ( O = Object ( it ) ) [ TAG ] ) == 'string' ? T // builtinTag case
: ARG ? cof ( O ) // ES3 arguments fallback
: ( B = cof ( O ) ) == 'Object' && typeof O . callee == 'function' ? 'Arguments' : B ; } ; } , { "12" : 12 , "84" : 84 } ] , 12 : [ function ( _dereq _ , module , exports ) { var toString = { } . toString ; module . exports = function ( it ) { return toString . call ( it ) . slice ( 8 , - 1 ) ; } ; } , { } ] , 13 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , hide = _dereq _ ( 32 ) , mix = _dereq _ ( 54 ) , ctx = _dereq _ ( 18 ) , strictNew = _dereq _ ( 70 ) , defined = _dereq _ ( 20 ) , forOf = _dereq _ ( 28 ) , $iterDefine = _dereq _ ( 43 ) , step = _dereq _ ( 45 ) , ID = _dereq _ ( 83 ) ( 'id' ) , $has = _dereq _ ( 31 ) , isObject = _dereq _ ( 39 ) , setSpecies = _dereq _ ( 66 ) , DESCRIPTORS = _dereq _ ( 21 ) , isExtensible = Object . isExtensible || isObject , SIZE = DESCRIPTORS ? '_s' : 'size' , id = 0 ; var fastKey = function fastKey ( it , create ) { // return primitive with prefix
if ( ! isObject ( it ) ) return ( typeof it === "undefined" ? "undefined" : babelHelpers . typeof ( it ) ) == 'symbol' ? it : ( typeof it == 'string' ? 'S' : 'P' ) + it ; if ( ! $has ( it , ID ) ) { // can't set id to frozen object
if ( ! isExtensible ( it ) ) return 'F' ; // not necessary to add id
if ( ! create ) return 'E' ; // add missing object id
hide ( it , ID , ++ id ) ; // return object id with prefix
} return 'O' + it [ ID ] ; } ; var getEntry = function getEntry ( that , key ) { // fast case
var index = fastKey ( key ) , entry ; if ( index !== 'F' ) return that . _i [ index ] ; // frozen object case
for ( entry = that . _f ; entry ; entry = entry . n ) { if ( entry . k == key ) return entry ; } } ; module . exports = { getConstructor : function getConstructor ( wrapper , NAME , IS _MAP , ADDER ) { var C = wrapper ( function ( that , iterable ) { strictNew ( that , C , NAME ) ; that . _i = $ . create ( null ) ; // index
that . _f = undefined ; // first entry
that . _l = undefined ; // last entry
that [ SIZE ] = 0 ; // size
if ( iterable != undefined ) forOf ( iterable , IS _MAP , that [ ADDER ] , that ) ; } ) ; mix ( C . prototype , { // 23.1.3.1 Map.prototype.clear()
// 23.2.3.2 Set.prototype.clear()
clear : function clear ( ) { for ( var that = this , data = that . _i , entry = that . _f ; entry ; entry = entry . n ) { entry . r = true ; if ( entry . p ) entry . p = entry . p . n = undefined ; delete data [ entry . i ] ; } that . _f = that . _l = undefined ; that [ SIZE ] = 0 ; } , // 23.1.3.3 Map.prototype.delete(key)
// 23.2.3.4 Set.prototype.delete(value)
'delete' : function _delete ( key ) { var that = this , entry = getEntry ( that , key ) ; if ( entry ) { var next = entry . n , prev = entry . p ; delete that . _i [ entry . i ] ; entry . r = true ; if ( prev ) prev . n = next ; if ( next ) next . p = prev ; if ( that . _f == entry ) that . _f = next ; if ( that . _l == entry ) that . _l = prev ; that [ SIZE ] -- ; } return ! ! entry ; } , // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
forEach : function forEach ( callbackfn /*, that = undefined */ ) { var f = ctx ( callbackfn , arguments . length > 1 ? arguments [ 1 ] : undefined , 3 ) , entry ; while ( entry = entry ? entry . n : this . _f ) { f ( entry . v , entry . k , this ) ; // revert to the last existing entry
while ( entry && entry . r ) { entry = entry . p ; } } } , // 23.1.3.7 Map.prototype.has(key)
// 23.2.3.7 Set.prototype.has(value)
has : function has ( key ) { return ! ! getEntry ( this , key ) ; } } ) ; if ( DESCRIPTORS ) $ . setDesc ( C . prototype , 'size' , { get : function get ( ) { return defined ( this [ SIZE ] ) ; } } ) ; return C ; } , def : function def ( that , key , value ) { var entry = getEntry ( that , key ) , prev , index ; // change existing entry
if ( entry ) { entry . v = value ; // create new entry
} else { that . _l = entry = { i : index = fastKey ( key , true ) , // <- index
k : key , // <- key
v : value , // <- value
p : prev = that . _l , // <- previous entry
n : undefined , // <- next entry
r : false // <- removed
} ; if ( ! that . _f ) that . _f = entry ; if ( prev ) prev . n = entry ; that [ SIZE ] ++ ; // add to index
if ( index !== 'F' ) that . _i [ index ] = entry ; } return that ; } , getEntry : getEntry , setStrong : function setStrong ( C , NAME , IS _MAP ) { // add .keys, .values, .entries, [@@iterator]
// 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
$iterDefine ( C , NAME , function ( iterated , kind ) { this . _t = iterated ; // target
this . _k = kind ; // kind
this . _l = undefined ; // previous
} , function ( ) { var that = this , kind = that . _k , entry = that . _l ; // revert to the last existing entry
while ( entry && entry . r ) { entry = entry . p ; } // get next entry
if ( ! that . _t || ! ( that . _l = entry = entry ? entry . n : that . _t . _f ) ) { // or finish the iteration
that . _t = undefined ; return step ( 1 ) ; } // return step by kind
if ( kind == 'keys' ) return step ( 0 , entry . k ) ; if ( kind == 'values' ) return step ( 0 , entry . v ) ; return step ( 0 , [ entry . k , entry . v ] ) ; } , IS _MAP ? 'entries' : 'values' , ! IS _MAP , true ) ; // add [@@species], 23.1.2.2, 23.2.2.2
setSpecies ( NAME ) ; } } ; } , { "18" : 18 , "20" : 20 , "21" : 21 , "28" : 28 , "31" : 31 , "32" : 32 , "39" : 39 , "43" : 43 , "45" : 45 , "47" : 47 , "54" : 54 , "66" : 66 , "70" : 70 , "83" : 83 } ] , 14 : [ function ( _dereq _ , module , exports ) { // https://github.com/DavidBruant/Map-Set.prototype.toJSON
var forOf = _dereq _ ( 28 ) , classof = _dereq _ ( 11 ) ; module . exports = function ( NAME ) { return function toJSON ( ) { if ( classof ( this ) != NAME ) throw TypeError ( NAME + "#toJSON isn't generic" ) ; var arr = [ ] ; forOf ( this , false , arr . push , arr ) ; return arr ; } ; } ; } , { "11" : 11 , "28" : 28 } ] , 15 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var hide = _dereq _ ( 32 ) , mix = _dereq _ ( 54 ) , anObject = _dereq _ ( 5 ) , strictNew = _dereq _ ( 70 ) , forOf = _dereq _ ( 28 ) , method = _dereq _ ( 9 ) , WEAK = _dereq _ ( 83 ) ( 'weak' ) , isObject = _dereq _ ( 39 ) , $has = _dereq _ ( 31 ) , isExtensible = Object . isExtensible || isObject , find = method ( 5 ) , findIndex = method ( 6 ) , id = 0 ; // fallback for frozen keys
var frozenStore = function frozenStore ( that ) { return that . _l || ( that . _l = new FrozenStore ( ) ) ; } ; var FrozenStore = function FrozenStore ( ) { this . a = [ ] ; } ; var findFrozen = function findFrozen ( store , key ) { return find ( store . a , function ( it ) { return it [ 0 ] === key ; } ) ; } ; FrozenStore . prototype = { get : function get ( key ) { var entry = findFrozen ( this , key ) ; if ( entry ) return entry [ 1 ] ; } , has : function has ( key ) { return ! ! findFrozen ( this , key ) ; } , set : function set ( key , value ) { var entry = findFrozen ( this , key ) ; if ( entry ) entry [ 1 ] = value ; else this . a . push ( [ key , value ] ) ; } , 'delete' : function _delete ( key ) { var index = findIndex ( this . a , function ( it ) { return it [ 0 ] === key ; } ) ; if ( ~ index ) this . a . splice ( index , 1 ) ; return ! ! ~ index ; } } ; module . exports = { getConstructor : function getConstructor ( wrapper , NAME , IS _MAP , ADDER ) { var C = wrapper ( function ( that , iterable ) { strictNew ( that , C , NAME ) ; that . _i = id ++ ; // collection id
that . _l = undefined ; // leak store for frozen objects
if ( iterable != undefined ) forOf ( iterable , IS _MAP , that [ ADDER ] , that ) ; } ) ; mix ( C . prototype , { // 23.3.3.2 WeakMap.prototype.delete(key)
// 23.4.3.3 WeakSet.prototype.delete(value)
'delete' : function _delete ( key ) { if ( ! isObject ( key ) ) return false ; if ( ! isExtensible ( key ) ) return frozenStore ( this ) [ 'delete' ] ( key ) ; return $has ( key , WEAK ) && $has ( key [ WEAK ] , this . _i ) && delete key [ WEAK ] [ this . _i ] ; } , // 23.3.3.4 WeakMap.prototype.has(key)
// 23.4.3.4 WeakSet.prototype.has(value)
has : function has ( key ) { if ( ! isObject ( key ) ) return false ; if ( ! isExtensible ( key ) ) return frozenStore ( this ) . has ( key ) ; return $has ( key , WEAK ) && $has ( key [ WEAK ] , this . _i ) ; } } ) ; return C ; } , def : function def ( that , key , value ) { if ( ! isExtensible ( anObject ( key ) ) ) { frozenStore ( that ) . set ( key , value ) ; } else { $has ( key , WEAK ) || hide ( key , WEAK , { } ) ; key [ WEAK ] [ that . _i ] = value ; } return that ; } , frozenStore : frozenStore , WEAK : WEAK } ; } , { "28" : 28 , "31" : 31 , "32" : 32 , "39" : 39 , "5" : 5 , "54" : 54 , "70" : 70 , "83" : 83 , "9" : 9 } ] , 16 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var global = _dereq _ ( 30 ) , $def = _dereq _ ( 19 ) , $redef = _dereq _ ( 62 ) , mix = _dereq _ ( 54 ) , forOf = _dereq _ ( 28 ) , strictNew = _dereq _ ( 70 ) , isObject = _dereq _ ( 39 ) , fails = _dereq _ ( 25 ) , $iterDetect = _dereq _ ( 44 ) , setToStringTag = _dereq _ ( 67 ) ; module . exports = function ( NAME , wrapper , methods , common , IS _MAP , IS _WEAK ) { var Base = global [ NAME ] , C = Base , ADDER = IS _MAP ? 'set' : 'add' , proto = C && C . prototype , O = { } ; var fixMethod = function fixMethod ( KEY ) { var fn = proto [ KEY ] ; $redef ( proto , KEY , KEY == 'delete' ? function ( a ) { return IS _WEAK && ! isObject ( a ) ? false : fn . call ( this , a === 0 ? 0 : a ) ; } : KEY == 'has' ? function has ( a ) { return IS _WEAK && ! isObject ( a ) ? false : fn . call ( this , a === 0 ? 0 : a ) ; } : KEY == 'get' ? function get ( a ) { return IS _WEAK && ! isObject ( a ) ? undefined : fn . call ( this , a === 0 ? 0 : a ) ; } : KEY == 'add' ? function add ( a ) { fn . call ( this , a === 0 ? 0 : a ) ; return this ; } : function set ( a , b ) { fn . call ( this , a === 0 ? 0 : a , b ) ; return this ; } ) ; } ; if ( typeof C != 'function' || ! ( IS _WEAK || proto . forEach && ! fails ( function ( ) { new C ( ) . entries ( ) . next ( ) ; } ) ) ) { // create collection constructor
C = common . getConstructor ( wrapper , NAME , IS _MAP , ADDER ) ; mix ( C . prototype , methods ) ; } else { var instance = new C ( ) // early implementations not supports chaining
, HASNT _CHAINING = instance [ ADDER ] ( IS _WEAK ? { } : - 0 , 1 ) != instance // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
, THROWS _ON _PRIMITIVES = fails ( function ( ) { instance . has ( 1 ) ; } ) // most early implementations doesn't supports iterables, most modern - not close it correctly
, ACCEPT _ITERABLES = $iterDetect ( function ( iter ) { new C ( iter ) ; } ) // eslint-disable-line no-new
// for early implementations -0 and +0 not the same
, BUGGY _ZERO ; if ( ! ACCEPT _ITERABLES ) { C = wrapper ( function ( target , iterable ) { strictNew ( target , C , NAME ) ; var that = new Base ( ) ; if ( iterable != undefined ) forOf ( iterable , IS _MAP , that [ ADDER ] , that ) ; return that ; } ) ; C . prototype = proto ; proto . constructor = C ; } IS _WEAK || instance . forEach ( function ( val , key ) { BUGGY _ZERO = 1 / key === - Infinity ; } ) ; if ( THROWS _ON _PRIMITIVES || BUGGY _ZERO ) { fixMethod ( 'delete' ) ; fixMethod ( 'has' ) ; IS _MAP && fixMethod ( 'get' ) ; } if ( BUGGY _ZERO || HASNT _CHAINING ) fixMethod ( ADDER ) ; // weak collections should not contains .clear method
if ( IS _WEAK && proto . clear ) delete proto . clear ; } setToStringTag ( C , NAME ) ; O [ NAME ] = C ; $def ( $def . G + $def . W + $def . F * ( C != Base ) , O ) ; if ( ! IS _WEAK ) common . setStrong ( C , NAME , IS _MAP ) ; return C ; } ; } , { "19" : 19 , "25" : 25 , "28" : 28 , "30" : 30 , "39" : 39 , "44" : 44 , "54" : 54 , "62" : 62 , "67" : 67 , "70" : 70 } ] , 17 : [ function ( _dereq _ , module , exports ) { var core = module . exports = { version : '1.2.5' } ; if ( typeof _ _e == 'number' ) _ _e = core ; // eslint-disable-line no-undef
} , { } ] , 18 : [ function ( _dereq _ , module , exports ) { // optional / simple context binding
var aFunction = _dereq _ ( 3 ) ; module . exports = function ( fn , that , length ) { aFunction ( fn ) ; if ( that === undefined ) return fn ; switch ( length ) { case 1 : return function ( a ) { return fn . call ( that , a ) ; } ; case 2 : return function ( a , b ) { return fn . call ( that , a , b ) ; } ; case 3 : return function ( a , b , c ) { return fn . call ( that , a , b , c ) ; } ; } return function ( ) /* ...args */ { return fn . apply ( that , arguments ) ; } ; } ; } , { "3" : 3 } ] , 19 : [ function ( _dereq _ , module , exports ) { var global = _dereq _ ( 30 ) , core = _dereq _ ( 17 ) , hide = _dereq _ ( 32 ) , $redef = _dereq _ ( 62 ) , PROTOTYPE = 'prototype' ; var ctx = function ctx ( fn , that ) { return function ( ) { return fn . apply ( that , arguments ) ; } ; } ; var $def = function $def ( type , name , source ) { var key , own , out , exp , isGlobal = type & $def . G , isProto = type & $def . P , target = isGlobal ? global : type & $def . S ? global [ name ] || ( global [ name ] = { } ) : ( global [ name ] || { } ) [ PROTOTYPE ] , exports = isGlobal ? core : core [ name ] || ( core [ name ] = { } ) ; if ( isGlobal ) source = name ; for ( key in source ) { // contains in native
own = ! ( type & $def . F ) && target && key in target ; // export native or passed
out = ( own ? target : source ) [ key ] ; // bind timers to global for call from export context
if ( type & $def . B && own ) exp = ctx ( out , global ) ; else exp = isProto && typeof out == 'function' ? ctx ( Function . call , out ) : out ; // extend global
if ( target && ! own ) $redef ( target , key , out ) ; // export
if ( exports [ key ] != out ) hide ( exports , key , exp ) ; if ( isProto ) ( exports [ PROTOTYPE ] || ( exports [ PROTOTYPE ] = { } ) ) [ key ] = out ; } } ; global . core = core ; // type bitmap
$def . F = 1 ; // forced
$def . G = 2 ; // global
$def . S = 4 ; // static
$def . P = 8 ; // proto
$def . B = 16 ; // bind
$def . W = 32 ; // wrap
module . exports = $def ; } , { "17" : 17 , "30" : 30 , "32" : 32 , "62" : 62 } ] , 20 : [ function ( _dereq _ , module , exports ) { // 7.2.1 RequireObjectCoercible(argument)
module . exports = function ( it ) { if ( it == undefined ) throw TypeError ( "Can't call method on " + it ) ; return it ; } ; } , { } ] , 21 : [ function ( _dereq _ , module , exports ) { // Thank's IE8 for his funny defineProperty
module . exports = ! _dereq _ ( 25 ) ( function ( ) { return Object . defineProperty ( { } , 'a' , { get : function get ( ) { return 7 ; } } ) . a != 7 ; } ) ; } , { "25" : 25 } ] , 22 : [ function ( _dereq _ , module , exports ) { var isObject = _dereq _ ( 39 ) , document = _dereq _ ( 30 ) . document // in old IE typeof document.createElement is 'object'
, is = isObject ( document ) && isObject ( document . createElement ) ; module . exports = function ( it ) { return is ? document . createElement ( it ) : { } ; } ; } , { "30" : 30 , "39" : 39 } ] , 23 : [ function ( _dereq _ , module , exports ) { // all enumerable object keys, includes symbols
var $ = _dereq _ ( 47 ) ; module . exports = function ( it ) { var keys = $ . getKeys ( it ) , getSymbols = $ . getSymbols ; if ( getSymbols ) { var symbols = getSymbols ( it ) , isEnum = $ . isEnum , i = 0 , key ; while ( symbols . length > i ) { if ( isEnum . call ( it , key = symbols [ i ++ ] ) ) keys . push ( key ) ; } } return keys ; } ; } , { "47" : 47 } ] , 24 : [ function ( _dereq _ , module , exports ) { var MATCH = _dereq _ ( 84 ) ( 'match' ) ; module . exports = function ( KEY ) { var re = /./ ; try { '/./' [ KEY ] ( re ) ; } catch ( e ) { try { re [ MATCH ] = false ; return ! '/./' [ KEY ] ( re ) ; } catch ( f ) { /* empty */ } } return true ; } ; } , { "84" : 84 } ] , 25 : [ function ( _dereq _ , module , exports ) { module . exports = function ( exec ) { try { return ! ! exec ( ) ; } catch ( e ) { return true ; } } ; } , { } ] , 26 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var hide = _dereq _ ( 32 ) , redef = _dereq _ ( 62 ) , fails = _dereq _ ( 25 ) , defined = _dereq _ ( 20 ) , wks = _dereq _ ( 84 ) ; module . exports = function ( KEY , length , exec ) { var SYMBOL = wks ( KEY ) , original = '' [ KEY ] ; if ( fails ( function ( ) { var O = { } ; O [ SYMBOL ] = function ( ) { return 7 ; } ; return '' [ KEY ] ( O ) != 7 ; } ) ) { redef ( String . prototype , KEY , exec ( defined , SYMBOL , original ) ) ; hide ( RegExp . prototype , SYMBOL , length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
? function ( string , arg ) { return original . call ( string , this , arg ) ; } // 21.2.5.6 RegExp.prototype[@@match](string)
// 21.2.5.9 RegExp.prototype[@@search](string)
: function ( string ) { return original . call ( string , this ) ; } ) ; } } ; } , { "20" : 20 , "25" : 25 , "32" : 32 , "62" : 62 , "84" : 84 } ] , 27 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // 21.2.5.3 get RegExp.prototype.flags
var anObject = _dereq _ ( 5 ) ; module . exports = function ( ) { var that = anObject ( this ) , result = '' ; if ( that . global ) result += 'g' ; if ( that . ignoreCase ) result += 'i' ; if ( that . multiline ) result += 'm' ; if ( that . unicode ) result += 'u' ; if ( that . sticky ) result += 'y' ; return result ; } ; } , { "5" : 5 } ] , 28 : [ function ( _dereq _ , module , exports ) { var ctx = _dereq _ ( 18 ) , call = _dereq _ ( 41 ) , isArrayIter = _dereq _ ( 36 ) , anObject = _dereq _ ( 5 ) , toLength = _dereq _ ( 80 ) , getIterFn = _dereq _ ( 85 ) ; module . exports = function ( iterable , entries , fn , that ) { var iterFn = getIterFn ( iterable ) , f = ctx ( fn , that , entries ? 2 : 1 ) , index = 0 , length , step , iterator ; if ( typeof iterFn != 'function' ) throw TypeError ( iterable + ' is not iterable!' ) ; // fast case for arrays with default iterator
if ( isArrayIter ( iterFn ) ) for ( length = toLength ( iterable . length ) ; length > index ; index ++ ) { entries ? f ( anObject ( step = iterable [ index ] ) [ 0 ] , step [ 1 ] ) : f ( iterable [ index ] ) ; } else for ( iterator = iterFn . call ( iterable ) ; ! ( step = iterator . next ( ) ) . done ; ) { call ( iterator , f , step . value , entries ) ; } } ; } , { "18" : 18 , "36" : 36 , "41" : 41 , "5" : 5 , "80" : 80 , "85" : 85 } ] , 29 : [ function ( _dereq _ , module , exports ) { // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
var toString = { } . toString , toIObject = _dereq _ ( 79 ) , getNames = _dereq _ ( 47 ) . getNames ; var windowNames = ( typeof window === "undefined" ? "undefined" : babelHelpers . typeof ( window ) ) == 'object' && Object . getOwnPropertyNames ? Object . getOwnPropertyNames ( window ) : [ ] ; var getWindowNames = function getWindowNames ( it ) { try { return getNames ( it ) ; } catch ( e ) { return windowNames . slice ( ) ; } } ; module . exports . get = function getOwnPropertyNames ( it ) { if ( windowNames && toString . call ( it ) == '[object Window]' ) return getWindowNames ( it ) ; return getNames ( toIObject ( it ) ) ; } ; } , { "47" : 47 , "79" : 79 } ] , 30 : [ function ( _dereq _ , module , exports ) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module . exports = typeof window != 'undefined' && window . Math == Math ? window : typeof self != 'undefined' && self . Math == Math ? self : Function ( 'return this' ) ( ) ; if ( typeof _ _g == 'number' ) _ _g = global ; // eslint-disable-line no-undef
} , { } ] , 31 : [ function ( _dereq _ , module , exports ) { var hasOwnProperty = { } . hasOwnProperty ; module . exports = function ( it , key ) { return hasOwnProperty . call ( it , key ) ; } ; } , { } ] , 32 : [ function ( _dereq _ , module , exports ) { var $ = _dereq _ ( 47 ) , createDesc = _dereq _ ( 61 ) ; module . exports = _dereq _ ( 21 ) ? function ( object , key , value ) { return $ . setDesc ( object , key , createDesc ( 1 , value ) ) ; } : function ( object , key , value ) { object [ key ] = value ; return object ; } ; } , { "21" : 21 , "47" : 47 , "61" : 61 } ] , 33 : [ function ( _dereq _ , module , exports ) { module . exports = _dereq _ ( 30 ) . document && document . documentElement ; } , { "30" : 30 } ] , 34 : [ function ( _dereq _ , module , exports ) { // fast apply, http://jsperf.lnkit.com/fast-apply/5
module . exports = function ( fn , args , that ) { var un = that === undefined ; switch ( args . length ) { case 0 : return un ? fn ( ) : fn . call ( that ) ; case 1 : return un ? fn ( args [ 0 ] ) : fn . call ( that , args [ 0 ] ) ; case 2 : return un ? fn ( args [ 0 ] , args [ 1 ] ) : fn . call ( that , args [ 0 ] , args [ 1 ] ) ; case 3 : return un ? fn ( args [ 0 ] , args [ 1 ] , args [ 2 ] ) : fn . call ( that , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ; case 4 : return un ? fn ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) : fn . call ( that , args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) ; } return fn . apply ( that , args ) ; } ; } , { } ] , 35 : [ function ( _dereq _ , module , exports ) { // fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = _dereq _ ( 12 ) ; module . exports = Object ( 'z' ) . propertyIsEnumerable ( 0 ) ? Object : function ( it ) { return cof ( it ) == 'String' ? it . split ( '' ) : Object ( it ) ; } ; } , { "12" : 12 } ] , 36 : [ function ( _dereq _ , module , exports ) { // check on default Array iterator
var Iterators = _dereq _ ( 46 ) , ITERATOR = _dereq _ ( 84 ) ( 'iterator' ) , ArrayProto = Array . prototype ; module . exports = function ( it ) { return ( Iterators . Array || ArrayProto [ ITERATOR ] ) === it ; } ; } , { "46" : 46 , "84" : 84 } ] , 37 : [ function ( _dereq _ , module , exports ) { // 7.2.2 IsArray(argument)
var cof = _dereq _ ( 12 ) ; module . exports = Array . isArray || function ( arg ) { return cof ( arg ) == 'Array' ; } ; } , { "12" : 12 } ] , 38 : [ function ( _dereq _ , module , exports ) { // 20.1.2.3 Number.isInteger(number)
var isObject = _dereq _ ( 39 ) , floor = Math . floor ; module . exports = function isInteger ( it ) { return ! isObject ( it ) && isFinite ( it ) && floor ( it ) === it ; } ; } , { "39" : 39 } ] , 39 : [ function ( _dereq _ , module , exports ) { module . exports = function ( it ) { return ( typeof it === "undefined" ? "undefined" : babelHelpers . typeof ( it ) ) === 'object' ? it !== null : typeof it === 'function' ; } ; } , { } ] , 40 : [ function ( _dereq _ , module , exports ) { // 7.2.8 IsRegExp(argument)
var isObject = _dereq _ ( 39 ) , cof = _dereq _ ( 12 ) , MATCH = _dereq _ ( 84 ) ( 'match' ) ; module . exports = function ( it ) { var isRegExp ; return isObject ( it ) && ( ( isRegExp = it [ MATCH ] ) !== undefined ? ! ! isRegExp : cof ( it ) == 'RegExp' ) ; } ; } , { "12" : 12 , "39" : 39 , "84" : 84 } ] , 41 : [ function ( _dereq _ , module , exports ) { // call something on iterator step with safe closing on error
var anObject = _dereq _ ( 5 ) ; module . exports = function ( iterator , fn , value , entries ) { try { return entries ? fn ( anObject ( value ) [ 0 ] , value [ 1 ] ) : fn ( value ) ; // 7.4.6 IteratorClose(iterator, completion)
} catch ( e ) { var ret = iterator [ 'return' ] ; if ( ret !== undefined ) anObject ( ret . call ( iterator ) ) ; throw e ; } } ; } , { "5" : 5 } ] , 42 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , descriptor = _dereq _ ( 61 ) , setToStringTag = _dereq _ ( 67 ) , IteratorPrototype = { } ; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
_dereq _ ( 32 ) ( IteratorPrototype , _dereq _ ( 84 ) ( 'iterator' ) , function ( ) { return this ; } ) ; module . exports = function ( Constructor , NAME , next ) { Constructor . prototype = $ . create ( IteratorPrototype , { next : descriptor ( 1 , next ) } ) ; setToStringTag ( Constructor , NAME + ' Iterator' ) ; } ; } , { "32" : 32 , "47" : 47 , "61" : 61 , "67" : 67 , "84" : 84 } ] , 43 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var LIBRARY = _dereq _ ( 49 ) , $def = _dereq _ ( 19 ) , $redef = _dereq _ ( 62 ) , hide = _dereq _ ( 32 ) , has = _dereq _ ( 31 ) , SYMBOL _ITERATOR = _dereq _ ( 84 ) ( 'iterator' ) , Iterators = _dereq _ ( 46 ) , $iterCreate = _dereq _ ( 42 ) , setToStringTag = _dereq _ ( 67 ) , getProto = _dereq _ ( 47 ) . getProto , BUGGY = ! ( [ ] . keys && 'next' in [ ] . keys ( ) ) // Safari has buggy iterators w/o `next`
, FF _ITERATOR = '@@iterator' , KEYS = 'keys' , VALUES = 'values' ; var returnThis = function returnThis ( ) { return this ; } ; module . exports = function ( Base , NAME , Constructor , next , DEFAULT , IS _SET , FORCE ) { $iterCreate ( Constructor , NAME , next ) ; var getMethod = function getMethod ( kind ) { if ( ! BUGGY && kind in proto ) return proto [ kind ] ; switch ( kind ) { case KEYS : return function keys ( ) { return new Constructor ( this , kind ) ; } ; case VALUES : return function values ( ) { return new Constructor ( this , kind ) ; } ; } return function entries ( ) { return new Constructor ( this , kind ) ; } ; } ; var TAG = NAME + ' Iterator' , proto = Base . prototype , _native = proto [ SYMBOL _ITERATOR ] || proto [ FF _ITERATOR ] || DEFAULT && proto [ DEFAULT ] , _default = _native || getMethod ( DEFAULT ) , methods , key ; // Fix native
if ( _native ) { var IteratorPrototype = getProto ( _default . call ( new Base ( ) ) ) ; // Set @@toStringTag to native iterators
setToStringTag ( IteratorPrototype , TAG , true ) ; // FF fix
if ( ! LIBRARY && has ( proto , FF _ITERATOR ) ) hide ( IteratorPrototype , SYMBOL _ITERATOR , returnThis ) ; } // Define iterator
if ( ( ! LIBRARY || FORCE ) && ( BUGGY || ! ( SYMBOL _ITERATOR in proto ) ) ) { hide ( proto , SYMBOL _ITERATOR , _default ) ; } // Plug for library
Iterators [ NAME ] = _default ; Iterators [ TAG ] = returnThis ; if ( DEFAULT ) { methods = { values : DEFAULT == VALUES ? _default : getMethod ( VALUES ) , keys : IS _SET ? _default : getMethod ( KEYS ) , entries : DEFAULT != VALUES ? _default : getMethod ( 'entries' ) } ; if ( FORCE ) for ( key in methods ) { if ( ! ( key in proto ) ) $redef ( proto , key , methods [ key ] ) ; } else $def ( $def . P + $def . F * BUGGY , NAME , methods ) ; } return methods ; } ; } , { "19" : 19 , "31" : 31 , "32" : 32 , "42" : 42 , "46" : 46 , "47" : 47 , "49" : 49 , "62" : 62 , "67" : 67 , "84" : 84 } ] , 44 : [ function ( _dereq _ , module , exports ) { var ITERATOR = _dereq _ ( 84 ) ( 'iterator' ) , SAFE _CLOSING = false ; try { var riter = [ 7 ] [ ITERATOR ] ( ) ; riter [ 'return' ] = function ( ) { SAFE _CLOSING = true ; } ; Array . from ( riter , function ( ) { throw 2 ; } ) ; } catch ( e ) { /* empty */ } module . exports = function ( exec , skipClosing ) { if ( ! skipClosing && ! SAFE _CLOSING ) return false ; var safe = false ; try { var arr = [ 7 ] , iter = arr [ ITERATOR ] ( ) ; iter . next = function ( ) { safe = true ; } ; arr [ ITERATOR ] = function ( ) { return iter ; } ; exec ( arr ) ; } catch ( e ) { /* empty */ } return safe ; } ; } , { "84" : 84 } ] , 45 : [ function ( _dereq _ , module , exports ) { module . exports = function ( done , value ) { return { value : value , done : ! ! done } ; } ; } , { } ] , 46 : [ function ( _dereq _ , module , exports ) { module . exports = { } ; } , { } ] , 47 : [ function ( _dereq _ , module , exports ) { var $Object = Object ; module . exports = { create : $Object . create , getProto : $Object . getPrototypeOf , isEnum : { } . propertyIsEnumerable , getDesc : $Object . getOwnPropertyDescriptor , setDesc : $Object . defineProperty , setDescs : $Object . defineProperties , getKeys : $Object . keys , getNames : $Object . getOwnPropertyNames , getSymbols : $Object . getOwnPropertySymbols , each : [ ] . forEach } ; } , { } ] , 48 : [ function ( _dereq _ , module , exports ) { var $ = _dereq _ ( 47 ) , toIObject = _dereq _ ( 79 ) ; module . exports = function ( object , el ) { var O = toIObject ( object ) , keys = $ . getKeys ( O ) , length = keys . length , index = 0 , key ; while ( length > index ) { if ( O [ key = keys [ index ++ ] ] === el ) return key ; } } ; } , { "47" : 47 , "79" : 79 } ] , 49 : [ function ( _dereq _ , module , exports ) { module . exports = false ; } , { } ] , 50 : [ function ( _dereq _ , module , exports ) { // 20.2.2.14 Math.expm1(x)
module . exports = Math . expm1 || function expm1 ( x ) { return ( x = + x ) == 0 ? x : x > - 1e-6 && x < 1e-6 ? x + x * x / 2 : Math . exp ( x ) - 1 ; } ; } , { } ] , 51 : [ function ( _dereq _ , module , exports ) { // 20.2.2.20 Math.log1p(x)
module . exports = Math . log1p || function log1p ( x ) { return ( x = + x ) > - 1e-8 && x < 1e-8 ? x - x * x / 2 : Math . log ( 1 + x ) ; } ; } , { } ] , 52 : [ function ( _dereq _ , module , exports ) { // 20.2.2.28 Math.sign(x)
module . exports = Math . sign || function sign ( x ) { return ( x = + x ) == 0 || x != x ? x : x < 0 ? - 1 : 1 ; } ; } , { } ] , 53 : [ function ( _dereq _ , module , exports ) { var global = _dereq _ ( 30 ) , macrotask = _dereq _ ( 76 ) . set , Observer = global . MutationObserver || global . WebKitMutationObserver , process = global . process , isNode = _dereq _ ( 12 ) ( process ) == 'process' , head , last , notify ; var flush = function flush ( ) { var parent , domain ; if ( isNode && ( parent = process . domain ) ) { process . domain = null ; parent . exit ( ) ; } while ( head ) { domain = head . domain ; if ( domain ) domain . enter ( ) ; head . fn . call ( ) ; // <- currently we use it only for Promise - try / catch not required
if ( domain ) domain . exit ( ) ; head = head . next ; } last = undefined ; if ( parent ) parent . enter ( ) ; } ; // Node.js
if ( isNode ) { notify = function notify ( ) { process . nextTick ( flush ) ; } ; // browsers with MutationObserver
} else if ( Observer ) { var toggle = 1 , node = document . createTextNode ( '' ) ; new Observer ( flush ) . observe ( node , { characterData : true } ) ; // eslint-disable-line no-new
notify = function notify ( ) { node . data = toggle = - toggle ; } ; // for other environments - macrotask based on:
// - setImmediate
// - MessageChannel
// - window.postMessag
// - onreadystatechange
// - setTimeout
} else { notify = function notify ( ) { // strange IE + webpack dev server bug - use .call(global)
macrotask . call ( global , flush ) ; } ; } module . exports = function asap ( fn ) { var task = { fn : fn , next : undefined , domain : isNode && process . domain } ; if ( last ) last . next = task ; if ( ! head ) { head = task ; notify ( ) ; } last = task ; } ; } , { "12" : 12 , "30" : 30 , "76" : 76 } ] , 54 : [ function ( _dereq _ , module , exports ) { var $redef = _dereq _ ( 62 ) ; module . exports = function ( target , src ) { for ( var key in src ) { $redef ( target , key , src [ key ] ) ; } return target ; } ; } , { "62" : 62 } ] , 55 : [ function ( _dereq _ , module , exports ) { // 19.1.2.1 Object.assign(target, source, ...)
var $ = _dereq _ ( 47 ) , toObject = _dereq _ ( 81 ) , IObject = _dereq _ ( 35 ) ; // should work with symbols and should have deterministic property order (V8 bug)
module . exports = _dereq _ ( 25 ) ( function ( ) { var a = Object . assign , A = { } , B = { } , S = Symbol ( ) , K = 'abcdefghijklmnopqrst' ; A [ S ] = 7 ; K . split ( '' ) . forEach ( function ( k ) { B [ k ] = k ; } ) ; return a ( { } , A ) [ S ] != 7 || Object . keys ( a ( { } , B ) ) . join ( '' ) != K ; } ) ? function assign ( target , source ) { // eslint-disable-line no-unused-vars
var T = toObject ( target ) , $$ = arguments , $$len = $$ . length , index = 1 , getKeys = $ . getKeys , getSymbols = $ . getSymbols , isEnum = $ . isEnum ; while ( $$len > index ) { var S = IObject ( $$ [ index ++ ] ) , keys = getSymbols ? getKeys ( S ) . concat ( getSymbols ( S ) ) : getKeys ( S ) , length = keys . length , j = 0 , key ; while ( length > j ) { if ( isEnum . call ( S , key = keys [ j ++ ] ) ) T [ key ] = S [ key ] ; } } return T ; } : Object . assign ; } , { "25" : 25 , "35" : 35 , "47" : 47 , "81" : 81 } ] , 56 : [ function ( _dereq _ , module , exports ) { // most Object methods by ES6 should accept primitives
var $def = _dereq _ ( 19 ) , core = _dereq _ ( 17 ) , fails = _dereq _ ( 25 ) ; module . exports = function ( KEY , exec ) { var $def = _dereq _ ( 19 ) , fn = ( core . Object || { } ) [ KEY ] || Object [ KEY ] , exp = { } ; exp [ KEY ] = exec ( fn ) ; $def ( $def . S + $def . F * fails ( function ( ) { fn ( 1 ) ; } ) , 'Object' , exp ) ; } ; } , { "17" : 17 , "19" : 19 , "25" : 25 } ] , 57 : [ function ( _dereq _ , module , exports ) { var $ = _dereq _ ( 47 ) , toIObject = _dereq _ ( 79 ) , isEnum = $ . isEnum ; module . exports = function ( isEntries ) { return function ( it ) { var O = toIObject ( it ) , keys = $ . getKeys ( O ) , length = keys . length , i = 0 , result = [ ] , key ; while ( length > i ) { if ( isEnum . call ( O , key = keys [ i ++ ] ) ) { result . push ( isEntries ? [ key , O [ key ] ] : O [ key ] ) ; } } return result ; } ; } ; } , { "47" : 47 , "79" : 79 } ] , 58 : [ function ( _dereq _ , module , exports ) { // all object keys, includes non-enumerable and symbols
var $ = _dereq _ ( 47 ) , anObject = _dereq _ ( 5 ) , Reflect = _dereq _ ( 30 ) . Reflect ; module . exports = Reflect && Reflect . ownKeys || function ownKeys ( it ) { var keys = $ . getNames ( anObject ( it ) ) , getSymbols = $ . getSymbols ; return getSymbols ? keys . concat ( getSymbols ( it ) ) : keys ; } ; } , { "30" : 30 , "47" : 47 , "5" : 5 } ] , 59 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var path = _dereq _ ( 60 ) , invoke = _dereq _ ( 34 ) , aFunction = _dereq _ ( 3 ) ; module . exports = function ( ) /* ...pargs */ { var fn = aFunction ( this ) , length = arguments . length , pargs = Array ( length ) , i = 0 , _ = path . _ , holder = false ; while ( length > i ) { if ( ( pargs [ i ] = arguments [ i ++ ] ) === _ ) holder = true ; } return function ( ) /* ...args */ { var that = this , $$ = arguments , $$len = $$ . length , j = 0 , k = 0 , args ; if ( ! holder && ! $$len ) return invoke ( fn , pargs , that ) ; args = pargs . slice ( ) ; if ( holder ) for ( ; length > j ; j ++ ) { if ( args [ j ] === _ ) args [ j ] = $$ [ k ++ ] ; } while ( $$len > k ) { args . push ( $$ [ k ++ ] ) ; } return invoke ( fn , args , that ) ; } ; } ; } , { "3" : 3 , "34" : 34 , "60" : 60 } ] , 60 : [ function ( _dereq _ , module , exports ) { module . exports = _dereq _ ( 30 ) ; } , { "30" : 30 } ] , 61 : [ function ( _dereq _ , module , exports ) { module . exports = function ( bitmap , value ) { return { enumerable : ! ( bitmap & 1 ) , configurable : ! ( bitmap & 2 ) , writable : ! ( bitmap & 4 ) , value : value } ; } ; } , { } ] , 62 : [ function ( _dereq _ , module , exports ) { // add fake Function#toString
// for correct work wrapped methods / constructors with methods like LoDash isNative
var global = _dereq _ ( 30 ) , hide = _dereq _ ( 32 ) , SRC = _dereq _ ( 83 ) ( 'src' ) , TO _STRING = 'toString' , $toString = Function [ TO _STRING ] , TPL = ( '' + $toString ) . split ( TO _STRING ) ; _dereq _ ( 17 ) . inspectSource = function ( it ) { return $toString . call ( it ) ; } ; ( module . exports = function ( O , key , val , safe ) { if ( typeof val == 'function' ) { val . hasOwnProperty ( SRC ) || hide ( val , SRC , O [ key ] ? '' + O [ key ] : TPL . join ( String ( key ) ) ) ; val . hasOwnProperty ( 'name' ) || hide ( val , 'name' , key ) ; } if ( O === global ) { O [ key ] = val ; } else { if ( ! safe ) delete O [ key ] ; hide ( O , key , val ) ; } } ) ( Function . prototype , TO _STRING , function toString ( ) { return typeof this == 'function' && this [ SRC ] || $toString . call ( this ) ; } ) ; } , { "17" : 17 , "30" : 30 , "32" : 32 , "83" : 83 } ] , 63 : [ function ( _dereq _ , module , exports ) { module . exports = function ( regExp , replace ) { var replacer = replace === Object ( replace ) ? function ( part ) { return replace [ part ] ; } : replace ; return function ( it ) { return String ( it ) . replace ( regExp , replacer ) ; } ; } ; } , { } ] , 64 : [ function ( _dereq _ , module , exports ) { // 7.2.9 SameValue(x, y)
module . exports = Object . is || function is ( x , y ) { return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y ; } ; } , { } ] , 65 : [ function ( _dereq _ , module , exports ) { // Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */ var getDesc = _dereq _ ( 47 ) . getDesc , isObject = _dereq _ ( 39 ) , anObject = _dereq _ ( 5 ) ; var check = function check ( O , proto ) { anObject ( O ) ; if ( ! isObject ( proto ) && proto !== null ) throw TypeError ( proto + ": can't set as prototype!" ) ; } ; module . exports = { set : Object . setPrototypeOf || ( '__proto__' in { } ? // eslint-disable-line
function ( test , buggy , set ) { try { set = _dereq _ ( 18 ) ( Function . call , getDesc ( Object . prototype , '__proto__' ) . set , 2 ) ; set ( test , [ ] ) ; buggy = ! ( test instanceof Array ) ; } catch ( e ) { buggy = true ; } return function setPrototypeOf ( O , proto ) { check ( O , proto ) ; if ( buggy ) O . _ _proto _ _ = proto ; else set ( O , proto ) ; return O ; } ; } ( { } , false ) : undefined ) , check : check } ; } , { "18" : 18 , "39" : 39 , "47" : 47 , "5" : 5 } ] , 66 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var global = _dereq _ ( 30 ) , $ = _dereq _ ( 47 ) , DESCRIPTORS = _dereq _ ( 21 ) , SPECIES = _dereq _ ( 84 ) ( 'species' ) ; module . exports = function ( KEY ) { var C = global [ KEY ] ; if ( DESCRIPTORS && C && ! C [ SPECIES ] ) $ . setDesc ( C , SPECIES , { configurable : true , get : function get ( ) { return this ; } } ) ; } ; } , { "21" : 21 , "30" : 30 , "47" : 47 , "84" : 84 } ] , 67 : [ function ( _dereq _ , module , exports ) { var def = _dereq _ ( 47 ) . setDesc , has = _dereq _ ( 31 ) , TAG = _dereq _ ( 84 ) ( 'toStringTag' ) ; module . exports = function ( it , tag , stat ) { if ( it && ! has ( it = stat ? it : it . prototype , TAG ) ) def ( it , TAG , { configurable : true , value : tag } ) ; } ; } , { "31" : 31 , "47" : 47 , "84" : 84 } ] , 68 : [ function ( _dereq _ , module , exports ) { var global = _dereq _ ( 30 ) , SHARED = '__core-js_shared__' , store = global [ SHARED ] || ( global [ SHARED ] = { } ) ; module . exports = function ( key ) { return store [ key ] || ( store [ key ] = { } ) ; } ; } , { "30" : 30 } ] , 69 : [ function ( _dereq _ , module , exports ) { // 7.3.20 SpeciesConstructor(O, defaultConstructor)
var anObject = _dereq _ ( 5 ) , aFunction = _dereq _ ( 3 ) , SPECIES = _dereq _ ( 84 ) ( 'species' ) ; module . exports = function ( O , D ) { var C = anObject ( O ) . constructor , S ; return C === undefined || ( S = anObject ( C ) [ SPECIES ] ) == undefined ? D : aFunction ( S ) ; } ; } , { "3" : 3 , "5" : 5 , "84" : 84 } ] , 70 : [ function ( _dereq _ , module , exports ) { module . exports = function ( it , Constructor , name ) { if ( ! ( it instanceof Constructor ) ) throw TypeError ( name + ": use the 'new' operator!" ) ; return it ; } ; } , { } ] , 71 : [ function ( _dereq _ , module , exports ) { var toInteger = _dereq _ ( 78 ) , defined = _dereq _ ( 20 ) ; // true -> String#at
// false -> String#codePointAt
module . exports = function ( TO _STRING ) { return function ( that , pos ) { var s = String ( defined ( that ) ) , i = toInteger ( pos ) , l = s . length , a , b ; if ( i < 0 || i >= l ) return TO _STRING ? '' : undefined ; a = s . charCodeAt ( i ) ; return a < 0xd800 || a > 0xdbff || i + 1 === l || ( b = s . charCodeAt ( i + 1 ) ) < 0xdc00 || b > 0xdfff ? TO _STRING ? s . charAt ( i ) : a : TO _STRING ? s . slice ( i , i + 2 ) : ( a - 0xd800 << 10 ) + ( b - 0xdc00 ) + 0x10000 ; } ; } ; } , { "20" : 20 , "78" : 78 } ] , 72 : [ function ( _dereq _ , module , exports ) { // helper for String#{startsWith, endsWith, includes}
var isRegExp = _dereq _ ( 40 ) , defined = _dereq _ ( 20 ) ; module . exports = function ( that , searchString , NAME ) { if ( isRegExp ( searchString ) ) throw TypeError ( 'String#' + NAME + " doesn't accept regex!" ) ; return String ( defined ( that ) ) ; } ; } , { "20" : 20 , "40" : 40 } ] , 73 : [ function ( _dereq _ , module , exports ) { // https://github.com/ljharb/proposal-string-pad-left-right
var toLength = _dereq _ ( 80 ) , repeat = _dereq _ ( 74 ) , defined = _dereq _ ( 20 ) ; module . exports = function ( that , maxLength , fillString , left ) { var S = String ( defined ( that ) ) , stringLength = S . length , fillStr = fillString === undefined ? ' ' : String ( fillString ) , intMaxLength = toLength ( maxLength ) ; if ( intMaxLength <= stringLength ) return S ; if ( fillStr == '' ) fillStr = ' ' ; var fillLen = intMaxLength - stringLength , stringFiller = repeat . call ( fillStr , Math . ceil ( fillLen / fillStr . length ) ) ; if ( stringFiller . length > fillLen ) stringFiller = stringFiller . slice ( 0 , fillLen ) ; return left ? stringFiller + S : S + stringFiller ; } ; } , { "20" : 20 , "74" : 74 , "80" : 80 } ] , 74 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var toInteger = _dereq _ ( 78 ) , defined = _dereq _ ( 20 ) ; module . exports = function repeat ( count ) { var str = String ( defined ( this ) ) , res = '' , n = toInteger ( count ) ; if ( n < 0 || n == Infinity ) throw RangeError ( "Count can't be negative" ) ; for ( ; n > 0 ; ( n >>>= 1 ) && ( str += str ) ) { if ( n & 1 ) res += str ; } return res ; } ; } , { "20" : 20 , "78" : 78 } ] , 75 : [ function ( _dereq _ , module , exports ) { var $def = _dereq _ ( 19 ) , defined = _dereq _ ( 20 ) , fails = _dereq _ ( 25 ) , spaces = "\t\n\u000b\f\r " + " \u2028\u2029 " , space = '[' + spaces + ']' , non = "
" , ltrim = RegExp ( '^' + space + space + '*' ) , rtrim = RegExp ( space + space + '*$' ) ; var $export = function $export ( KEY , exec ) { var exp = { } ; exp [ KEY ] = exec ( trim ) ; $def ( $def . P + $def . F * fails ( function ( ) { return ! ! spaces [ KEY ] ( ) || non [ KEY ] ( ) != non ; } ) , 'String' , exp ) ; } ; // 1 -> String#trimLeft
// 2 -> String#trimRight
// 3 -> String#trim
var trim = $export . trim = function ( string , TYPE ) { string = String ( defined ( string ) ) ; if ( TYPE & 1 ) string = string . replace ( ltrim , '' ) ; if ( TYPE & 2 ) string = string . replace ( rtrim , '' ) ; return string ; } ; module . exports = $export ; } , { "19" : 19 , "20" : 20 , "25" : 25 } ] , 76 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var ctx = _dereq _ ( 18 ) , invoke = _dereq _ ( 34 ) , html = _dereq _ ( 33 ) , cel = _dereq _ ( 22 ) , global = _dereq _ ( 30 ) , process = global . process , setTask = global . setImmediate , clearTask = global . clearImmediate , MessageChannel = global . MessageChannel , counter = 0 , queue = { } , ONREADYSTATECHANGE = 'onreadystatechange' , defer , channel , port ; var run = function run ( ) { var id = + this ; if ( queue . hasOwnProperty ( id ) ) { var fn = queue [ id ] ; delete queue [ id ] ; fn ( ) ; } } ; var listner = function listner ( event ) { run . call ( event . data ) ; } ; // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if ( ! setTask || ! clearTask ) { setTask = function setImmediate ( fn ) { var args = [ ] , i = 1 ; while ( arguments . length > i ) { args . push ( arguments [ i ++ ] ) ; } queue [ ++ counter ] = function ( ) { invoke ( typeof fn == 'function' ? fn : Function ( fn ) , args ) ; } ; defer ( counter ) ; return counter ; } ; clearTask = function clearImmediate ( id ) { delete queue [ id ] ; } ; // Node.js 0.8-
if ( _dereq _ ( 12 ) ( process ) == 'process' ) { defer = function defer ( id ) { process . nextTick ( ctx ( run , id , 1 ) ) ; } ; // Browsers with MessageChannel, includes WebWorkers
} else if ( MessageChannel ) { channel = new MessageChannel ( ) ; port = channel . port2 ; channel . port1 . onmessage = listner ; defer = ctx ( port . postMessage , port , 1 ) ; // Browsers with postMessage, skip WebWorkers
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
} else if ( global . addEventListener && typeof postMessage == 'function' && ! global . importScripts ) { defer = function defer ( id ) { global . postMessage ( id + '' , '*' ) ; } ; global . addEventListener ( 'message' , listner , false ) ; // IE8-
} else if ( ONREADYSTATECHANGE in cel ( 'script' ) ) { defer = function defer ( id ) { html . appendChild ( cel ( 'script' ) ) [ ONREADYSTATECHANGE ] = function ( ) { html . removeChild ( this ) ; run . call ( id ) ; } ; } ; // Rest old browsers
} else { defer = function defer ( id ) { setTimeout ( ctx ( run , id , 1 ) , 0 ) ; } ; } } module . exports = { set : setTask , clear : clearTask } ; } , { "12" : 12 , "18" : 18 , "22" : 22 , "30" : 30 , "33" : 33 , "34" : 34 } ] , 77 : [ function ( _dereq _ , module , exports ) { var toInteger = _dereq _ ( 78 ) , max = Math . max , min = Math . min ; module . exports = function ( index , length ) { index = toInteger ( index ) ; return index < 0 ? max ( index + length , 0 ) : min ( index , length ) ; } ; } , { "78" : 78 } ] , 78 : [ function ( _dereq _ , module , exports ) { // 7.1.4 ToInteger
var ceil = Math . ceil , floor = Math . floor ; module . exports = function ( it ) { return isNaN ( it = + it ) ? 0 : ( it > 0 ? floor : ceil ) ( it ) ; } ; } , { } ] , 79 : [ function ( _dereq _ , module , exports ) { // to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = _dereq _ ( 35 ) , defined = _dereq _ ( 20 ) ; module . exports = function ( it ) { return IObject ( defined ( it ) ) ; } ; } , { "20" : 20 , "35" : 35 } ] , 80 : [ function ( _dereq _ , module , exports ) { // 7.1.15 ToLength
var toInteger = _dereq _ ( 78 ) , min = Math . min ; module . exports = function ( it ) { return it > 0 ? min ( toInteger ( it ) , 0x1fffffffffffff ) : 0 ; // pow(2, 53) - 1 == 9007199254740991
} ; } , { "78" : 78 } ] , 81 : [ function ( _dereq _ , module , exports ) { // 7.1.13 ToObject(argument)
var defined = _dereq _ ( 20 ) ; module . exports = function ( it ) { return Object ( defined ( it ) ) ; } ; } , { "20" : 20 } ] , 82 : [ function ( _dereq _ , module , exports ) { // 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = _dereq _ ( 39 ) ; // instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module . exports = function ( it , S ) { if ( ! isObject ( it ) ) return it ; var fn , val ; if ( S && typeof ( fn = it . toString ) == 'function' && ! isObject ( val = fn . call ( it ) ) ) return val ; if ( typeof ( fn = it . valueOf ) == 'function' && ! isObject ( val = fn . call ( it ) ) ) return val ; if ( ! S && typeof ( fn = it . toString ) == 'function' && ! isObject ( val = fn . call ( it ) ) ) return val ; throw TypeError ( "Can't convert object to primitive value" ) ; } ; } , { "39" : 39 } ] , 83 : [ function ( _dereq _ , module , exports ) { var id = 0 , px = Math . random ( ) ; module . exports = function ( key ) { return 'Symbol(' . concat ( key === undefined ? '' : key , ')_' , ( ++ id + px ) . toString ( 36 ) ) ; } ; } , { } ] , 84 : [ function ( _dereq _ , module , exports ) { var store = _dereq _ ( 68 ) ( 'wks' ) , uid = _dereq _ ( 83 ) , _Symbol = _dereq _ ( 30 ) . Symbol ; module . exports = function ( name ) { return store [ name ] || ( store [ name ] = _Symbol && _Symbol [ name ] || ( _Symbol || uid ) ( 'Symbol.' + name ) ) ; } ; } , { "30" : 30 , "68" : 68 , "83" : 83 } ] , 85 : [ function ( _dereq _ , module , exports ) { var classof = _dereq _ ( 11 ) , ITERATOR = _dereq _ ( 84 ) ( 'iterator' ) , Iterators = _dereq _ ( 46 ) ; module . exports = _dereq _ ( 17 ) . getIteratorMethod = function ( it ) { if ( it != undefined ) return it [ ITERATOR ] || it [ '@@iterator' ] || Iterators [ classof ( it ) ] ; } ; } , { "11" : 11 , "17" : 17 , "46" : 46 , "84" : 84 } ] , 86 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , DESCRIPTORS = _dereq _ ( 21 ) , createDesc = _dereq _ ( 61 ) , html = _dereq _ ( 33 ) , cel = _dereq _ ( 22 ) , has = _dereq _ ( 31 ) , cof = _dereq _ ( 12 ) , $def = _dereq _ ( 19 ) , invoke = _dereq _ ( 34 ) , arrayMethod = _dereq _ ( 9 ) , IE _PROTO = _dereq _ ( 83 ) ( '__proto__' ) , isObject = _dereq _ ( 39 ) , anObject = _dereq _ ( 5 ) , aFunction = _dereq _ ( 3 ) , toObject = _dereq _ ( 81 ) , toIObject = _dereq _ ( 79 ) , toInteger = _dereq _ ( 78 ) , toIndex = _dereq _ ( 77 ) , toLength = _dereq _ ( 80 ) , IObject = _dereq _ ( 35 ) , fails = _dereq _ ( 25 ) , ObjectProto = Object . prototype , A = [ ] , _slice = A . slice , _join = A . join , defineProperty = $ . setDesc , getOwnDescriptor = $ . getDesc , defineProperties = $ . setDescs , $indexOf = _dereq _ ( 8 ) ( false ) , factories = { } , IE8 _DOM _DEFINE ; if ( ! DESCRIPTORS ) { IE8 _DOM _DEFINE = ! fails ( function ( ) { return defineProperty ( cel ( 'div' ) , 'a' , { get : function get ( ) { return 7 ; } } ) . a != 7 ; } ) ; $ . setDesc = function ( O , P , Attributes ) { if ( IE8 _DOM _DEFINE ) try { return defineProperty ( O , P , Attributes ) ; } catch ( e ) { /* empty */ } if ( 'get' in Attributes || 'set' in Attributes ) throw TypeError ( 'Accessors not supported!' ) ; if ( 'value' in Attributes ) anObject ( O ) [ P ] = Attributes . value ; return O ; } ; $ . getDesc = function ( O , P ) { if ( IE8 _DOM _DEFINE ) try { return getOwnDescriptor ( O , P ) ; } catch ( e ) { /* empty */ } if ( has ( O , P ) ) return createDesc ( ! ObjectProto . propertyIsEnumerable . call ( O , P ) , O [ P ] ) ; } ; $ . setDescs = defineProperties = function defineProperties ( O , Properties ) { anObject ( O ) ; var keys = $ . getKeys ( Properties ) , length = keys . length , i = 0 , P ; while ( length > i ) { $ . setDesc ( O , P = keys [ i ++ ] , Properties [ P ] ) ; } return O ; } ; } $def ( $def . S + $def . F * ! DESCRIPTORS , 'Object' , { // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
getOwnPropertyDescriptor : $ . getDesc , // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
defineProperty : $ . setDesc , // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
defineProperties : defineProperties } ) ; // IE 8- don't enum bug keys
var keys1 = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' + 'toLocaleString,toString,valueOf' ) . split ( ',' ) // Additional keys for getOwnPropertyNames
, keys2 = keys1 . concat ( 'length' , 'prototype' ) , keysLen1 = keys1 . length ; // Create object with `null` prototype: use iframe Object with cleared prototype
var _createDict = function createDict ( ) { // Thrash, waste and sodomy: IE GC bug
var iframe = cel ( 'iframe' ) , i = keysLen1 , gt = '>' , iframeDocument ; iframe . style . display = 'none' ; html . appendChild ( iframe ) ; iframe . src = 'javascript:' ; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
iframeDocument = iframe . contentWindow . document ; iframeDocument . open ( ) ; iframeDocument . write ( '<script>document.F=Object</script' + gt ) ; iframeDocument . close ( ) ; _createDict = iframeDocument . F ; while ( i -- ) { delete _createDict . prototype [ keys1 [ i ] ] ; } return _createDict ( ) ; } ; var createGetKeys = function createGetKeys ( names , length ) { return function ( object ) { var O = toIObject ( object ) , i = 0 , result = [ ] , key ; for ( key in O ) { if ( key != IE _PROTO ) has ( O , key ) && result . push ( key ) ; } // Don't enum bug & hidden keys
while ( length > i ) { if ( has ( O , key = names [ i ++ ] ) ) { ~ $indexOf ( result , key ) || result . push ( key ) ; } } return result ; } ; } ; var Empty = function Empty ( ) { } ; $def ( $def . S , 'Object' , { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
getPrototypeOf : $ . getProto = $ . getProto || function ( O ) { O = toObject ( O ) ; if ( has ( O , IE _PROTO ) ) return O [ IE _PROTO ] ; if ( typeof O . constructor == 'function' && O instanceof O . constructor ) { return O . constructor . prototype ; } return O instanceof Object ? ObjectProto : null ; } , // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
getOwnPropertyNames : $ . getNames = $ . getNames || createGetKeys ( keys2 , keys2 . length , true ) , // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
create : $ . create = $ . create || function ( O , /*?*/ Properties ) { var result ; if ( O !== null ) { Empty . prototype = anObject ( O ) ; result = new Empty ( ) ; Empty . prototype = null ; // add "__proto__" for Object.getPrototypeOf shim
result [ IE _PROTO ] = O ; } else result = _createDict ( ) ; return Properties === undefined ? result : defineProperties ( result , Properties ) ; } , // 19.1.2.14 / 15.2.3.14 Object.keys(O)
keys : $ . getKeys = $ . getKeys || createGetKeys ( keys1 , keysLen1 , false ) } ) ; var construct = function construct ( F , len , args ) { if ( ! ( len in factories ) ) { for ( var n = [ ] , i = 0 ; i < len ; i ++ ) { n [ i ] = 'a[' + i + ']' ; } factories [ len ] = Function ( 'F,a' , 'return new F(' + n . join ( ',' ) + ')' ) ; } return factories [ len ] ( F , args ) ; } ; // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
$def ( $def . P , 'Function' , { bind : function bind ( that /*, args... */ ) { var fn = aFunction ( this ) , partArgs = _slice . call ( arguments , 1 ) ; var bound = function bound ( ) /* args... */ { var args = partArgs . concat ( _slice . call ( arguments ) ) ; return this instanceof bound ? construct ( fn , args . length , args ) : invoke ( fn , args , that ) ; } ; if ( isObject ( fn . prototype ) ) bound . prototype = fn . prototype ; return bound ; } } ) ; // fallback for not array-like ES3 strings and DOM objects
var buggySlice = fails ( function ( ) { if ( html ) _slice . call ( html ) ; } ) ; $def ( $def . P + $def . F * buggySlice , 'Array' , { slice : function slice ( begin , end ) { var len = toLength ( this . length ) , klass = cof ( this ) ; end = end === undefined ? len : end ; if ( klass == 'Array' ) return _slice . call ( this , begin , end ) ; var start = toIndex ( begin , len ) , upTo = toIndex ( end , len ) , size = toLength ( upTo - start ) , cloned = Array ( size ) , i = 0 ; for ( ; i < size ; i ++ ) { cloned [ i ] = klass == 'String' ? this . charAt ( start + i ) : this [ start + i ] ; } return cloned ; } } ) ; $def ( $def . P + $def . F * ( IObject != Object ) , 'Array' , { join : function join ( ) { return _join . apply ( IObject ( this ) , arguments ) ; } } ) ; // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
$def ( $def . S , 'Array' , { isArray : _dereq _ ( 37 ) } ) ; var createArrayReduce = function createArrayReduce ( isRight ) { return function ( callbackfn , memo ) { aFunction ( callbackfn ) ; var O = IObject ( this ) , length = toLength ( O . length ) , index = isRight ? length - 1 : 0 , i = isRight ? - 1 : 1 ; if ( arguments . length < 2 ) for ( ; ; ) { if ( index in O ) { memo = O [ index ] ; index += i ; break ; } index += i ; if ( isRight ? index < 0 : length <= index ) { throw TypeError ( 'Reduce of empty array with no initial value' ) ; } } for ( ; isRight ? index >= 0 : length > index ; index += i ) { if ( index in O ) { memo = callbackfn ( memo , O [ index ] , index , this ) ; } } return memo ; } ; } ; var methodize = function methodize ( $fn ) { return function ( arg1 /*, arg2 = undefined */ ) { return $fn ( this , arg1 , arguments [ 1 ] ) ; } ; } ; $def ( $def . P , 'Array' , { // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
forEach : $ . each = $ . each || methodize ( arrayMethod ( 0 ) ) , // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
map : methodize ( arrayMethod ( 1 ) ) , // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
filter : methodize ( arrayMethod ( 2 ) ) , // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
some : methodize ( arrayMethod ( 3 ) ) , // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
every : methodize ( arrayMethod ( 4 ) ) , // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
reduce : createArrayReduce ( false ) , // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
reduceRight : createArrayReduce ( true ) , // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
indexOf : methodize ( $indexOf ) , // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
lastIndexOf : function lastIndexOf ( el , fromIndex /* = @[*-1] */ ) { var O = toIObject ( this ) , length = toLength ( O . length ) , index = length - 1 ; if ( arguments . length > 1 ) index = Math . min ( index , toInteger ( fromIndex ) ) ; if ( index < 0 ) index = toLength ( length + index ) ; for ( ; index >= 0 ; index -- ) { if ( index in O ) if ( O [ index ] === el ) return index ; } return - 1 ; } } ) ; // 20.3.3.1 / 15.9.4.4 Date.now()
$def ( $def . S , 'Date' , { now : function now ( ) { return + new Date ( ) ; } } ) ; var lz = function lz ( num ) { return num > 9 ? num : '0' + num ; } ; // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
// PhantomJS and old webkit had a broken Date implementation.
var date = new Date ( - 5e13 - 1 ) , brokenDate = ! ( date . toISOString && date . toISOString ( ) == '0385-07-25T07:06:39.999Z' && fails ( function ( ) { new Date ( NaN ) . toISOString ( ) ; } ) ) ; $def ( $def . P + $def . F * brokenDate , 'Date' , { toISOString : function toISOString ( ) { if ( ! isFinite ( this ) ) throw RangeError ( 'Invalid time value' ) ; var d = this , y = d . getUTCFullYear ( ) , m = d . getUTCMilliseconds ( ) , s = y < 0 ? '-' : y > 9999 ? '+' : '' ; return s + ( '00000' + Math . abs ( y ) ) . slice ( s ? - 6 : - 4 ) + '-' + lz ( d . getUTCMonth ( ) + 1 ) + '-' + lz ( d . getUTCDate ( ) ) + 'T' + lz ( d . getUTCHours ( ) ) + ':' + lz ( d . getUTCMinutes ( ) ) + ':' + lz ( d . getUTCSeconds ( ) ) + '.' + ( m > 99 ? m : '0' + lz ( m ) ) + 'Z' ; } } ) ; } , { "12" : 12 , "19" : 19 , "21" : 21 , "22" : 22 , "25" : 25 , "3" : 3 , "31" : 31 , "33" : 33 , "34" : 34 , "35" : 35 , "37" : 37 , "39" : 39 , "47" : 47 , "5" : 5 , "61" : 61 , "77" : 77 , "78" : 78 , "79" : 79 , "8" : 8 , "80" : 80 , "81" : 81 , "83" : 83 , "9" : 9 } ] , 87 : [ function ( _dereq _ , module , exports ) { // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
'use strict' ; var $def = _dereq _ ( 19 ) ; $def ( $def . P , 'Array' , { copyWithin : _dereq _ ( 6 ) } ) ; _dereq _ ( 4 ) ( 'copyWithin' ) ; } , { "19" : 19 , "4" : 4 , "6" : 6 } ] , 88 : [ function ( _dereq _ , module , exports ) { // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
var $def = _dereq _ ( 19 ) ; $def ( $def . P , 'Array' , { fill : _dereq _ ( 7 ) } ) ; _dereq _ ( 4 ) ( 'fill' ) ; } , { "19" : 19 , "4" : 4 , "7" : 7 } ] , 89 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
var KEY = 'findIndex' , $def = _dereq _ ( 19 ) , forced = true , $find = _dereq _ ( 9 ) ( 6 ) ; // Shouldn't skip holes
if ( KEY in [ ] ) Array ( 1 ) [ KEY ] ( function ( ) { forced = false ; } ) ; $def ( $def . P + $def . F * forced , 'Array' , { findIndex : function findIndex ( callbackfn /*, that = undefined */ ) { return $find ( this , callbackfn , arguments . length > 1 ? arguments [ 1 ] : undefined ) ; } } ) ; _dereq _ ( 4 ) ( KEY ) ; } , { "19" : 19 , "4" : 4 , "9" : 9 } ] , 90 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
var KEY = 'find' , $def = _dereq _ ( 19 ) , forced = true , $find = _dereq _ ( 9 ) ( 5 ) ; // Shouldn't skip holes
if ( KEY in [ ] ) Array ( 1 ) [ KEY ] ( function ( ) { forced = false ; } ) ; $def ( $def . P + $def . F * forced , 'Array' , { find : function find ( callbackfn /*, that = undefined */ ) { return $find ( this , callbackfn , arguments . length > 1 ? arguments [ 1 ] : undefined ) ; } } ) ; _dereq _ ( 4 ) ( KEY ) ; } , { "19" : 19 , "4" : 4 , "9" : 9 } ] , 91 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var ctx = _dereq _ ( 18 ) , $def = _dereq _ ( 19 ) , toObject = _dereq _ ( 81 ) , call = _dereq _ ( 41 ) , isArrayIter = _dereq _ ( 36 ) , toLength = _dereq _ ( 80 ) , getIterFn = _dereq _ ( 85 ) ; $def ( $def . S + $def . F * ! _dereq _ ( 44 ) ( function ( iter ) { Array . from ( iter ) ; } ) , 'Array' , { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
from : function from ( arrayLike /*, mapfn = undefined, thisArg = undefined*/ ) { var O = toObject ( arrayLike ) , C = typeof this == 'function' ? this : Array , $$ = arguments , $$len = $$ . length , mapfn = $$len > 1 ? $$ [ 1 ] : undefined , mapping = mapfn !== undefined , index = 0 , iterFn = getIterFn ( O ) , length , result , step , iterator ; if ( mapping ) mapfn = ctx ( mapfn , $$len > 2 ? $$ [ 2 ] : undefined , 2 ) ; // if object isn't iterable or it's array with default iterator - use simple case
if ( iterFn != undefined && ! ( C == Array && isArrayIter ( iterFn ) ) ) { for ( iterator = iterFn . call ( O ) , result = new C ( ) ; ! ( step = iterator . next ( ) ) . done ; index ++ ) { result [ index ] = mapping ? call ( iterator , mapfn , [ step . value , index ] , true ) : step . value ; } } else { length = toLength ( O . length ) ; for ( result = new C ( length ) ; length > index ; index ++ ) { result [ index ] = mapping ? mapfn ( O [ index ] , index ) : O [ index ] ; } } result . length = index ; return result ; } } ) ; } , { "18" : 18 , "19" : 19 , "36" : 36 , "41" : 41 , "44" : 44 , "80" : 80 , "81" : 81 , "85" : 85 } ] , 92 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var addToUnscopables = _dereq _ ( 4 ) , step = _dereq _ ( 45 ) , Iterators = _dereq _ ( 46 ) , toIObject = _dereq _ ( 79 ) ; // 22.1.3.4 Array.prototype.entries()
// 22.1.3.13 Array.prototype.keys()
// 22.1.3.29 Array.prototype.values()
// 22.1.3.30 Array.prototype[@@iterator]()
module . exports = _dereq _ ( 43 ) ( Array , 'Array' , function ( iterated , kind ) { this . _t = toIObject ( iterated ) ; // target
this . _i = 0 ; // next index
this . _k = kind ; // kind
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
} , function ( ) { var O = this . _t , kind = this . _k , index = this . _i ++ ; if ( ! O || index >= O . length ) { this . _t = undefined ; return step ( 1 ) ; } if ( kind == 'keys' ) return step ( 0 , index ) ; if ( kind == 'values' ) return step ( 0 , O [ index ] ) ; return step ( 0 , [ index , O [ index ] ] ) ; } , 'values' ) ; // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
Iterators . Arguments = Iterators . Array ; addToUnscopables ( 'keys' ) ; addToUnscopables ( 'values' ) ; addToUnscopables ( 'entries' ) ; } , { "4" : 4 , "43" : 43 , "45" : 45 , "46" : 46 , "79" : 79 } ] , 93 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $def = _dereq _ ( 19 ) ; // WebKit Array.of isn't generic
$def ( $def . S + $def . F * _dereq _ ( 25 ) ( function ( ) { function F ( ) { } return ! ( Array . of . call ( F ) instanceof F ) ; } ) , 'Array' , { // 22.1.2.3 Array.of( ...items)
of : function of ( ) /* ...args */ { var index = 0 , $$ = arguments , $$len = $$ . length , result = new ( typeof this == 'function' ? this : Array ) ( $$len ) ; while ( $$len > index ) { result [ index ] = $$ [ index ++ ] ; } result . length = $$len ; return result ; } } ) ; } , { "19" : 19 , "25" : 25 } ] , 94 : [ function ( _dereq _ , module , exports ) { _dereq _ ( 66 ) ( 'Array' ) ; } , { "66" : 66 } ] , 95 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , isObject = _dereq _ ( 39 ) , HAS _INSTANCE = _dereq _ ( 84 ) ( 'hasInstance' ) , FunctionProto = Function . prototype ; // 19.2.3.6 Function.prototype[@@hasInstance](V)
if ( ! ( HAS _INSTANCE in FunctionProto ) ) $ . setDesc ( FunctionProto , HAS _INSTANCE , { value : function value ( O ) { if ( typeof this != 'function' || ! isObject ( O ) ) return false ; if ( ! isObject ( this . prototype ) ) return O instanceof this ; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
while ( O = $ . getProto ( O ) ) { if ( this . prototype === O ) return true ; } return false ; } } ) ; } , { "39" : 39 , "47" : 47 , "84" : 84 } ] , 96 : [ function ( _dereq _ , module , exports ) { var setDesc = _dereq _ ( 47 ) . setDesc , createDesc = _dereq _ ( 61 ) , has = _dereq _ ( 31 ) , FProto = Function . prototype , nameRE = /^\s*function ([^ (]*)/ , NAME = 'name' ; // 19.2.4.2 name
NAME in FProto || _dereq _ ( 21 ) && setDesc ( FProto , NAME , { configurable : true , get : function get ( ) { var match = ( '' + this ) . match ( nameRE ) , name = match ? match [ 1 ] : '' ; has ( this , NAME ) || setDesc ( this , NAME , createDesc ( 5 , name ) ) ; return name ; } } ) ; } , { "21" : 21 , "31" : 31 , "47" : 47 , "61" : 61 } ] , 97 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var strong = _dereq _ ( 13 ) ; // 23.1 Map Objects
_dereq _ ( 16 ) ( 'Map' , function ( get ) { return function Map ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ; } , { // 23.1.3.6 Map.prototype.get(key)
get : function get ( key ) { var entry = strong . getEntry ( this , key ) ; return entry && entry . v ; } , // 23.1.3.9 Map.prototype.set(key, value)
set : function set ( key , value ) { return strong . def ( this , key === 0 ? 0 : key , value ) ; } } , strong , true ) ; } , { "13" : 13 , "16" : 16 } ] , 98 : [ function ( _dereq _ , module , exports ) { // 20.2.2.3 Math.acosh(x)
var $def = _dereq _ ( 19 ) , log1p = _dereq _ ( 51 ) , sqrt = Math . sqrt , $acosh = Math . acosh ; // V8 bug https://code.google.com/p/v8/issues/detail?id=3509
$def ( $def . S + $def . F * ! ( $acosh && Math . floor ( $acosh ( Number . MAX _VALUE ) ) == 710 ) , 'Math' , { acosh : function acosh ( x ) { return ( x = + x ) < 1 ? NaN : x > 94906265.62425156 ? Math . log ( x ) + Math . LN2 : log1p ( x - 1 + sqrt ( x - 1 ) * sqrt ( x + 1 ) ) ; } } ) ; } , { "19" : 19 , "51" : 51 } ] , 99 : [ function ( _dereq _ , module , exports ) { // 20.2.2.5 Math.asinh(x)
var $def = _dereq _ ( 19 ) ; function asinh ( x ) { return ! isFinite ( x = + x ) || x == 0 ? x : x < 0 ? - asinh ( - x ) : Math . log ( x + Math . sqrt ( x * x + 1 ) ) ; } $def ( $def . S , 'Math' , { asinh : asinh } ) ; } , { "19" : 19 } ] , 100 : [ function ( _dereq _ , module , exports ) { // 20.2.2.7 Math.atanh(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { atanh : function atanh ( x ) { return ( x = + x ) == 0 ? x : Math . log ( ( 1 + x ) / ( 1 - x ) ) / 2 ; } } ) ; } , { "19" : 19 } ] , 101 : [ function ( _dereq _ , module , exports ) { // 20.2.2.9 Math.cbrt(x)
var $def = _dereq _ ( 19 ) , sign = _dereq _ ( 52 ) ; $def ( $def . S , 'Math' , { cbrt : function cbrt ( x ) { return sign ( x = + x ) * Math . pow ( Math . abs ( x ) , 1 / 3 ) ; } } ) ; } , { "19" : 19 , "52" : 52 } ] , 102 : [ function ( _dereq _ , module , exports ) { // 20.2.2.11 Math.clz32(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { clz32 : function clz32 ( x ) { return ( x >>>= 0 ) ? 31 - Math . floor ( Math . log ( x + 0.5 ) * Math . LOG2E ) : 32 ; } } ) ; } , { "19" : 19 } ] , 103 : [ function ( _dereq _ , module , exports ) { // 20.2.2.12 Math.cosh(x)
var $def = _dereq _ ( 19 ) , exp = Math . exp ; $def ( $def . S , 'Math' , { cosh : function cosh ( x ) { return ( exp ( x = + x ) + exp ( - x ) ) / 2 ; } } ) ; } , { "19" : 19 } ] , 104 : [ function ( _dereq _ , module , exports ) { // 20.2.2.14 Math.expm1(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { expm1 : _dereq _ ( 50 ) } ) ; } , { "19" : 19 , "50" : 50 } ] , 105 : [ function ( _dereq _ , module , exports ) { // 20.2.2.16 Math.fround(x)
var $def = _dereq _ ( 19 ) , sign = _dereq _ ( 52 ) , pow = Math . pow , EPSILON = pow ( 2 , - 52 ) , EPSILON32 = pow ( 2 , - 23 ) , MAX32 = pow ( 2 , 127 ) * ( 2 - EPSILON32 ) , MIN32 = pow ( 2 , - 126 ) ; var roundTiesToEven = function roundTiesToEven ( n ) { return n + 1 / EPSILON - 1 / EPSILON ; } ; $def ( $def . S , 'Math' , { fround : function fround ( x ) { var $abs = Math . abs ( x ) , $sign = sign ( x ) , a , result ; if ( $abs < MIN32 ) return $sign * roundTiesToEven ( $abs / MIN32 / EPSILON32 ) * MIN32 * EPSILON32 ; a = ( 1 + EPSILON32 / EPSILON ) * $abs ; result = a - ( a - $abs ) ; if ( result > MAX32 || result != result ) return $sign * Infinity ; return $sign * result ; } } ) ; } , { "19" : 19 , "52" : 52 } ] , 106 : [ function ( _dereq _ , module , exports ) { // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
var $def = _dereq _ ( 19 ) , abs = Math . abs ; $def ( $def . S , 'Math' , { hypot : function hypot ( value1 , value2 ) { // eslint-disable-line no-unused-vars
var sum = 0 , i = 0 , $$ = arguments , $$len = $$ . length , larg = 0 , arg , div ; while ( i < $$len ) { arg = abs ( $$ [ i ++ ] ) ; if ( larg < arg ) { div = larg / arg ; sum = sum * div * div + 1 ; larg = arg ; } else if ( arg > 0 ) { div = arg / larg ; sum += div * div ; } else sum += arg ; } return larg === Infinity ? Infinity : larg * Math . sqrt ( sum ) ; } } ) ; } , { "19" : 19 } ] , 107 : [ function ( _dereq _ , module , exports ) { // 20.2.2.18 Math.imul(x, y)
var $def = _dereq _ ( 19 ) , $imul = Math . imul ; // some WebKit versions fails with big numbers, some has wrong arity
$def ( $def . S + $def . F * _dereq _ ( 25 ) ( function ( ) { return $imul ( 0xffffffff , 5 ) != - 5 || $imul . length != 2 ; } ) , 'Math' , { imul : function imul ( x , y ) { var UINT16 = 0xffff , xn = + x , yn = + y , xl = UINT16 & xn , yl = UINT16 & yn ; return 0 | xl * yl + ( ( UINT16 & xn >>> 16 ) * yl + xl * ( UINT16 & yn >>> 16 ) << 16 >>> 0 ) ; } } ) ; } , { "19" : 19 , "25" : 25 } ] , 108 : [ function ( _dereq _ , module , exports ) { // 20.2.2.21 Math.log10(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { log10 : function log10 ( x ) { return Math . log ( x ) / Math . LN10 ; } } ) ; } , { "19" : 19 } ] , 109 : [ function ( _dereq _ , module , exports ) { // 20.2.2.20 Math.log1p(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { log1p : _dereq _ ( 51 ) } ) ; } , { "19" : 19 , "51" : 51 } ] , 110 : [ function ( _dereq _ , module , exports ) { // 20.2.2.22 Math.log2(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { log2 : function log2 ( x ) { return Math . log ( x ) / Math . LN2 ; } } ) ; } , { "19" : 19 } ] , 111 : [ function ( _dereq _ , module , exports ) { // 20.2.2.28 Math.sign(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { sign : _dereq _ ( 52 ) } ) ; } , { "19" : 19 , "52" : 52 } ] , 112 : [ function ( _dereq _ , module , exports ) { // 20.2.2.30 Math.sinh(x)
var $def = _dereq _ ( 19 ) , expm1 = _dereq _ ( 50 ) , exp = Math . exp ; // V8 near Chromium 38 has a problem with very small numbers
$def ( $def . S + $def . F * _dereq _ ( 25 ) ( function ( ) { return ! Math . sinh ( - 2e-17 ) != - 2e-17 ; } ) , 'Math' , { sinh : function sinh ( x ) { return Math . abs ( x = + x ) < 1 ? ( expm1 ( x ) - expm1 ( - x ) ) / 2 : ( exp ( x - 1 ) - exp ( - x - 1 ) ) * ( Math . E / 2 ) ; } } ) ; } , { "19" : 19 , "25" : 25 , "50" : 50 } ] , 113 : [ function ( _dereq _ , module , exports ) { // 20.2.2.33 Math.tanh(x)
var $def = _dereq _ ( 19 ) , expm1 = _dereq _ ( 50 ) , exp = Math . exp ; $def ( $def . S , 'Math' , { tanh : function tanh ( x ) { var a = expm1 ( x = + x ) , b = expm1 ( - x ) ; return a == Infinity ? 1 : b == Infinity ? - 1 : ( a - b ) / ( exp ( x ) + exp ( - x ) ) ; } } ) ; } , { "19" : 19 , "50" : 50 } ] , 114 : [ function ( _dereq _ , module , exports ) { // 20.2.2.34 Math.trunc(x)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Math' , { trunc : function trunc ( it ) { return ( it > 0 ? Math . floor : Math . ceil ) ( it ) ; } } ) ; } , { "19" : 19 } ] , 115 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , global = _dereq _ ( 30 ) , has = _dereq _ ( 31 ) , cof = _dereq _ ( 12 ) , toPrimitive = _dereq _ ( 82 ) , fails = _dereq _ ( 25 ) , $trim = _dereq _ ( 75 ) . trim , NUMBER = 'Number' , $Number = global [ NUMBER ] , Base = $Number , proto = $Number . prototype // Opera ~12 has broken Object#toString
, BROKEN _COF = cof ( $ . create ( proto ) ) == NUMBER , TRIM = 'trim' in String . prototype ; // 7.1.3 ToNumber(argument)
var toNumber = function toNumber ( argument ) { var it = toPrimitive ( argument , false ) ; if ( typeof it == 'string' && it . length > 2 ) { it = TRIM ? it . trim ( ) : $trim ( it , 3 ) ; var first = it . charCodeAt ( 0 ) , third , radix , maxCode ; if ( first === 43 || first === 45 ) { third = it . charCodeAt ( 2 ) ; if ( third === 88 || third === 120 ) return NaN ; // Number('+0x1') should be NaN, old V8 fix
} else if ( first === 48 ) { switch ( it . charCodeAt ( 1 ) ) { case 66 : case 98 : radix = 2 ; maxCode = 49 ; break ; // fast equal /^0b[01]+$/i
case 79 : case 111 : radix = 8 ; maxCode = 55 ; break ; // fast equal /^0o[0-7]+$/i
default : return + it ; } for ( var digits = it . slice ( 2 ) , i = 0 , l = digits . length , code ; i < l ; i ++ ) { code = digits . charCodeAt ( i ) ; // parseInt parses a string to a first unavailable symbol
// but ToNumber should return NaN if a string contains unavailable symbols
if ( code < 48 || code > maxCode ) return NaN ; } return parseInt ( digits , radix ) ; } } return + it ; } ; if ( ! $Number ( ' 0o1' ) || ! $Number ( '0b1' ) || $Number ( '+0x1' ) ) { $Number = function Number ( value ) { var it = arguments . length < 1 ? 0 : value , that = this ; return that instanceof $Number // check on 1..constructor(foo) case
&& ( BROKEN _COF ? fails ( function ( ) { proto . valueOf . call ( that ) ; } ) : cof ( that ) != NUMBER ) ? new Base ( toNumber ( it ) ) : toNumber ( it ) ; } ; $ . each . call ( _dereq _ ( 21 ) ? $ . getNames ( Base ) : ( // ES3:
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES6 (in case, if modules with ES6 Number statics required before):
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' ) . split ( ',' ) , function ( key ) { if ( has ( Base , key ) && ! has ( $Number , key ) ) { $ . setDesc ( $Number , key , $ . getDesc ( Base , key ) ) ; } } ) ; $Number . prototype = proto ; proto . constructor = $Number ; _dereq _ ( 62 ) ( global , NUMBER , $Number ) ; } } , { "12" : 12 , "21" : 21 , "25" : 25 , "30" : 30 , "31" : 31 , "47" : 47 , "62" : 62 , "75" : 75 , "82" : 82 } ] , 116 : [ function ( _dereq _ , module , exports ) { // 20.1.2.1 Number.EPSILON
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { EPSILON : Math . pow ( 2 , - 52 ) } ) ; } , { "19" : 19 } ] , 117 : [ function ( _dereq _ , module , exports ) { // 20.1.2.2 Number.isFinite(number)
var $def = _dereq _ ( 19 ) , _isFinite = _dereq _ ( 30 ) . isFinite ; $def ( $def . S , 'Number' , { isFinite : function isFinite ( it ) { return typeof it == 'number' && _isFinite ( it ) ; } } ) ; } , { "19" : 19 , "30" : 30 } ] , 118 : [ function ( _dereq _ , module , exports ) { // 20.1.2.3 Number.isInteger(number)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { isInteger : _dereq _ ( 38 ) } ) ; } , { "19" : 19 , "38" : 38 } ] , 119 : [ function ( _dereq _ , module , exports ) { // 20.1.2.4 Number.isNaN(number)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { isNaN : function isNaN ( number ) { return number != number ; } } ) ; } , { "19" : 19 } ] , 120 : [ function ( _dereq _ , module , exports ) { // 20.1.2.5 Number.isSafeInteger(number)
var $def = _dereq _ ( 19 ) , isInteger = _dereq _ ( 38 ) , abs = Math . abs ; $def ( $def . S , 'Number' , { isSafeInteger : function isSafeInteger ( number ) { return isInteger ( number ) && abs ( number ) <= 0x1fffffffffffff ; } } ) ; } , { "19" : 19 , "38" : 38 } ] , 121 : [ function ( _dereq _ , module , exports ) { // 20.1.2.6 Number.MAX_SAFE_INTEGER
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { MAX _SAFE _INTEGER : 0x1fffffffffffff } ) ; } , { "19" : 19 } ] , 122 : [ function ( _dereq _ , module , exports ) { // 20.1.2.10 Number.MIN_SAFE_INTEGER
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { MIN _SAFE _INTEGER : - 0x1fffffffffffff } ) ; } , { "19" : 19 } ] , 123 : [ function ( _dereq _ , module , exports ) { // 20.1.2.12 Number.parseFloat(string)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { parseFloat : parseFloat } ) ; } , { "19" : 19 } ] , 124 : [ function ( _dereq _ , module , exports ) { // 20.1.2.13 Number.parseInt(string, radix)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Number' , { parseInt : parseInt } ) ; } , { "19" : 19 } ] , 125 : [ function ( _dereq _ , module , exports ) { // 19.1.3.1 Object.assign(target, source)
var $def = _dereq _ ( 19 ) ; $def ( $def . S + $def . F , 'Object' , { assign : _dereq _ ( 55 ) } ) ; } , { "19" : 19 , "55" : 55 } ] , 126 : [ function ( _dereq _ , module , exports ) { // 19.1.2.5 Object.freeze(O)
var isObject = _dereq _ ( 39 ) ; _dereq _ ( 56 ) ( 'freeze' , function ( $freeze ) { return function freeze ( it ) { return $freeze && isObject ( it ) ? $freeze ( it ) : it ; } ; } ) ; } , { "39" : 39 , "56" : 56 } ] , 127 : [ function ( _dereq _ , module , exports ) { // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
var toIObject = _dereq _ ( 79 ) ; _dereq _ ( 56 ) ( 'getOwnPropertyDescriptor' , function ( $getOwnPropertyDescriptor ) { return function getOwnPropertyDescriptor ( it , key ) { return $getOwnPropertyDescriptor ( toIObject ( it ) , key ) ; } ; } ) ; } , { "56" : 56 , "79" : 79 } ] , 128 : [ function ( _dereq _ , module , exports ) { // 19.1.2.7 Object.getOwnPropertyNames(O)
_dereq _ ( 56 ) ( 'getOwnPropertyNames' , function ( ) { return _dereq _ ( 29 ) . get ; } ) ; } , { "29" : 29 , "56" : 56 } ] , 129 : [ function ( _dereq _ , module , exports ) { // 19.1.2.9 Object.getPrototypeOf(O)
var toObject = _dereq _ ( 81 ) ; _dereq _ ( 56 ) ( 'getPrototypeOf' , function ( $getPrototypeOf ) { return function getPrototypeOf ( it ) { return $getPrototypeOf ( toObject ( it ) ) ; } ; } ) ; } , { "56" : 56 , "81" : 81 } ] , 130 : [ function ( _dereq _ , module , exports ) { // 19.1.2.11 Object.isExtensible(O)
var isObject = _dereq _ ( 39 ) ; _dereq _ ( 56 ) ( 'isExtensible' , function ( $isExtensible ) { return function isExtensible ( it ) { return isObject ( it ) ? $isExtensible ? $isExtensible ( it ) : true : false ; } ; } ) ; } , { "39" : 39 , "56" : 56 } ] , 131 : [ function ( _dereq _ , module , exports ) { // 19.1.2.12 Object.isFrozen(O)
var isObject = _dereq _ ( 39 ) ; _dereq _ ( 56 ) ( 'isFrozen' , function ( $isFrozen ) { return function isFrozen ( it ) { return isObject ( it ) ? $isFrozen ? $isFrozen ( it ) : false : true ; } ; } ) ; } , { "39" : 39 , "56" : 56 } ] , 132 : [ function ( _dereq _ , module , exports ) { // 19.1.2.13 Object.isSealed(O)
var isObject = _dereq _ ( 39 ) ; _dereq _ ( 56 ) ( 'isSealed' , function ( $isSealed ) { return function isSealed ( it ) { return isObject ( it ) ? $isSealed ? $isSealed ( it ) : false : true ; } ; } ) ; } , { "39" : 39 , "56" : 56 } ] , 133 : [ function ( _dereq _ , module , exports ) { // 19.1.3.10 Object.is(value1, value2)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Object' , { is : _dereq _ ( 64 ) } ) ; } , { "19" : 19 , "64" : 64 } ] , 134 : [ function ( _dereq _ , module , exports ) { // 19.1.2.14 Object.keys(O)
var toObject = _dereq _ ( 81 ) ; _dereq _ ( 56 ) ( 'keys' , function ( $keys ) { return function keys ( it ) { return $keys ( toObject ( it ) ) ; } ; } ) ; } , { "56" : 56 , "81" : 81 } ] , 135 : [ function ( _dereq _ , module , exports ) { // 19.1.2.15 Object.preventExtensions(O)
var isObject = _dereq _ ( 39 ) ; _dereq _ ( 56 ) ( 'preventExtensions' , function ( $preventExtensions ) { return function preventExtensions ( it ) { return $preventExtensions && isObject ( it ) ? $preventExtensions ( it ) : it ; } ; } ) ; } , { "39" : 39 , "56" : 56 } ] , 136 : [ function ( _dereq _ , module , exports ) { // 19.1.2.17 Object.seal(O)
var isObject = _dereq _ ( 39 ) ; _dereq _ ( 56 ) ( 'seal' , function ( $seal ) { return function seal ( it ) { return $seal && isObject ( it ) ? $seal ( it ) : it ; } ; } ) ; } , { "39" : 39 , "56" : 56 } ] , 137 : [ function ( _dereq _ , module , exports ) { // 19.1.3.19 Object.setPrototypeOf(O, proto)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Object' , { setPrototypeOf : _dereq _ ( 65 ) . set } ) ; } , { "19" : 19 , "65" : 65 } ] , 138 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // 19.1.3.6 Object.prototype.toString()
var classof = _dereq _ ( 11 ) , test = { } ; test [ _dereq _ ( 84 ) ( 'toStringTag' ) ] = 'z' ; if ( test + '' != '[object z]' ) { _dereq _ ( 62 ) ( Object . prototype , 'toString' , function toString ( ) { return '[object ' + classof ( this ) + ']' ; } , true ) ; } } , { "11" : 11 , "62" : 62 , "84" : 84 } ] , 139 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , LIBRARY = _dereq _ ( 49 ) , global = _dereq _ ( 30 ) , ctx = _dereq _ ( 18 ) , classof = _dereq _ ( 11 ) , $def = _dereq _ ( 19 ) , isObject = _dereq _ ( 39 ) , anObject = _dereq _ ( 5 ) , aFunction = _dereq _ ( 3 ) , strictNew = _dereq _ ( 70 ) , forOf = _dereq _ ( 28 ) , setProto = _dereq _ ( 65 ) . set , same = _dereq _ ( 64 ) , SPECIES = _dereq _ ( 84 ) ( 'species' ) , speciesConstructor = _dereq _ ( 69 ) , RECORD = _dereq _ ( 83 ) ( 'record' ) , asap = _dereq _ ( 53 ) , PROMISE = 'Promise' , process = global . process , isNode = classof ( process ) == 'process' , P = global [ PROMISE ] , Wrapper ; var testResolve = function testResolve ( sub ) { var test = new P ( function ( ) { } ) ; if ( sub ) test . constructor = Object ; return P . resolve ( test ) === test ; } ; var useNative = function ( ) { var works = false ; function P2 ( x ) { var self = new P ( x ) ; setProto ( self , P2 . prototype ) ; return self ; } try { works = P && P . resolve && testResolve ( ) ; setProto ( P2 , P ) ; P2 . prototype = $ . create ( P . prototype , { constructor : { value : P2 } } ) ; // actual Firefox has broken subclass support, test that
if ( ! ( P2 . resolve ( 5 ) . then ( function ( ) { } ) instanceof P2 ) ) { works = false ; } // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
if ( works && _dereq _ ( 21 ) ) { var thenableThenGotten = false ; P . resolve ( $ . setDesc ( { } , 'then' , { get : function get ( ) { thenableThenGotten = true ; } } ) ) ; works = thenableThenGotten ; } } catch ( e ) { works = false ; } return works ; } ( ) ; // helpers
var isPromise = function isPromise ( it ) { return isObject ( it ) && ( useNative ? classof ( it ) == 'Promise' : RECORD in it ) ; } ; var sameConstructor = function sameConstructor ( a , b ) { // library wrapper special case
if ( LIBRARY && a === P && b === Wrapper ) return true ; return same ( a , b ) ; } ; var getConstructor = function getConstructor ( C ) { var S = anObject ( C ) [ SPECIES ] ; return S != undefined ? S : C ; } ; var isThenable = function isThenable ( it ) { var then ; return isObject ( it ) && typeof ( then = it . then ) == 'function' ? then : false ; } ; var notify = function notify ( record , isReject ) { if ( record . n ) return ; record . n = true ; var chain = record . c ; asap ( function ( ) { var value = record . v , ok = record . s == 1 , i = 0 ; var run = function run ( react ) { var cb = ok ? react . ok : react . fail , ret , then ; try { if ( cb ) { if ( ! ok ) record . h = true ; ret = cb === true ? value : cb ( value ) ; if ( ret === react . P ) { react . rej ( TypeError ( 'Promise-chain cycle' ) ) ; } else if ( then = isThenable ( ret ) ) { then . call ( ret , react . res , react . rej ) ; } else react . res ( ret ) ; } else react . rej ( value ) ; } catch ( err ) { react . rej ( err ) ; } } ; while ( chain . length > i ) { run ( chain [ i ++ ] ) ; } // variable length - can't use forEach
chain . length = 0 ; record . n = false ; if ( isReject ) setTimeout ( function ( ) { var promise = record . p , handler , console ; if ( isUnhandled ( promise ) ) { if ( isNode ) { process . emit ( 'unhandledRejection' , value , promise ) ; } else if ( handler = global . onunhandledrejection ) { handler ( { promise : promise , reason : value } ) ; } else if ( ( console = global . console ) && console . error ) { console . error ( 'Unhandled promise rejection' , value ) ; } } record . a = undefined ; } , 1 ) ; } ) ; } ; var isUnhandled = function isUnhandled ( promise ) { var record = promise [ RECORD ] , chain = record . a || record . c , i = 0 , react ; if ( record . h ) return false ; while ( chain . length > i ) { react = chain [ i ++ ] ; if ( react . fail || ! isUnhandled ( react . P ) ) return false ; } return true ; } ; var $reject = function $reject ( value ) { var record = this ; if ( record . d ) return ; record . d = true ; record = record . r || record ; // unwrap
record . v = value ; record . s = 2 ; record . a = record . c . slice ( ) ; notify ( record , true ) ; } ; var $resolve = function $resolve ( value ) { var record = this , then ; if ( record . d ) return ; record . d = true ; record = record . r || record ; // unwrap
try { if ( then = isThenable ( value ) ) { asap ( function ( ) { var wrapper = { r : record , d : false } ; // wrap
try { then . call ( value , ctx ( $resolve , wrapper , 1 ) , ctx ( $reject , wrapper , 1 ) ) ; } catch ( e ) { $reject . call ( wrapper , e ) ; } } ) ; } else { record . v = value ; record . s = 1 ; notify ( record , false ) ; } } catch ( e ) { $reject . call ( { r : record , d : false } , e ) ; // wrap
} } ; // constructor polyfill
if ( ! useNative ) { // 25.4.3.1 Promise(executor)
P = function Promise ( executor ) { aFunction ( executor ) ; var record = { p : strictNew ( this , P , PROMISE ) , // <- promise
c : [ ] , // <- awaiting reactions
a : undefined , // <- checked in isUnhandled reactions
s : 0 , // <- state
d : false , // <- done
v : undefined , // <- value
h : false , // <- handled rejection
n : false // <- notify
} ; this [ RECORD ] = record ; try { executor ( ctx ( $resolve , record , 1 ) , ctx ( $reject , record , 1 ) ) ; } catch ( err ) { $reject . call ( record , err ) ; } } ; _dereq _ ( 54 ) ( P . prototype , { // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
then : function then ( onFulfilled , onRejected ) { var react = { ok : typeof onFulfilled == 'function' ? onFulfilled : true , fail : typeof onRejected == 'function' ? onRejected : false } ; var promise = react . P = new ( speciesConstructor ( this , P ) ) ( function ( res , rej ) { react . res = res ; react . rej = rej ; } ) ; aFunction ( react . res ) ; aFunction ( react . rej ) ; var record = this [ RECORD ] ; record . c . push ( react ) ; if ( record . a ) record . a . push ( react ) ; if ( record . s ) notify ( record , false ) ; return promise ; } , // 25.4.5.1 Promise.prototype.catch(onRejected)
'catch' : function _catch ( onRejected ) { return this . then ( undefined , onRejected ) ; } } ) ; } // export
$def ( $def . G + $def . W + $def . F * ! useNative , { Promise : P } ) ; _dereq _ ( 67 ) ( P , PROMISE ) ; _dereq _ ( 66 ) ( PROMISE ) ; Wrapper = _dereq _ ( 17 ) [ PROMISE ] ; // statics
$def ( $def . S + $def . F * ! useNative , PROMISE , { // 25.4.4.5 Promise.reject(r)
reject : function reject ( r ) { return new this ( function ( res , rej ) { rej ( r ) ; } ) ; } } ) ; $def ( $def . S + $def . F * ( ! useNative || testResolve ( true ) ) , PROMISE , { // 25.4.4.6 Promise.resolve(x)
resolve : function resolve ( x ) { return isPromise ( x ) && sameConstructor ( x . constructor , this ) ? x : new this ( function ( res ) { res ( x ) ; } ) ; } } ) ; $def ( $def . S + $def . F * ! ( useNative && _dereq _ ( 44 ) ( function ( iter ) { P . all ( iter ) [ 'catch' ] ( function ( ) { } ) ; } ) ) , PROMISE , { // 25.4.4.1 Promise.all(iterable)
all : function all ( iterable ) { var C = getConstructor ( this ) , values = [ ] ; return new C ( function ( res , rej ) { forOf ( iterable , false , values . push , values ) ; var remaining = values . length , results = Array ( remaining ) ; if ( remaining ) $ . each . call ( values , function ( promise , index ) { C . resolve ( promise ) . then ( function ( value ) { results [ index ] = value ; -- remaining || res ( results ) ; } , rej ) ; } ) ; else res ( results ) ; } ) ; } , // 25.4.4.4 Promise.race(iterable)
race : function race ( iterable ) { var C = getConstructor ( this ) ; return new C ( function ( res , rej ) { forOf ( iterable , false , function ( promise ) { C . resolve ( promise ) . then ( res , rej ) ; } ) ; } ) ; } } ) ; } , { "11" : 11 , "17" : 17 , "18" : 18 , "19" : 19 , "21" : 21 , "28" : 28 , "3" : 3 , "30" : 30 , "39" : 39 , "44" : 44 , "47" : 47 , "49" : 49 , "5" : 5 , "53" : 53 , "54" : 54 , "64" : 64 , "65" : 65 , "66" : 66 , "67" : 67 , "69" : 69 , "70" : 70 , "83" : 83 , "84" : 84 } ] , 140 : [ function ( _dereq _ , module , exports ) { // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
var $def = _dereq _ ( 19 ) , _apply = Function . apply ; $def ( $def . S , 'Reflect' , { apply : function apply ( target , thisArgument , argumentsList ) { return _apply . call ( target , thisArgument , argumentsList ) ; } } ) ; } , { "19" : 19 } ] , 141 : [ function ( _dereq _ , module , exports ) { // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
var $ = _dereq _ ( 47 ) , $def = _dereq _ ( 19 ) , aFunction = _dereq _ ( 3 ) , anObject = _dereq _ ( 5 ) , isObject = _dereq _ ( 39 ) , bind = Function . bind || _dereq _ ( 17 ) . Function . prototype . bind ; // MS Edge supports only 2 arguments
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
$def ( $def . S + $def . F * _dereq _ ( 25 ) ( function ( ) { function F ( ) { } return ! ( Reflect . construct ( function ( ) { } , [ ] , F ) instanceof F ) ; } ) , 'Reflect' , { construct : function construct ( Target , args /*, newTarget*/ ) { aFunction ( Target ) ; var newTarget = arguments . length < 3 ? Target : aFunction ( arguments [ 2 ] ) ; if ( Target == newTarget ) { // w/o altered newTarget, optimization for 0-4 arguments
if ( args != undefined ) switch ( anObject ( args ) . length ) { case 0 : return new Target ( ) ; case 1 : return new Target ( args [ 0 ] ) ; case 2 : return new Target ( args [ 0 ] , args [ 1 ] ) ; case 3 : return new Target ( args [ 0 ] , args [ 1 ] , args [ 2 ] ) ; case 4 : return new Target ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) ; } // w/o altered newTarget, lot of arguments case
var $args = [ null ] ; $args . push . apply ( $args , args ) ; return new ( bind . apply ( Target , $args ) ) ( ) ; } // with altered newTarget, not support built-in constructors
var proto = newTarget . prototype , instance = $ . create ( isObject ( proto ) ? proto : Object . prototype ) , result = Function . apply . call ( Target , instance , args ) ; return isObject ( result ) ? result : instance ; } } ) ; } , { "17" : 17 , "19" : 19 , "25" : 25 , "3" : 3 , "39" : 39 , "47" : 47 , "5" : 5 } ] , 142 : [ function ( _dereq _ , module , exports ) { // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
var $ = _dereq _ ( 47 ) , $def = _dereq _ ( 19 ) , anObject = _dereq _ ( 5 ) ; // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
$def ( $def . S + $def . F * _dereq _ ( 25 ) ( function ( ) { Reflect . defineProperty ( $ . setDesc ( { } , 1 , { value : 1 } ) , 1 , { value : 2 } ) ; } ) , 'Reflect' , { defineProperty : function defineProperty ( target , propertyKey , attributes ) { anObject ( target ) ; try { $ . setDesc ( target , propertyKey , attributes ) ; return true ; } catch ( e ) { return false ; } } } ) ; } , { "19" : 19 , "25" : 25 , "47" : 47 , "5" : 5 } ] , 143 : [ function ( _dereq _ , module , exports ) { // 26.1.4 Reflect.deleteProperty(target, propertyKey)
var $def = _dereq _ ( 19 ) , getDesc = _dereq _ ( 47 ) . getDesc , anObject = _dereq _ ( 5 ) ; $def ( $def . S , 'Reflect' , { deleteProperty : function deleteProperty ( target , propertyKey ) { var desc = getDesc ( anObject ( target ) , propertyKey ) ; return desc && ! desc . configurable ? false : delete target [ propertyKey ] ; } } ) ; } , { "19" : 19 , "47" : 47 , "5" : 5 } ] , 144 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // 26.1.5 Reflect.enumerate(target)
var $def = _dereq _ ( 19 ) , anObject = _dereq _ ( 5 ) ; var Enumerate = function Enumerate ( iterated ) { this . _t = anObject ( iterated ) ; // target
this . _i = 0 ; // next index
var keys = this . _k = [ ] // keys
, key ; for ( key in iterated ) { keys . push ( key ) ; } } ; _dereq _ ( 42 ) ( Enumerate , 'Object' , function ( ) { var that = this , keys = that . _k , key ; do { if ( that . _i >= keys . length ) return { value : undefined , done : true } ; } while ( ! ( ( key = keys [ that . _i ++ ] ) in that . _t ) ) ; return { value : key , done : false } ; } ) ; $def ( $def . S , 'Reflect' , { enumerate : function enumerate ( target ) { return new Enumerate ( target ) ; } } ) ; } , { "19" : 19 , "42" : 42 , "5" : 5 } ] , 145 : [ function ( _dereq _ , module , exports ) { // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
var $ = _dereq _ ( 47 ) , $def = _dereq _ ( 19 ) , anObject = _dereq _ ( 5 ) ; $def ( $def . S , 'Reflect' , { getOwnPropertyDescriptor : function getOwnPropertyDescriptor ( target , propertyKey ) { return $ . getDesc ( anObject ( target ) , propertyKey ) ; } } ) ; } , { "19" : 19 , "47" : 47 , "5" : 5 } ] , 146 : [ function ( _dereq _ , module , exports ) { // 26.1.8 Reflect.getPrototypeOf(target)
var $def = _dereq _ ( 19 ) , getProto = _dereq _ ( 47 ) . getProto , anObject = _dereq _ ( 5 ) ; $def ( $def . S , 'Reflect' , { getPrototypeOf : function getPrototypeOf ( target ) { return getProto ( anObject ( target ) ) ; } } ) ; } , { "19" : 19 , "47" : 47 , "5" : 5 } ] , 147 : [ function ( _dereq _ , module , exports ) { // 26.1.6 Reflect.get(target, propertyKey [, receiver])
var $ = _dereq _ ( 47 ) , has = _dereq _ ( 31 ) , $def = _dereq _ ( 19 ) , isObject = _dereq _ ( 39 ) , anObject = _dereq _ ( 5 ) ; function get ( target , propertyKey /*, receiver*/ ) { var receiver = arguments . length < 3 ? target : arguments [ 2 ] , desc , proto ; if ( anObject ( target ) === receiver ) return target [ propertyKey ] ; if ( desc = $ . getDesc ( target , propertyKey ) ) return has ( desc , 'value' ) ? desc . value : desc . get !== undefined ? desc . get . call ( receiver ) : undefined ; if ( isObject ( proto = $ . getProto ( target ) ) ) return get ( proto , propertyKey , receiver ) ; } $def ( $def . S , 'Reflect' , { get : get } ) ; } , { "19" : 19 , "31" : 31 , "39" : 39 , "47" : 47 , "5" : 5 } ] , 148 : [ function ( _dereq _ , module , exports ) { // 26.1.9 Reflect.has(target, propertyKey)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Reflect' , { has : function has ( target , propertyKey ) { return propertyKey in target ; } } ) ; } , { "19" : 19 } ] , 149 : [ function ( _dereq _ , module , exports ) { // 26.1.10 Reflect.isExtensible(target)
var $def = _dereq _ ( 19 ) , anObject = _dereq _ ( 5 ) , $isExtensible = Object . isExtensible ; $def ( $def . S , 'Reflect' , { isExtensible : function isExtensible ( target ) { anObject ( target ) ; return $isExtensible ? $isExtensible ( target ) : true ; } } ) ; } , { "19" : 19 , "5" : 5 } ] , 150 : [ function ( _dereq _ , module , exports ) { // 26.1.11 Reflect.ownKeys(target)
var $def = _dereq _ ( 19 ) ; $def ( $def . S , 'Reflect' , { ownKeys : _dereq _ ( 58 ) } ) ; } , { "19" : 19 , "58" : 58 } ] , 151 : [ function ( _dereq _ , module , exports ) { // 26.1.12 Reflect.preventExtensions(target)
var $def = _dereq _ ( 19 ) , anObject = _dereq _ ( 5 ) , $preventExtensions = Object . preventExtensions ; $def ( $def . S , 'Reflect' , { preventExtensions : function preventExtensions ( target ) { anObject ( target ) ; try { if ( $preventExtensions ) $preventExtensions ( target ) ; return true ; } catch ( e ) { return false ; } } } ) ; } , { "19" : 19 , "5" : 5 } ] , 152 : [ function ( _dereq _ , module , exports ) { // 26.1.14 Reflect.setPrototypeOf(target, proto)
var $def = _dereq _ ( 19 ) , setProto = _dereq _ ( 65 ) ; if ( setProto ) $def ( $def . S , 'Reflect' , { setPrototypeOf : function setPrototypeOf ( target , proto ) { setProto . check ( target , proto ) ; try { setProto . set ( target , proto ) ; return true ; } catch ( e ) { return false ; } } } ) ; } , { "19" : 19 , "65" : 65 } ] , 153 : [ function ( _dereq _ , module , exports ) { // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
var $ = _dereq _ ( 47 ) , has = _dereq _ ( 31 ) , $def = _dereq _ ( 19 ) , createDesc = _dereq _ ( 61 ) , anObject = _dereq _ ( 5 ) , isObject = _dereq _ ( 39 ) ; function set ( target , propertyKey , V /*, receiver*/ ) { var receiver = arguments . length < 4 ? target : arguments [ 3 ] , ownDesc = $ . getDesc ( anObject ( target ) , propertyKey ) , existingDescriptor , proto ; if ( ! ownDesc ) { if ( isObject ( proto = $ . getProto ( target ) ) ) { return set ( proto , propertyKey , V , receiver ) ; } ownDesc = createDesc ( 0 ) ; } if ( has ( ownDesc , 'value' ) ) { if ( ownDesc . writable === false || ! isObject ( receiver ) ) return false ; existingDescriptor = $ . getDesc ( receiver , propertyKey ) || createDesc ( 0 ) ; existingDescriptor . value = V ; $ . setDesc ( receiver , propertyKey , existingDescriptor ) ; return true ; } return ownDesc . set === undefined ? false : ( ownDesc . set . call ( receiver , V ) , true ) ; } $def ( $def . S , 'Reflect' , { set : set } ) ; } , { "19" : 19 , "31" : 31 , "39" : 39 , "47" : 47 , "5" : 5 , "61" : 61 } ] , 154 : [ function ( _dereq _ , module , exports ) { var $ = _dereq _ ( 47 ) , global = _dereq _ ( 30 ) , isRegExp = _dereq _ ( 40 ) , $flags = _dereq _ ( 27 ) , $RegExp = global . RegExp , Base = $RegExp , proto = $RegExp . prototype , re1 = /a/g , re2 = /a/g // "new" creates a new object, old webkit buggy here
, CORRECT _NEW = new $RegExp ( re1 ) !== re1 ; if ( _dereq _ ( 21 ) && ( ! CORRECT _NEW || _dereq _ ( 25 ) ( function ( ) { re2 [ _dereq _ ( 84 ) ( 'match' ) ] = false ; // RegExp constructor can alter flags and IsRegExp works correct with @@match
return $RegExp ( re1 ) != re1 || $RegExp ( re2 ) == re2 || $RegExp ( re1 , 'i' ) != '/a/i' ; } ) ) ) { $RegExp = function RegExp ( p , f ) { var piRE = isRegExp ( p ) , fiU = f === undefined ; return ! ( this instanceof $RegExp ) && piRE && p . constructor === $RegExp && fiU ? p : CORRECT _NEW ? new Base ( piRE && ! fiU ? p . source : p , f ) : Base ( ( piRE = p instanceof $RegExp ) ? p . source : p , piRE && fiU ? $flags . call ( p ) : f ) ; } ; $ . each . call ( $ . getNames ( Base ) , function ( key ) { key in $RegExp || $ . setDesc ( $RegExp , key , { configurable : true , get : function get ( ) { return Base [ key ] ; } , set : function set ( it ) { Base [ key ] = it ; } } ) ; } ) ; proto . constructor = $RegExp ; $RegExp . prototype = proto ; _dereq _ ( 62 ) ( global , 'RegExp' , $RegExp ) ; } _dereq _ ( 66 ) ( 'RegExp' ) ; } , { "21" : 21 , "25" : 25 , "27" : 27 , "30" : 30 , "40" : 40 , "47" : 47 , "62" : 62 , "66" : 66 , "84" : 84 } ] , 155 : [ function ( _dereq _ , module , exports ) { // 21.2.5.3 get RegExp.prototype.flags()
var $ = _dereq _ ( 47 ) ; if ( _dereq _ ( 21 ) && /./g . flags != 'g' ) $ . setDesc ( RegExp . prototype , 'flags' , { configurable : true , get : _dereq _ ( 27 ) } ) ; } , { "21" : 21 , "27" : 27 , "47" : 47 } ] , 156 : [ function ( _dereq _ , module , exports ) { // @@match logic
_dereq _ ( 26 ) ( 'match' , 1 , function ( defined , MATCH ) { // 21.1.3.11 String.prototype.match(regexp)
return function match ( regexp ) { 'use strict' ; var O = defined ( this ) , fn = regexp == undefined ? undefined : regexp [ MATCH ] ; return fn !== undefined ? fn . call ( regexp , O ) : new RegExp ( regexp ) [ MATCH ] ( String ( O ) ) ; } ; } ) ; } , { "26" : 26 } ] , 157 : [ function ( _dereq _ , module , exports ) { // @@replace logic
_dereq _ ( 26 ) ( 'replace' , 2 , function ( defined , REPLACE , $replace ) { // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
return function replace ( searchValue , replaceValue ) { 'use strict' ; var O = defined ( this ) , fn = searchValue == undefined ? undefined : searchValue [ REPLACE ] ; return fn !== undefined ? fn . call ( searchValue , O , replaceValue ) : $replace . call ( String ( O ) , searchValue , replaceValue ) ; } ; } ) ; } , { "26" : 26 } ] , 158 : [ function ( _dereq _ , module , exports ) { // @@search logic
_dereq _ ( 26 ) ( 'search' , 1 , function ( defined , SEARCH ) { // 21.1.3.15 String.prototype.search(regexp)
return function search ( regexp ) { 'use strict' ; var O = defined ( this ) , fn = regexp == undefined ? undefined : regexp [ SEARCH ] ; return fn !== undefined ? fn . call ( regexp , O ) : new RegExp ( regexp ) [ SEARCH ] ( String ( O ) ) ; } ; } ) ; } , { "26" : 26 } ] , 159 : [ function ( _dereq _ , module , exports ) { // @@split logic
_dereq _ ( 26 ) ( 'split' , 2 , function ( defined , SPLIT , $split ) { // 21.1.3.17 String.prototype.split(separator, limit)
return function split ( separator , limit ) { 'use strict' ; var O = defined ( this ) , fn = separator == undefined ? undefined : separator [ SPLIT ] ; return fn !== undefined ? fn . call ( separator , O , limit ) : $split . call ( String ( O ) , separator , limit ) ; } ; } ) ; } , { "26" : 26 } ] , 160 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var strong = _dereq _ ( 13 ) ; // 23.2 Set Objects
_dereq _ ( 16 ) ( 'Set' , function ( get ) { return function Set ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ; } , { // 23.2.3.1 Set.prototype.add(value)
add : function add ( value ) { return strong . def ( this , value = value === 0 ? 0 : value , value ) ; } } , strong ) ; } , { "13" : 13 , "16" : 16 } ] , 161 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $def = _dereq _ ( 19 ) , $at = _dereq _ ( 71 ) ( false ) ; $def ( $def . P , 'String' , { // 21.1.3.3 String.prototype.codePointAt(pos)
codePointAt : function codePointAt ( pos ) { return $at ( this , pos ) ; } } ) ; } , { "19" : 19 , "71" : 71 } ] , 162 : [ function ( _dereq _ , module , exports ) { // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
'use strict' ; var $def = _dereq _ ( 19 ) , toLength = _dereq _ ( 80 ) , context = _dereq _ ( 72 ) , ENDS _WITH = 'endsWith' , $endsWith = '' [ ENDS _WITH ] ; $def ( $def . P + $def . F * _dereq _ ( 24 ) ( ENDS _WITH ) , 'String' , { endsWith : function endsWith ( searchString /*, endPosition = @length */ ) { var that = context ( this , searchString , ENDS _WITH ) , $$ = arguments , endPosition = $$ . length > 1 ? $$ [ 1 ] : undefined , len = toLength ( that . length ) , end = endPosition === undefined ? len : Math . min ( toLength ( endPosition ) , len ) , search = String ( searchString ) ; return $endsWith ? $endsWith . call ( that , search , end ) : that . slice ( end - search . length , end ) === search ; } } ) ; } , { "19" : 19 , "24" : 24 , "72" : 72 , "80" : 80 } ] , 163 : [ function ( _dereq _ , module , exports ) { var $def = _dereq _ ( 19 ) , toIndex = _dereq _ ( 77 ) , fromCharCode = String . fromCharCode , $fromCodePoint = String . fromCodePoint ; // length should be 1, old FF problem
$def ( $def . S + $def . F * ( ! ! $fromCodePoint && $fromCodePoint . length != 1 ) , 'String' , { // 21.1.2.2 String.fromCodePoint(...codePoints)
fromCodePoint : function fromCodePoint ( x ) { // eslint-disable-line no-unused-vars
var res = [ ] , $$ = arguments , $$len = $$ . length , i = 0 , code ; while ( $$len > i ) { code = + $$ [ i ++ ] ; if ( toIndex ( code , 0x10ffff ) !== code ) throw RangeError ( code + ' is not a valid code point' ) ; res . push ( code < 0x10000 ? fromCharCode ( code ) : fromCharCode ( ( ( code -= 0x10000 ) >> 10 ) + 0xd800 , code % 0x400 + 0xdc00 ) ) ; } return res . join ( '' ) ; } } ) ; } , { "19" : 19 , "77" : 77 } ] , 164 : [ function ( _dereq _ , module , exports ) { // 21.1.3.7 String.prototype.includes(searchString, position = 0)
'use strict' ; var $def = _dereq _ ( 19 ) , context = _dereq _ ( 72 ) , INCLUDES = 'includes' ; $def ( $def . P + $def . F * _dereq _ ( 24 ) ( INCLUDES ) , 'String' , { includes : function includes ( searchString /*, position = 0 */ ) { return ! ! ~ context ( this , searchString , INCLUDES ) . indexOf ( searchString , arguments . length > 1 ? arguments [ 1 ] : undefined ) ; } } ) ; } , { "19" : 19 , "24" : 24 , "72" : 72 } ] , 165 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $at = _dereq _ ( 71 ) ( true ) ; // 21.1.3.27 String.prototype[@@iterator]()
_dereq _ ( 43 ) ( String , 'String' , function ( iterated ) { this . _t = String ( iterated ) ; // target
this . _i = 0 ; // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
} , function ( ) { var O = this . _t , index = this . _i , point ; if ( index >= O . length ) return { value : undefined , done : true } ; point = $at ( O , index ) ; this . _i += point . length ; return { value : point , done : false } ; } ) ; } , { "43" : 43 , "71" : 71 } ] , 166 : [ function ( _dereq _ , module , exports ) { var $def = _dereq _ ( 19 ) , toIObject = _dereq _ ( 79 ) , toLength = _dereq _ ( 80 ) ; $def ( $def . S , 'String' , { // 21.1.2.4 String.raw(callSite, ...substitutions)
raw : function raw ( callSite ) { var tpl = toIObject ( callSite . raw ) , len = toLength ( tpl . length ) , $$ = arguments , $$len = $$ . length , res = [ ] , i = 0 ; while ( len > i ) { res . push ( String ( tpl [ i ++ ] ) ) ; if ( i < $$len ) res . push ( String ( $$ [ i ] ) ) ; } return res . join ( '' ) ; } } ) ; } , { "19" : 19 , "79" : 79 , "80" : 80 } ] , 167 : [ function ( _dereq _ , module , exports ) { var $def = _dereq _ ( 19 ) ; $def ( $def . P , 'String' , { // 21.1.3.13 String.prototype.repeat(count)
repeat : _dereq _ ( 74 ) } ) ; } , { "19" : 19 , "74" : 74 } ] , 168 : [ function ( _dereq _ , module , exports ) { // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
'use strict' ; var $def = _dereq _ ( 19 ) , toLength = _dereq _ ( 80 ) , context = _dereq _ ( 72 ) , STARTS _WITH = 'startsWith' , $startsWith = '' [ STARTS _WITH ] ; $def ( $def . P + $def . F * _dereq _ ( 24 ) ( STARTS _WITH ) , 'String' , { startsWith : function startsWith ( searchString /*, position = 0 */ ) { var that = context ( this , searchString , STARTS _WITH ) , $$ = arguments , index = toLength ( Math . min ( $$ . length > 1 ? $$ [ 1 ] : undefined , that . length ) ) , search = String ( searchString ) ; return $startsWith ? $startsWith . call ( that , search , index ) : that . slice ( index , index + search . length ) === search ; } } ) ; } , { "19" : 19 , "24" : 24 , "72" : 72 , "80" : 80 } ] , 169 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // 21.1.3.25 String.prototype.trim()
_dereq _ ( 75 ) ( 'trim' , function ( $trim ) { return function trim ( ) { return $trim ( this , 3 ) ; } ; } ) ; } , { "75" : 75 } ] , 170 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // ECMAScript 6 symbols shim
var $ = _dereq _ ( 47 ) , global = _dereq _ ( 30 ) , has = _dereq _ ( 31 ) , DESCRIPTORS = _dereq _ ( 21 ) , $def = _dereq _ ( 19 ) , $redef = _dereq _ ( 62 ) , $fails = _dereq _ ( 25 ) , shared = _dereq _ ( 68 ) , setToStringTag = _dereq _ ( 67 ) , uid = _dereq _ ( 83 ) , wks = _dereq _ ( 84 ) , keyOf = _dereq _ ( 48 ) , $names = _dereq _ ( 29 ) , enumKeys = _dereq _ ( 23 ) , isArray = _dereq _ ( 37 ) , anObject = _dereq _ ( 5 ) , toIObject = _dereq _ ( 79 ) , createDesc = _dereq _ ( 61 ) , getDesc = $ . getDesc , setDesc = $ . setDesc , _create = $ . create , getNames = $names . get , $Symbol = global . Symbol , $JSON = global . JSON , _stringify = $JSON && $JSON . stringify , setter = false , HIDDEN = wks ( '_hidden' ) , isEnum = $ . isEnum , SymbolRegistry = shared ( 'symbol-registry' ) , AllSymbols = shared ( 'symbols' ) , useNative = typeof $Symbol == 'function' , ObjectProto = Object . prototype ; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
var setSymbolDesc = DESCRIPTORS && $fails ( function ( ) { return _create ( setDesc ( { } , 'a' , { get : function get ( ) { return setDesc ( this , 'a' , { value : 7 } ) . a ; } } ) ) . a != 7 ; } ) ? function ( it , key , D ) { var protoDesc = getDesc ( ObjectProto , key ) ; if ( protoDesc ) delete ObjectProto [ key ] ; setDesc ( it , key , D ) ; if ( protoDesc && it !== ObjectProto ) setDesc ( ObjectProto , key , protoDesc ) ; } : setDesc ; var wrap = function wrap ( tag ) { var sym = AllSymbols [ tag ] = _create ( $Symbol . prototype ) ; sym . _k = tag ; DESCRIPTORS && setter && setSymbolDesc ( ObjectProto , tag , { configurable : true , set : function set ( value ) { if ( has ( this , HIDDEN ) && has ( this [ HIDDEN ] , tag ) ) this [ HIDDEN ] [ tag ] = false ; setSymbolDesc ( this , tag , createDesc ( 1 , value ) ) ; } } ) ; return sym ; } ; var isSymbol = function isSymbol ( it ) { return ( typeof it === "undefined" ? "undefined" : babelHelpers . typeof ( it ) ) == 'symbol' ; } ; var $defineProperty = function defineProperty ( it , key , D ) { if ( D && has ( AllSymbols , key ) ) { if ( ! D . enumerable ) { if ( ! has ( it , HIDDEN ) ) setDesc ( it , HIDDEN , createDesc ( 1 , { } ) ) ; it [ HIDDEN ] [ key ] = true ; } else { if ( has ( it , HIDDEN ) && it [ HIDDEN ] [ key ] ) it [ HIDDEN ] [ key ] = false ; D = _create ( D , { enumerable : createDesc ( 0 , false ) } ) ; } return setSymbolDesc ( it , key , D ) ; } return setDesc ( it , key , D ) ; } ; var $defineProperties = function defineProperties ( it , P ) { anObject ( it ) ; var keys = enumKeys ( P = toIObject ( P ) ) , i = 0 , l = keys . length , key ; while ( l > i ) { $defineProperty ( it , key = keys [ i ++ ] , P [ key ] ) ; } return it ; } ; var $create = function create ( it , P ) { return P === undefined ? _create ( it ) : $defineProperties ( _create ( it ) , P ) ; } ; var $propertyIsEnumerable = function propertyIsEnumerable ( key ) { var E = isEnum . call ( this , key ) ; return E || ! has ( this , key ) || ! has ( AllSymbols , key ) || has ( this , HIDDEN ) && this [ HIDDEN ] [ key ] ? E : true ; } ; var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor ( it , key ) { var D = getDesc ( it = toIObject ( it ) , key ) ; if ( D && has ( AllSymbols , key ) && ! ( has ( it , HIDDEN ) && it [ HIDDEN ] [ key ] ) ) D . enumerable = true ; return D ; } ; var $getOwnPropertyNames = function getOwnPropertyNames ( it ) { var names = getNames ( toIObject ( it ) ) , result = [ ] , i = 0 , key ; while ( names . length > i ) { if ( ! has ( AllSymbols , key = names [ i ++ ] ) && key != HIDDEN ) result . push ( key ) ; } return result ; } ; var $getOwnPropertySymbols = function getOwnPropertySymbols ( it ) { var names = getNames ( toIObject ( it ) ) , result = [ ] , i = 0 , key ; while ( names . length > i ) { if ( has ( AllSymbols , key = names [ i ++ ] ) ) result . push ( AllSymbols [ key ] ) ; } return result ; } ; var $stringify = function stringify ( it ) { if ( it === undefined || isSymbol ( it ) ) return ; // IE8 returns string on undefined
var args = [ it ] , i = 1 , $$ = arguments , replacer , $replacer ; while ( $$ . length > i ) { args . push ( $$ [ i ++ ] ) ; } replacer = args [ 1 ] ; if ( typeof replacer == 'function' ) $replacer = replacer ; if ( $replacer || ! isArray ( replacer ) ) replacer = function replacer ( key , value ) { if ( $replacer ) value = $replacer . call ( this , key , value ) ; if ( ! isSymbol ( value ) ) return value ; } ; args [ 1 ] = replacer ; return _stringify . apply ( $JSON , args ) ; } ; var buggyJSON = $fails ( function ( ) { var S = $Symbol ( ) ; // MS Edge converts symbol values to JSON as {}
// WebKit converts symbol values to JSON as null
// V8 throws on boxed symbols
return _stringify ( [ S ] ) != '[null]' || _stringify ( { a : S } ) != '{}' || _stringify ( Object ( S ) ) != '{}' ; } ) ; // 19.4.1.1 Symbol([description])
if ( ! useNative ) { $Symbol = function _Symbol2 ( ) { if ( isSymbol ( this ) ) throw TypeError ( 'Symbol is not a constructor' ) ; return wrap ( uid ( arguments . length > 0 ? arguments [ 0 ] : undefined ) ) ; } ; $redef ( $Symbol . prototype , 'toString' , function toString ( ) { return this . _k ; } ) ; isSymbol = function isSymbol ( it ) { return it instanceof $Symbol ; } ; $ . create = $create ; $ . isEnum = $propertyIsEnumerable ; $ . getDesc = $getOwnPropertyDescriptor ; $ . setDesc = $defineProperty ; $ . setDescs = $defineProperties ; $ . getNames = $names . get = $getOwnPropertyNames ; $ . getSymbols = $getOwnPropertySymbols ; if ( DESCRIPTORS && ! _dereq _ ( 49 ) ) { $redef ( ObjectProto , 'propertyIsEnumerable' , $propertyIsEnumerable , true ) ; } } var symbolStatics = { // 19.4.2.1 Symbol.for(key)
'for' : function _for ( key ) { return has ( SymbolRegistry , key += '' ) ? SymbolRegistry [ key ] : SymbolRegistry [ key ] = $Symbol ( key ) ; } , // 19.4.2.5 Symbol.keyFor(sym)
keyFor : function keyFor ( key ) { return keyOf ( SymbolRegistry , key ) ; } , useSetter : function useSetter ( ) { setter = true ; } , useSimple : function useSimple ( ) { setter = false ; } } ; // 19.4.2.2 Symbol.hasInstance
// 19.4.2.3 Symbol.isConcatSpreadable
// 19.4.2.4 Symbol.iterator
// 19.4.2.6 Symbol.match
// 19.4.2.8 Symbol.replace
// 19.4.2.9 Symbol.search
// 19.4.2.10 Symbol.species
// 19.4.2.11 Symbol.split
// 19.4.2.12 Symbol.toPrimitive
// 19.4.2.13 Symbol.toStringTag
// 19.4.2.14 Symbol.unscopables
$ . each . call ( ( 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + 'species,split,toPrimitive,toStringTag,unscopables' ) . split ( ',' ) , function ( it ) { var sym = wks ( it ) ; symbolStatics [ it ] = useNative ? sym : wrap ( sym ) ; } ) ; setter = true ; $def ( $def . G + $def . W , { Symbol : $Symbol } ) ; $def ( $def . S , 'Symbol' , symbolStatics ) ; $def ( $def . S + $def . F * ! useNative , 'Object' , { // 19.1.2.2 Object.create(O [, Properties])
create : $create , // 19.1.2.4 Object.defineProperty(O, P, Attributes)
defineProperty : $defineProperty , // 19.1.2.3 Object.defineProperties(O, Properties)
defineProperties : $defineProperties , // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
getOwnPropertyDescriptor : $getOwnPropertyDescriptor , // 19.1.2.7 Object.getOwnPropertyNames(O)
getOwnPropertyNames : $getOwnPropertyNames , // 19.1.2.8 Object.getOwnPropertySymbols(O)
getOwnPropertySymbols : $getOwnPropertySymbols } ) ; // 24.3.2 JSON.stringify(value [, replacer [, space]])
$JSON && $def ( $def . S + $def . F * ( ! useNative || buggyJSON ) , 'JSON' , { stringify : $stringify } ) ; // 19.4.3.5 Symbol.prototype[@@toStringTag]
setToStringTag ( $Symbol , 'Symbol' ) ; // 20.2.1.9 Math[@@toStringTag]
setToStringTag ( Math , 'Math' , true ) ; // 24.3.3 JSON[@@toStringTag]
setToStringTag ( global . JSON , 'JSON' , true ) ; } , { "19" : 19 , "21" : 21 , "23" : 23 , "25" : 25 , "29" : 29 , "30" : 30 , "31" : 31 , "37" : 37 , "47" : 47 , "48" : 48 , "49" : 49 , "5" : 5 , "61" : 61 , "62" : 62 , "67" : 67 , "68" : 68 , "79" : 79 , "83" : 83 , "84" : 84 } ] , 171 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $ = _dereq _ ( 47 ) , redef = _dereq _ ( 62 ) , weak = _dereq _ ( 15 ) , isObject = _dereq _ ( 39 ) , has = _dereq _ ( 31 ) , frozenStore = weak . frozenStore , WEAK = weak . WEAK , isExtensible = Object . isExtensible || isObject , tmp = { } ; // 23.3 WeakMap Objects
var $WeakMap = _dereq _ ( 16 ) ( 'WeakMap' , function ( get ) { return function WeakMap ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ; } , { // 23.3.3.3 WeakMap.prototype.get(key)
get : function get ( key ) { if ( isObject ( key ) ) { if ( ! isExtensible ( key ) ) return frozenStore ( this ) . get ( key ) ; if ( has ( key , WEAK ) ) return key [ WEAK ] [ this . _i ] ; } } , // 23.3.3.5 WeakMap.prototype.set(key, value)
set : function set ( key , value ) { return weak . def ( this , key , value ) ; } } , weak , true , true ) ; // IE11 WeakMap frozen keys fix
if ( new $WeakMap ( ) . set ( ( Object . freeze || Object ) ( tmp ) , 7 ) . get ( tmp ) != 7 ) { $ . each . call ( [ 'delete' , 'has' , 'get' , 'set' ] , function ( key ) { var proto = $WeakMap . prototype , method = proto [ key ] ; redef ( proto , key , function ( a , b ) { // store frozen objects on leaky map
if ( isObject ( a ) && ! isExtensible ( a ) ) { var result = frozenStore ( this ) [ key ] ( a , b ) ; return key == 'set' ? this : result ; // store all the rest on native weakmap
} return method . call ( this , a , b ) ; } ) ; } ) ; } } , { "15" : 15 , "16" : 16 , "31" : 31 , "39" : 39 , "47" : 47 , "62" : 62 } ] , 172 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var weak = _dereq _ ( 15 ) ; // 23.4 WeakSet Objects
_dereq _ ( 16 ) ( 'WeakSet' , function ( get ) { return function WeakSet ( ) { return get ( this , arguments . length > 0 ? arguments [ 0 ] : undefined ) ; } ; } , { // 23.4.3.1 WeakSet.prototype.add(value)
add : function add ( value ) { return weak . def ( this , value , true ) ; } } , weak , false , true ) ; } , { "15" : 15 , "16" : 16 } ] , 173 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $def = _dereq _ ( 19 ) , $includes = _dereq _ ( 8 ) ( true ) ; $def ( $def . P , 'Array' , { // https://github.com/domenic/Array.prototype.includes
includes : function includes ( el /*, fromIndex = 0 */ ) { return $includes ( this , el , arguments . length > 1 ? arguments [ 1 ] : undefined ) ; } } ) ; _dereq _ ( 4 ) ( 'includes' ) ; } , { "19" : 19 , "4" : 4 , "8" : 8 } ] , 174 : [ function ( _dereq _ , module , exports ) { // https://github.com/DavidBruant/Map-Set.prototype.toJSON
var $def = _dereq _ ( 19 ) ; $def ( $def . P , 'Map' , { toJSON : _dereq _ ( 14 ) ( 'Map' ) } ) ; } , { "14" : 14 , "19" : 19 } ] , 175 : [ function ( _dereq _ , module , exports ) { // http://goo.gl/XkBrjD
var $def = _dereq _ ( 19 ) , $entries = _dereq _ ( 57 ) ( true ) ; $def ( $def . S , 'Object' , { entries : function entries ( it ) { return $entries ( it ) ; } } ) ; } , { "19" : 19 , "57" : 57 } ] , 176 : [ function ( _dereq _ , module , exports ) { // https://gist.github.com/WebReflection/9353781
var $ = _dereq _ ( 47 ) , $def = _dereq _ ( 19 ) , ownKeys = _dereq _ ( 58 ) , toIObject = _dereq _ ( 79 ) , createDesc = _dereq _ ( 61 ) ; $def ( $def . S , 'Object' , { getOwnPropertyDescriptors : function getOwnPropertyDescriptors ( object ) { var O = toIObject ( object ) , setDesc = $ . setDesc , getDesc = $ . getDesc , keys = ownKeys ( O ) , result = { } , i = 0 , key , D ; while ( keys . length > i ) { D = getDesc ( O , key = keys [ i ++ ] ) ; if ( key in result ) setDesc ( result , key , createDesc ( 0 , D ) ) ; else result [ key ] = D ; } return result ; } } ) ; } , { "19" : 19 , "47" : 47 , "58" : 58 , "61" : 61 , "79" : 79 } ] , 177 : [ function ( _dereq _ , module , exports ) { // http://goo.gl/XkBrjD
var $def = _dereq _ ( 19 ) , $values = _dereq _ ( 57 ) ( false ) ; $def ( $def . S , 'Object' , { values : function values ( it ) { return $values ( it ) ; } } ) ; } , { "19" : 19 , "57" : 57 } ] , 178 : [ function ( _dereq _ , module , exports ) { // https://github.com/benjamingr/RexExp.escape
var $def = _dereq _ ( 19 ) , $re = _dereq _ ( 63 ) ( /[\\^$*+?.()|[\]{}]/g , '\\$&' ) ; $def ( $def . S , 'RegExp' , { escape : function escape ( it ) { return $re ( it ) ; } } ) ; } , { "19" : 19 , "63" : 63 } ] , 179 : [ function ( _dereq _ , module , exports ) { // https://github.com/DavidBruant/Map-Set.prototype.toJSON
var $def = _dereq _ ( 19 ) ; $def ( $def . P , 'Set' , { toJSON : _dereq _ ( 14 ) ( 'Set' ) } ) ; } , { "14" : 14 , "19" : 19 } ] , 180 : [ function ( _dereq _ , module , exports ) { // https://github.com/mathiasbynens/String.prototype.at
'use strict' ; var $def = _dereq _ ( 19 ) , $at = _dereq _ ( 71 ) ( true ) ; $def ( $def . P , 'String' , { at : function at ( pos ) { return $at ( this , pos ) ; } } ) ; } , { "19" : 19 , "71" : 71 } ] , 181 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $def = _dereq _ ( 19 ) , $pad = _dereq _ ( 73 ) ; $def ( $def . P , 'String' , { padLeft : function padLeft ( maxLength /*, fillString = ' ' */ ) { return $pad ( this , maxLength , arguments . length > 1 ? arguments [ 1 ] : undefined , true ) ; } } ) ; } , { "19" : 19 , "73" : 73 } ] , 182 : [ function ( _dereq _ , module , exports ) { 'use strict' ; var $def = _dereq _ ( 19 ) , $pad = _dereq _ ( 73 ) ; $def ( $def . P , 'String' , { padRight : function padRight ( maxLength /*, fillString = ' ' */ ) { return $pad ( this , maxLength , arguments . length > 1 ? arguments [ 1 ] : undefined , false ) ; } } ) ; } , { "19" : 19 , "73" : 73 } ] , 183 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
_dereq _ ( 75 ) ( 'trimLeft' , function ( $trim ) { return function trimLeft ( ) { return $trim ( this , 1 ) ; } ; } ) ; } , { "75" : 75 } ] , 184 : [ function ( _dereq _ , module , exports ) { 'use strict' ; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
_dereq _ ( 75 ) ( 'trimRight' , function ( $trim ) { return function trimRight ( ) { return $trim ( this , 2 ) ; } ; } ) ; } , { "75" : 75 } ] , 185 : [ function ( _dereq _ , module , exports ) { // JavaScript 1.6 / Strawman array statics shim
var $ = _dereq _ ( 47 ) , $def = _dereq _ ( 19 ) , $ctx = _dereq _ ( 18 ) , $Array = _dereq _ ( 17 ) . Array || Array , statics = { } ; var setStatics = function setStatics ( keys , length ) { $ . each . call ( keys . split ( ',' ) , function ( key ) { if ( length == undefined && key in $Array ) statics [ key ] = $Array [ key ] ; else if ( key in [ ] ) statics [ key ] = $ctx ( Function . call , [ ] [ key ] , length ) ; } ) ; } ; setStatics ( 'pop,reverse,shift,keys,values,entries' , 1 ) ; setStatics ( 'indexOf,every,some,forEach,map,filter,find,findIndex,includes' , 3 ) ; setStatics ( 'join,slice,concat,push,splice,unshift,sort,lastIndexOf,' + 'reduce,reduceRight,copyWithin,fill' ) ; $def ( $def . S , 'Array' , statics ) ; } , { "17" : 17 , "18" : 18 , "19" : 19 , "47" : 47 } ] , 186 : [ function ( _dereq _ , module , exports ) { _dereq _ ( 92 ) ; var global = _dereq _ ( 30 ) , hide = _dereq _ ( 32 ) , Iterators = _dereq _ ( 46 ) , ITERATOR = _dereq _ ( 84 ) ( 'iterator' ) , NL = global . NodeList , HTC = global . HTMLCollection , NLProto = NL && NL . prototype , HTCProto = HTC && HTC . prototype , ArrayValues = Iterators . NodeList = Iterators . HTMLCollection = Iterators . Array ; if ( NL && ! ( ITERATOR in NLProto ) ) hide ( NLProto , ITERATOR , ArrayValues ) ; if ( HTC && ! ( ITERATOR in HTCProto ) ) hide ( HTCProto , ITERATOR , ArrayValues ) ; } , { "30" : 30 , "32" : 32 , "46" : 46 , "84" : 84 , "92" : 92 } ] , 187 : [ function ( _dereq _ , module , exports ) { var $def = _dereq _ ( 19 ) , $task = _dereq _ ( 76 ) ; $def ( $def . G + $def . B , { setImmediate : $task . set , clearImmediate : $task . clear } ) ; } , { "19" : 19 , "76" : 76 } ] , 188 : [ function ( _dereq _ , module , exports ) { // ie9- setTimeout & setInterval additional parameters fix
var global = _dereq _ ( 30 ) , $def = _dereq _ ( 19 ) , invoke = _dereq _ ( 34 ) , partial = _dereq _ ( 59 ) , navigator = global . navigator , MSIE = ! ! navigator && /MSIE .\./ . test ( navigator . userAgent ) ; // <- dirty ie9- check
var wrap = function wrap ( set ) { return MSIE ? function ( fn , time /*, ...args */ ) { return set ( invoke ( partial , [ ] . slice . call ( arguments , 2 ) , typeof fn == 'function' ? fn : Function ( fn ) ) , time ) ; } : set ; } ; $def ( $def . G + $def . B + $def . F * MSIE , { setTimeout : wrap ( global . setTimeout ) , setInterval : wrap ( global . setInterval ) } ) ; } , { "19" : 19 , "30" : 30 , "34" : 34 , "59" : 59 } ] , 189 : [ function ( _dereq _ , module , exports ) { _dereq _ ( 86 ) ; _dereq _ ( 170 ) ; _dereq _ ( 125 ) ; _dereq _ ( 133 ) ; _dereq _ ( 137 ) ; _dereq _ ( 138 ) ; _dereq _ ( 126 ) ; _dereq _ ( 136 ) ; _dereq _ ( 135 ) ; _dereq _ ( 131 ) ; _dereq _ ( 132 ) ; _dereq _ ( 130 ) ; _dereq _ ( 127 ) ; _dereq _ ( 129 ) ; _dereq _ ( 134 ) ; _dereq _ ( 128 ) ; _dereq _ ( 96 ) ; _dereq _ ( 95 ) ; _dereq _ ( 115 ) ; _dereq _ ( 116 ) ; _dereq _ ( 117 ) ; _dereq _ ( 118 ) ; _dereq _ ( 119 ) ; _dereq _ ( 120 ) ; _dereq _ ( 121 ) ; _dereq _ ( 122 ) ; _dereq _ ( 123 ) ; _dereq _ ( 124 ) ; _dereq _ ( 98 ) ; _dereq _ ( 99 ) ; _dereq _ ( 100 ) ; _dereq _ ( 101 ) ; _dereq _ ( 102 ) ; _dereq _ ( 103 ) ; _dereq _ ( 104 ) ; _dereq _ ( 105 ) ; _dereq _ ( 106 ) ; _dereq _ ( 107 ) ; _dereq _ ( 108 ) ; _dereq _ ( 109 ) ; _dereq _ ( 110 ) ; _dereq _ ( 111 ) ; _dereq _ ( 112 ) ; _dereq _ ( 113 ) ; _dereq _ ( 114 ) ; _dereq _ ( 163 ) ; _dereq _ ( 166 ) ; _dereq _ ( 169 ) ; _dereq _ ( 165 ) ; _dereq _ ( 161 ) ; _dereq _ ( 162 ) ; _dereq _ ( 164 ) ; _dereq _ ( 167 ) ; _dereq _ ( 168 ) ; _dereq _ ( 91 ) ; _dereq _ ( 93 ) ; _dereq _ ( 92 ) ; _dereq _ ( 94 ) ; _dereq _ ( 87 ) ; _dereq _ ( 88 ) ; _dereq _ ( 90 ) ; _dereq _ ( 89 ) ; _dereq _ ( 154 ) ; _dereq _ ( 155 ) ; _dereq _ ( 156 ) ; _dereq _ ( 157 ) ; _dereq _ ( 158 ) ; _dereq _ ( 159 ) ; _dereq _ ( 139 ) ; _dereq _ ( 97 ) ; _dereq _ ( 160 ) ; _dereq _ ( 171 ) ; _dereq _ ( 172 ) ; _dereq _ ( 140 ) ; _dereq _ ( 141 ) ; _dereq _ ( 142 ) ; _dereq _ ( 143 ) ; _dereq _ ( 144 ) ; _dereq _ ( 147 ) ; _dereq _ ( 145 ) ; _dereq _ ( 146 ) ; _dereq _ ( 148 ) ; _dereq _ ( 149 ) ; _dereq _ ( 150 ) ; _dereq _ ( 151 ) ; _dereq _ ( 153 ) ; _dereq _ ( 152 ) ; _dereq _ ( 173 ) ; _dereq _ ( 180 ) ; _dereq _ ( 181 ) ; _dereq _ ( 182 ) ; _dereq _ ( 183 ) ; _dereq _ ( 184 ) ; _dereq _ ( 178 ) ; _dereq _ ( 176 ) ; _dereq _ ( 177 ) ; _dereq _ ( 175 ) ; _dereq _ ( 174 ) ; _dereq _ ( 179 ) ; _dereq _ ( 185 ) ; _dereq _ ( 188 ) ; _dereq _ ( 187 ) ; _dereq _ ( 186 ) ; module . exports = _dereq _ ( 17 ) ; } , { "100" : 100 , "101" : 101 , "102" : 102 , "103" : 103 , "104" : 104 , "105" : 105 , "106" : 106 , "107" : 107 , "108" : 108 , "109" : 109 , "110" : 110 , "111" : 111 , "112" : 112 , "113" : 113 , "114" : 114 , "115" : 115 , "116" : 116 , "117" : 117 , "118" : 118 , "119" : 119 , "120" : 120 , "121" : 121 , "122" : 122 , "123" : 123 , "124" : 124 , "125" : 125 , "126" : 126 , "127" : 127 , "128" : 128 , "129" : 129 , "130" : 130 , "131" : 131 , "132" : 132 , "133" : 133 , "134" : 134 , "135" : 135 , "136" : 136 , "137" : 137 , "138" : 138 , "139" : 139 , "140" : 140 , "141" : 141 , "142" : 142 , "143" : 143 , "144" : 144 , "145" : 145 , "146" : 146 , "147" : 147 , "148" : 148 , "149" : 149 , "150" : 150 , "151" : 151 , "152" : 152 , "153" : 153 , "154" : 154 , "155" : 155 , "156" : 156 , "157" : 157 , "158" : 158 , "159" : 159 , "160" : 160 , "161" : 161 , "162" : 162 , "163" : 163 , "164" : 164 , "165" : 165 , "166" : 166 , "167" : 167 , "168" : 168 , "169" : 169 , "17" : 17 , "170" : 170 , "171" : 171 , "172" : 172 , "173" : 173 , "174" : 174 , "175" : 175 , "176" : 176 , "177" : 177 , "178" : 178 , "179" : 179 , "180" : 180 , "181" : 181 , "182" : 182 , "183" : 183 , "184" : 184 , "185" : 185 , "186" : 186 , "187" : 187 , "188" : 188 , "86" : 86 , "87" : 87 , "88" : 88 , "89" : 89 , "90" : 90 , "91" : 91 , "92" : 92 , "93" : 93 , "94" : 94 , "95" : 95 , "96" : 96 , "97" : 97 , "98" : 98 , "99" : 99 } ] , 190 : [ function ( _dereq _ , module , exports ) { ( function ( global ) { / * *
* Copyright ( c ) 2014 , Facebook , Inc .
* All rights reserved .
*
* This source code is licensed under the BSD - style license found in the
* https : //raw.github.com/facebook/regenerator/master/LICENSE file. An
* additional grant of patent rights can be found in the PATENTS file in
* the same directory .
* /!function(global){"use strict";var hasOwn=Object.prototype.hasOwnProperty;var undefined; / / More compressible than void 0.
var iteratorSymbol = typeof Symbol === "function" && Symbol . iterator || "@@iterator" ; var inModule = ( typeof module === "undefined" ? "undefined" : babelHelpers . typeof ( module ) ) === "object" ; var runtime = global . regeneratorRuntime ; if ( runtime ) { if ( inModule ) { // If regeneratorRuntime is defined globally and we're in a module,
// make the exports object identical to regeneratorRuntime.
module . exports = runtime ; } // Don't bother evaluating the rest of this file if the runtime was
// already defined globally.
return ; } // Define the runtime globally (as expected by generated code) as either
// module.exports (if we're in a module) or a new, empty object.
runtime = global . regeneratorRuntime = inModule ? module . exports : { } ; function wrap ( innerFn , outerFn , self , tryLocsList ) { // If outerFn provided, then outerFn.prototype instanceof Generator.
var generator = Object . create ( ( outerFn || Generator ) . prototype ) ; var context = new Context ( tryLocsList || [ ] ) ; // The ._invoke method unifies the implementations of the .next,
// .throw, and .return methods.
generator . _invoke = makeInvokeMethod ( innerFn , self , context ) ; return generator ; } runtime . wrap = wrap ; // Try/catch helper to minimize deoptimizations. Returns a completion
// record like context.tryEntries[i].completion. This interface could
// have been (and was previously) designed to take a closure to be
// invoked without arguments, but in all the cases we care about we
// already have an existing method we want to call, so there's no need
// to create a new function object. We can even get away with assuming
// the method takes exactly one argument, since that happens to be true
// in every case, so we don't have to touch the arguments object. The
// only additional allocation required is the completion record, which
// has a stable shape and so hopefully should be cheap to allocate.
function tryCatch ( fn , obj , arg ) { try { return { type : "normal" , arg : fn . call ( obj , arg ) } ; } catch ( err ) { return { type : "throw" , arg : err } ; } } var GenStateSuspendedStart = "suspendedStart" ; var GenStateSuspendedYield = "suspendedYield" ; var GenStateExecuting = "executing" ; var GenStateCompleted = "completed" ; // Returning this object from the innerFn has the same effect as
// breaking out of the dispatch switch statement.
var ContinueSentinel = { } ; // Dummy constructor functions that we use as the .constructor and
// .constructor.prototype properties for functions that return Generator
// objects. For full spec compliance, you may wish to configure your
// minifier not to mangle the names of these two functions.
function Generator ( ) { } function GeneratorFunction ( ) { } function GeneratorFunctionPrototype ( ) { } var Gp = GeneratorFunctionPrototype . prototype = Generator . prototype ; GeneratorFunction . prototype = Gp . constructor = GeneratorFunctionPrototype ; GeneratorFunctionPrototype . constructor = GeneratorFunction ; GeneratorFunction . displayName = "GeneratorFunction" ; // Helper for defining the .next, .throw, and .return methods of the
// Iterator interface in terms of a single ._invoke method.
function defineIteratorMethods ( prototype ) { [ "next" , "throw" , "return" ] . forEach ( function ( method ) { prototype [ method ] = function ( arg ) { return this . _invoke ( method , arg ) ; } ; } ) ; } runtime . isGeneratorFunction = function ( genFun ) { var ctor = typeof genFun === "function" && genFun . constructor ; return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can
// do is to check its .name property.
( ctor . displayName || ctor . name ) === "GeneratorFunction" : false ; } ; runtime . mark = function ( genFun ) { if ( Object . setPrototypeOf ) { Object . setPrototypeOf ( genFun , GeneratorFunctionPrototype ) ; } else { genFun . _ _proto _ _ = GeneratorFunctionPrototype ; } genFun . prototype = Object . create ( Gp ) ; return genFun ; } ; // Within the body of any async function, `await x` is transformed to
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
// `value instanceof AwaitArgument` to determine if the yielded value is
// meant to be awaited. Some may consider the name of this method too
// cutesy, but they are curmudgeons.
runtime . awrap = function ( arg ) { return new AwaitArgument ( arg ) ; } ; function AwaitArgument ( arg ) { this . arg = arg ; } function AsyncIterator ( generator ) { // This invoke function is written in a style that assumes some
// calling function (or Promise) will handle exceptions.
function invoke ( method , arg ) { var result = generator [ method ] ( arg ) ; var value = result . value ; return value instanceof AwaitArgument ? Promise . resolve ( value . arg ) . then ( invokeNext , invokeThrow ) : Promise . resolve ( value ) . then ( function ( unwrapped ) { // When a yielded Promise is resolved, its final value becomes
// the .value of the Promise<{value,done}> result for the
// current iteration. If the Promise is rejected, however, the
// result for this iteration will be rejected with the same
// reason. Note that rejections of yielded Promises are not
// thrown back into the generator function, as is the case
// when an awaited Promise is rejected. This difference in
// behavior between yield and await is important, because it
// allows the consumer to decide what to do with the yielded
// rejection (swallow it and continue, manually .throw it back
// into the generator, abandon iteration, whatever). With
// await, by contrast, there is no opportunity to examine the
// rejection reason outside the generator function, so the
// only option is to throw it from the await expression, and
// let the generator function handle the exception.
result . value = unwrapped ; return result ; } ) ; } if ( ( typeof process === "undefined" ? "undefined" : babelHelpers . typeof ( process ) ) === "object" && process . domain ) { invoke = process . domain . bind ( invoke ) ; } var invokeNext = invoke . bind ( generator , "next" ) ; var invokeThrow = invoke . bind ( generator , "throw" ) ; var invokeReturn = invoke . bind ( generator , "return" ) ; var previousPromise ; function enqueue ( method , arg ) { function callInvokeWithMethodAndArg ( ) { return invoke ( method , arg ) ; } return previousPromise = // If enqueue has been called before, then we want to wait until
// all previous Promises have been resolved before calling invoke,
// so that results are always delivered in the correct order. If
// enqueue has not been called before, then it is important to
// call invoke immediately, without waiting on a callback to fire,
// so that the async generator function has the opportunity to do
// any necessary setup in a predictable way. This predictability
// is why the Promise constructor synchronously invokes its
// executor callback, and why async functions synchronously
// execute code before the first await. Since we implement simple
// async functions in terms of async generators, it is especially
// important to get this right, even though it requires care.
previousPromise ? previousPromise . then ( callInvokeWithMethodAndArg , // Avoid propagating failures to Promises returned by later
// invocations of the iterator.
callInvokeWithMethodAndArg ) : new Promise ( function ( resolve ) { resolve ( callInvokeWithMethodAndArg ( ) ) ; } ) ; } // Define the unified helper method that is used to implement .next,
// .throw, and .return (see defineIteratorMethods).
this . _invoke = enqueue ; } defineIteratorMethods ( AsyncIterator . prototype ) ; // Note that simple async functions are implemented on top of
// AsyncIterator objects; they just return a Promise for the value of
// the final result produced by the iterator.
runtime . async = function ( innerFn , outerFn , self , tryLocsList ) { var iter = new AsyncIterator ( wrap ( innerFn , outerFn , self , tryLocsList ) ) ; return runtime . isGeneratorFunction ( outerFn ) ? iter // If outerFn is a generator, return the full iterator.
: iter . next ( ) . then ( function ( result ) { return result . done ? result . value : iter . next ( ) ; } ) ; } ; function makeInvokeMethod ( innerFn , self , context ) { var state = GenStateSuspendedStart ; return function invoke ( method , arg ) { if ( state === GenStateExecuting ) { throw new Error ( "Generator is already running" ) ; } if ( state === GenStateCompleted ) { if ( method === "throw" ) { throw arg ; } // Be forgiving, per 25.3.3.3.3 of the spec:
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
return doneResult ( ) ; } while ( true ) { var delegate = context . delegate ; if ( delegate ) { if ( method === "return" || method === "throw" && delegate . iterator [ method ] === undefined ) { // A return or throw (when the delegate iterator has no throw
// method) always terminates the yield* loop.
context . delegate = null ; // If the delegate iterator has a return method, give it a
// chance to clean up.
var returnMethod = delegate . iterator [ "return" ] ; if ( returnMethod ) { var record = tryCatch ( returnMethod , delegate . iterator , arg ) ; if ( record . type === "throw" ) { // If the return method threw an exception, let that
// exception prevail over the original return or throw.
method = "throw" ; arg = record . arg ; continue ; } } if ( method === "return" ) { // Continue with the outer return, now that the delegate
// iterator has been terminated.
continue ; } } var record = tryCatch ( delegate . iterator [ method ] , delegate . iterator , arg ) ; if ( record . type === "throw" ) { context . delegate = null ; // Like returning generator.throw(uncaught), but without the
// overhead of an extra function call.
method = "throw" ; arg = record . arg ; continue ; } // Delegate generator ran and handled its own exceptions so
// regardless of what the method was, we continue as if it is
// "next" with an undefined arg.
method = "next" ; arg = undefined ; var info = record . arg ; if ( info . done ) { context [ delegate . resultName ] = info . value ; context . next = delegate . nextLoc ; } else { state = GenStateSuspendedYield ; return info ; } context . delegate = null ; } if ( method === "next" ) { context . _sent = arg ; if ( state === GenStateSuspendedYield ) { context . sent = arg ; } else { context . sent = undefined ; } } else if ( method === "throw" ) { if ( state === GenStateSuspendedStart ) { state = GenStateCompleted ; throw arg ; } if ( context . dispatchException ( arg ) ) { // If the dispatched exception was caught by a catch block,
// then let that catch block handle the exception normally.
method = "next" ; arg = undefined ; } } else if ( method === "return" ) { context . abrupt ( "return" , arg ) ; } state = GenStateExecuting ; var record = tryCatch ( innerFn , self , context ) ; if ( record . type === "normal" ) { // If an exception is thrown from innerFn, we leave state ===
// GenStateExecuting and loop back for another invocation.
state = context . done ? GenStateCompleted : GenStateSuspendedYield ; var info = { value : record . arg , done : context . done } ; if ( record . arg === ContinueSentinel ) { if ( context . delegate && method === "next" ) { // Deliberately forget the last sent value so that we don't
// accidentally pass it on to the delegate.
arg = undefined ; } } else { return info ; } } else if ( record . type === "throw" ) { state = GenStateCompleted ; // Dispatch the exception by looping back around to the
// context.dispatchException(arg) call above.
method = "throw" ; arg = record . arg ; } } } ; } // Define Generator.prototype.{next,throw,return} in terms of the
// unified ._invoke helper method.
defineIteratorMethods ( Gp ) ; Gp [ iteratorSymbol ] = function ( ) { return this ; } ; Gp . toString = function ( ) { return "[object Generator]" ; } ; function pushTryEntry ( locs ) { var entry = { tryLoc : locs [ 0 ] } ; if ( 1 in locs ) { entry . catchLoc = locs [ 1 ] ; } if ( 2 in locs ) { entry . finallyLoc = locs [ 2 ] ; entry . afterLoc = locs [ 3 ] ; } this . tryEntries . push ( entry ) ; } function resetTryEntry ( entry ) { var record = entry . completion || { } ; record . type = "normal" ; delete record . arg ; entry . completion = record ; } function Context ( tryLocsList ) { // The root entry object (effectively a try statement without a catch
// or a finally block) gives us a place to store values thrown from
// locations where there is no enclosing try statement.
this . tryEntries = [ { tryLoc : "root" } ] ; tryLocsList . forEach ( pushTryEntry , this ) ; this . reset ( true ) ; } runtime . keys = function ( object ) { var keys = [ ] ; for ( var key in object ) { keys . push ( key ) ; } keys . reverse ( ) ; // Rather than returning an object with a next method, we keep
// things simple and return the next function itself.
return function next ( ) { while ( keys . length ) { var key = keys . pop ( ) ; if ( key in object ) { next . value = key ; next . done = false ; return next ; } } // To avoid creating an additional object, we just hang the .value
// and .done properties off the next function object itself. This
// also ensures that the minifier will not anonymize the function.
next . done = true ; return next ; } ; } ; function values ( iterable ) { if ( iterable ) { var iteratorMethod = iterable [ iteratorSymbol ] ; if ( iteratorMethod ) { return iteratorMethod . call ( iterable ) ; } if ( typeof iterable . next === "function" ) { return iterable ; } if ( ! isNaN ( iterable . length ) ) { var i = - 1 , next = function next ( ) { while ( ++ i < iterable . length ) { if ( hasOwn . call ( iterable , i ) ) { next . value = iterable [ i ] ; next . done = false ; return next ; } } next . value = undefined ; next . done = true ; return next ; } ; return next . next = next ; } } // Return an iterator with no values.
return { next : doneResult } ; } runtime . values = values ; function doneResult ( ) { return { value : undefined , done : true } ; } Context . prototype = { constructor : Context , reset : function reset ( skipTempReset ) { this . prev = 0 ; this . next = 0 ; this . sent = undefined ; this . done = false ; this . delegate = null ; this . tryEntries . forEach ( resetTryEntry ) ; if ( ! skipTempReset ) { for ( var name in this ) { // Not sure about the optimal order of these conditions:
if ( name . charAt ( 0 ) === "t" && hasOwn . call ( this , name ) && ! isNaN ( + name . slice ( 1 ) ) ) { this [ name ] = undefined ; } } } } , stop : function stop ( ) { this . done = true ; var rootEntry = this . tryEntries [ 0 ] ; var rootRecord = rootEntry . completion ; if ( rootRecord . type === "throw" ) { throw rootRecord . arg ; } return this . rval ; } , dispatchException : function dispatchException ( exception ) { if ( this . done ) { throw exception ; } var context = this ; function handle ( loc , caught ) { record . type = "throw" ; record . arg = exception ; context . next = loc ; return ! ! caught ; } for ( var i = this . tryEntries . length - 1 ; i >= 0 ; -- i ) { var entry = this . tryEntries [ i ] ; var record = entry . completion ; if ( entry . tryLoc === "root" ) { // Exception thrown outside of any try block that could handle
// it, so set the completion value of the entire function to
// throw the exception.
return handle ( "end" ) ; } if ( entry . tryLoc <= this . prev ) { var hasCatch = hasOwn . call ( entry , "catchLoc" ) ; var hasFinally = hasOwn . call ( entry , "finallyLoc" ) ; if ( hasCatch && hasFinally ) { if ( this . prev < entry . catchLoc ) { return handle ( entry . catchLoc , true ) ; } else if ( this . prev < entry . finallyLoc ) { return handle ( entry . finallyLoc ) ; } } else if ( hasCatch ) { if ( this . prev < entry . catchLoc ) { return handle ( entry . catchLoc , true ) ; } } else if ( hasFinally ) { if ( this . prev < entry . finallyLoc ) { return handle ( entry . finallyLoc ) ; } } else { throw new Error ( "try statement without catch or finally" ) ; } } } } , abrupt : function abrupt ( type , arg ) { for ( var i = this . tryEntries . length - 1 ; i >= 0 ; -- i ) { var entry = this . tryEntries [ i ] ; if ( entry . tryLoc <= this . prev && hasOwn . call ( entry , "finallyLoc" ) && this . prev < entry . finallyLoc ) { var finallyEntry = entry ; break ; } } if ( finallyEntry && ( type === "break" || type === "continue" ) && finallyEntry . tryLoc <= arg && arg <= finallyEntry . finallyLoc ) { // Ignore the finally entry if control is not jumping to a
// location outside the try/catch block.
finallyEntry = null ; } var record = finallyEntry ? finallyEntry . completion : { } ; record . type = type ; record . arg = arg ; if ( finallyEntry ) { this . next = finallyEntry . finallyLoc ; } else { this . complete ( record ) ; } return ContinueSentinel ; } , complete : function complete ( record , afterLoc ) { if ( record . type === "throw" ) { throw record . arg ; } if ( record . type === "break" || record . type === "continue" ) { this . next = record . arg ; } else if ( record . type === "return" ) { this . rval = record . arg ; this . next = "end" ; } else if ( record . type === "normal" && afterLoc ) { this . next = afterLoc ; } } , finish : function finish ( finallyLoc ) { for ( var i = this . tryEntries . length - 1 ; i >= 0 ; -- i ) { var entry = this . tryEntries [ i ] ; if ( entry . finallyLoc === finallyLoc ) { this . complete ( entry . completion , entry . afterLoc ) ; resetTryEntry ( entry ) ; return ContinueSentinel ; } } } , "catch" : function _catch ( tryLoc ) { for ( var i = this . tryEntries . length - 1 ; i >= 0 ; -- i ) { var entry = this . tryEntries [ i ] ; if ( entry . tryLoc === tryLoc ) { var record = entry . completion ; if ( record . type === "throw" ) { var thrown = record . arg ; resetTryEntry ( entry ) ; } return thrown ; } } // The context.catch method must only be called with a location
// argument that corresponds to a known catch block.
throw new Error ( "illegal catch attempt" ) ; } , delegateYield : function delegateYield ( iterable , resultName , nextLoc ) { this . delegate = { iterator : values ( iterable ) , resultName : resultName , nextLoc : nextLoc } ; return ContinueSentinel ; } } ; } ( // Among the various tricks for obtaining a reference to the global
// object, this seems to be the most reliable technique that does not
// use indirect eval (which violates Content Security Policy).
( typeof global === "undefined" ? "undefined" : babelHelpers . typeof ( global ) ) === "object" ? global : ( typeof window === "undefined" ? "undefined" : babelHelpers . typeof ( window ) ) === "object" ? window : ( typeof self === "undefined" ? "undefined" : babelHelpers . typeof ( self ) ) === "object" ? self : this ) ; } ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } ) ; } , { } ] } , { } , [ 1 ] ) ;
var Util = function ( ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Private TransitionEnd Helpers
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var transitionEnd = false ;
var _transitionEndSelector = '' ;
var TransitionEndEvent = {
WebkitTransition : 'webkitTransitionEnd' ,
MozTransition : 'transitionend' ,
OTransition : 'oTransitionEnd otransitionend' ,
transition : 'transitionend'
} ;
function transitionEndTest ( ) {
if ( window . QUnit ) {
return false ;
}
var el = document . createElement ( 'mdb' ) ;
for ( var name in TransitionEndEvent ) {
if ( el . style [ name ] !== undefined ) {
return TransitionEndEvent [ name ] ; // { end: TransitionEndEvent[name] }
}
}
return false ;
}
function setTransitionEndSupport ( ) {
transitionEnd = transitionEndTest ( ) ;
// generate a concatenated transition end event selector
for ( var name in TransitionEndEvent ) {
_transitionEndSelector += ' ' + TransitionEndEvent [ name ] ;
}
}
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Public Util Api
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Util = {
transitionEndSupported : function transitionEndSupported ( ) {
return transitionEnd ;
} ,
transitionEndSelector : function transitionEndSelector ( ) {
return _transitionEndSelector ;
} ,
isChar : function isChar ( event ) {
if ( typeof event . which === 'undefined' ) {
return true ;
} else if ( typeof event . which === 'number' && event . which > 0 ) {
return ! event . ctrlKey && ! event . metaKey && ! event . altKey && event . which !== 8 // backspace
&& event . which !== 9 // tab
&& event . which !== 13 // enter
&& event . which !== 16 // shift
&& event . which !== 17 // ctrl
&& event . which !== 20 // caps lock
&& event . which !== 27 // escape
;
}
return false ;
} ,
assert : function assert ( $element , invalidTest , message ) {
if ( invalidTest ) {
if ( ! $element === undefined ) {
$element . css ( 'border' , '1px solid red' ) ;
}
console . error ( message , $element ) ; // eslint-disable-line no-console
throw message ;
}
} ,
describe : function describe ( $element ) {
if ( $element === undefined ) {
return 'undefined' ;
} else if ( $element . length === 0 ) {
return '(no matching elements)' ;
}
return $element [ 0 ] . outerHTML . split ( '>' ) [ 0 ] + '>' ;
}
} ;
setTransitionEndSupport ( ) ;
return Util ;
} ( jQuery ) ;
var Base = function ( $ ) {
var ClassName = {
MDB _FORM _GROUP : 'mdb-form-group' ,
IS _FILLED : 'is-filled' ,
IS _FOCUSED : 'is-focused'
} ;
var Selector = {
MDB _FORM _GROUP : '.' + ClassName . MDB _FORM _GROUP
} ;
var Default = { } ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Base = function ( ) {
/ * *
*
* @ param element
* @ param config
* @ param properties - anything that needs to be set as this [ key ] = value . Works around the need to call ` super ` before using ` this `
* /
function Base ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , Base ) ;
this . $element = $element ;
this . config = $ . extend ( true , { } , Default , config ) ;
// set properties for use in the constructor initialization
for ( var key in properties ) {
this [ key ] = properties [ key ] ;
}
}
babelHelpers . createClass ( Base , [ {
key : 'dispose' ,
value : function dispose ( dataKey ) {
$ . removeData ( this . $element , dataKey ) ;
this . $element = null ;
this . config = null ;
}
// ------------------------------------------------------------------------
// protected
} , {
key : 'addFormGroupFocus' ,
value : function addFormGroupFocus ( ) {
if ( ! this . $element . prop ( 'disabled' ) ) {
this . $mdbFormGroup . addClass ( ClassName . IS _FOCUSED ) ;
}
}
} , {
key : 'removeFormGroupFocus' ,
value : function removeFormGroupFocus ( ) {
this . $mdbFormGroup . removeClass ( ClassName . IS _FOCUSED ) ;
}
} , {
key : 'removeIsFilled' ,
value : function removeIsFilled ( ) {
this . $mdbFormGroup . removeClass ( ClassName . IS _FILLED ) ;
}
} , {
key : 'addIsFilled' ,
value : function addIsFilled ( ) {
this . $mdbFormGroup . addClass ( ClassName . IS _FILLED ) ;
}
// Find mdb-form-group
} , {
key : 'findMdbFormGroup' ,
value : function findMdbFormGroup ( ) {
var raiseError = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
var mfg = this . $element . closest ( Selector . MDB _FORM _GROUP ) ;
if ( mfg . length === 0 && raiseError ) {
$ . error ( 'Failed to find ' + Selector . MDB _FORM _GROUP + ' for ' + Util . describe ( this . $element ) ) ;
}
return mfg ;
}
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] ) ;
return Base ;
} ( ) ;
return Base ;
} ( jQuery ) ;
var BaseInput = function ( $ ) {
var ClassName = {
FORM _GROUP : 'form-group' ,
MDB _FORM _GROUP : 'mdb-form-group' ,
MDB _LABEL : 'mdb-label' ,
MDB _LABEL _STATIC : 'mdb-label-static' ,
MDB _LABEL _PLACEHOLDER : 'mdb-label-placeholder' ,
MDB _LABEL _FLOATING : 'mdb-label-floating' ,
HAS _DANGER : 'has-danger' ,
IS _FILLED : 'is-filled' ,
IS _FOCUSED : 'is-focused'
} ;
var Selector = {
FORM _GROUP : '.' + ClassName . FORM _GROUP ,
MDB _FORM _GROUP : '.' + ClassName . MDB _FORM _GROUP ,
MDB _LABEL _WILDCARD : 'label[class^=\'' + ClassName . MDB _LABEL + '\'], label[class*=\' ' + ClassName . MDB _LABEL + '\']' // match any label variant if specified
} ;
var Default = {
validate : false ,
formGroup : {
required : false
} ,
mdbFormGroup : {
template : '<span class=\'' + ClassName . MDB _FORM _GROUP + '\'></span>' ,
create : true , // create a wrapper if form-group not found
required : true // not recommended to turn this off, only used for inline components
} ,
label : {
required : false ,
// Prioritized find order for resolving the label to be used as an mdb-label if not specified in the markup
// - a function(thisComponent); or
// - a string selector used like $mdbFormGroup.find(selector)
//
// Note this only runs if $mdbFormGroup.find(Selector.MDB_LABEL_WILDCARD) fails to find a label (as authored in the markup)
//
selectors : [ '.form-control-label' , // in the case of horizontal or inline forms, this will be marked
'> label' // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.
] ,
className : ClassName . MDB _LABEL _STATIC
} ,
requiredClasses : [ ] ,
invalidComponentMatches : [ ] ,
convertInputSizeVariations : true
} ;
var FormControlSizeMarkers = {
'form-control-lg' : 'mdb-form-group-lg' ,
'form-control-sm' : 'mdb-form-group-sm'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var BaseInput = function ( _Base ) {
babelHelpers . inherits ( BaseInput , _Base ) ;
/ * *
*
* @ param element
* @ param config
* @ param properties - anything that needs to be set as this [ key ] = value . Works around the need to call ` super ` before using ` this `
* /
function BaseInput ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , BaseInput ) ;
// Enforce no overlap between components to prevent side effects
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( BaseInput ) . call ( this , $element , $ . extend ( true , { } , Default , config ) , properties ) ) ;
_this . _rejectInvalidComponentMatches ( ) ;
// Enforce expected structure (if any)
_this . rejectWithoutRequiredStructure ( ) ;
// Enforce required classes for a consistent rendering
_this . _rejectWithoutRequiredClasses ( ) ;
// Resolve the form-group first, it will be used for mdb-form-group if possible
// note: different components have different rules
_this . $formGroup = _this . findFormGroup ( _this . config . formGroup . required ) ;
// Will add mdb-form-group to form-group or create an mdb-form-group
// Performance Note: for those forms that are really performance driven, create the markup with the .mdb-form-group to avoid
// rendering changes once added.
_this . $mdbFormGroup = _this . resolveMdbFormGroup ( ) ;
// Resolve and mark the mdbLabel if necessary as defined by the config
_this . $mdbLabel = _this . resolveMdbLabel ( ) ;
// Signal to the mdb-form-group that a form-control-* variation is being used
_this . resolveMdbFormGroupSizing ( ) ;
_this . addFocusListener ( ) ;
_this . addChangeListener ( ) ;
return _this ;
}
babelHelpers . createClass ( BaseInput , [ {
key : 'dispose' ,
value : function dispose ( dataKey ) {
babelHelpers . get ( Object . getPrototypeOf ( BaseInput . prototype ) , 'dispose' , this ) . call ( this , dataKey ) ;
this . $mdbFormGroup = null ;
this . $formGroup = null ;
}
// ------------------------------------------------------------------------
// protected
} , {
key : 'rejectWithoutRequiredStructure' ,
value : function rejectWithoutRequiredStructure ( ) {
// implement
}
} , {
key : 'addFocusListener' ,
value : function addFocusListener ( ) {
var _this2 = this ;
this . $element . on ( 'focus' , function ( ) {
_this2 . addFormGroupFocus ( ) ;
} ) . on ( 'blur' , function ( ) {
_this2 . removeFormGroupFocus ( ) ;
} ) ;
}
} , {
key : 'addChangeListener' ,
value : function addChangeListener ( ) {
var _this3 = this ;
this . $element . on ( 'keydown paste' , function ( event ) {
if ( Util . isChar ( event ) ) {
_this3 . addIsFilled ( ) ;
}
} ) . on ( 'keyup change' , function ( ) {
// make sure empty is added back when there is a programmatic value change.
// NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
if ( _this3 . isEmpty ( ) ) {
_this3 . removeIsFilled ( ) ;
} else {
_this3 . addIsFilled ( ) ;
}
if ( _this3 . config . validate ) {
// Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/
// Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
// the form-group on change.
//
// NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
// BUT, I've left it here for backwards compatibility.
var isValid = typeof _this3 . $element [ 0 ] . checkValidity === 'undefined' || _this3 . $element [ 0 ] . checkValidity ( ) ;
if ( isValid ) {
_this3 . removeHasDanger ( ) ;
} else {
_this3 . addHasDanger ( ) ;
}
}
} ) ;
}
} , {
key : 'addHasDanger' ,
value : function addHasDanger ( ) {
this . $mdbFormGroup . addClass ( ClassName . HAS _DANGER ) ;
}
} , {
key : 'removeHasDanger' ,
value : function removeHasDanger ( ) {
this . $mdbFormGroup . removeClass ( ClassName . HAS _DANGER ) ;
}
} , {
key : 'isEmpty' ,
value : function isEmpty ( ) {
return this . $element . val ( ) === null || this . $element . val ( ) === undefined || this . $element . val ( ) === '' ;
}
// Will add mdb-form-group to form-group or create a mdb-form-group if necessary
} , {
key : 'resolveMdbFormGroup' ,
value : function resolveMdbFormGroup ( ) {
var mfg = this . findMdbFormGroup ( false ) ;
if ( mfg === undefined || mfg . length === 0 ) {
if ( this . config . mdbFormGroup . create && ( this . $formGroup === undefined || this . $formGroup . length === 0 ) ) {
// If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).
// note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.
this . outerElement ( ) . wrap ( this . config . mdbFormGroup . template ) ;
} else {
// a form-group does exist, add our marker class to it
this . $formGroup . addClass ( ClassName . MDB _FORM _GROUP ) ;
// OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable
// A form-group does exist, so add an mdb-form-group wrapping it's internal contents
//fg.wrapInner(this.config.mdbFormGroup.template)
}
mfg = this . findMdbFormGroup ( this . config . mdbFormGroup . required ) ;
}
return mfg ;
}
// Demarcation element (e.g. first child of a form-group)
// Subclasses such as file inputs may have different structures
} , {
key : 'outerElement' ,
value : function outerElement ( ) {
return this . $element ;
}
// Will add mdb-label to mdb-form-group if not already specified
} , {
key : 'resolveMdbLabel' ,
value : function resolveMdbLabel ( ) {
var label = this . $mdbFormGroup . find ( Selector . MDB _LABEL _WILDCARD ) ;
if ( label === undefined || label . length === 0 ) {
// we need to find it based on the configured selectors
label = this . findMdbLabel ( this . config . label . required ) ;
if ( label === undefined || label . length === 0 ) {
// no label found, and finder did not require one
} else {
// a candidate label was found, add the configured default class name
label . addClass ( this . config . label . className ) ;
}
}
return label ;
}
// Find mdb-label variant based on the config selectors
} , {
key : 'findMdbLabel' ,
value : function findMdbLabel ( ) {
var raiseError = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
var label = null ;
// use the specified selector order
var _iteratorNormalCompletion = true ;
var _didIteratorError = false ;
var _iteratorError = undefined ;
try {
for ( var _iterator = this . config . label . selectors [ Symbol . iterator ] ( ) , _step ; ! ( _iteratorNormalCompletion = ( _step = _iterator . next ( ) ) . done ) ; _iteratorNormalCompletion = true ) {
var selector = _step . value ;
if ( $ . isFunction ( selector ) ) {
label = selector ( this ) ;
} else {
label = this . $mdbFormGroup . find ( selector ) ;
}
if ( label !== undefined && label . length > 0 ) {
break ;
}
}
} catch ( err ) {
_didIteratorError = true ;
_iteratorError = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion && _iterator . return ) {
_iterator . return ( ) ;
}
} finally {
if ( _didIteratorError ) {
throw _iteratorError ;
}
}
}
if ( label . length === 0 && raiseError ) {
$ . error ( 'Failed to find ' + Selector . MDB _LABEL _WILDCARD + ' within form-group for ' + Util . describe ( this . $element ) ) ;
}
return label ;
}
// Find mdb-form-group
} , {
key : 'findFormGroup' ,
value : function findFormGroup ( ) {
var raiseError = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
var fg = this . $element . closest ( Selector . FORM _GROUP ) ;
if ( fg . length === 0 && raiseError ) {
$ . error ( 'Failed to find ' + Selector . FORM _GROUP + ' for ' + Util . describe ( this . $element ) ) ;
}
return fg ;
}
// Due to the interconnected nature of labels/inputs/help-blocks, signal the mdb-form-group-* size variation based on
// a found form-control-* size
} , {
key : 'resolveMdbFormGroupSizing' ,
value : function resolveMdbFormGroupSizing ( ) {
if ( ! this . config . convertInputSizeVariations ) {
return ;
}
// Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
for ( var inputSize in FormControlSizeMarkers ) {
if ( this . $element . hasClass ( inputSize ) ) {
//this.$element.removeClass(inputSize)
this . $mdbFormGroup . addClass ( FormControlSizeMarkers [ inputSize ] ) ;
}
}
}
// ------------------------------------------------------------------------
// private
} , {
key : '_rejectInvalidComponentMatches' ,
value : function _rejectInvalidComponentMatches ( ) {
var _iteratorNormalCompletion2 = true ;
var _didIteratorError2 = false ;
var _iteratorError2 = undefined ;
try {
for ( var _iterator2 = this . config . invalidComponentMatches [ Symbol . iterator ] ( ) , _step2 ; ! ( _iteratorNormalCompletion2 = ( _step2 = _iterator2 . next ( ) ) . done ) ; _iteratorNormalCompletion2 = true ) {
var otherComponent = _step2 . value ;
otherComponent . rejectMatch ( this . constructor . name , this . $element ) ;
}
} catch ( err ) {
_didIteratorError2 = true ;
_iteratorError2 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion2 && _iterator2 . return ) {
_iterator2 . return ( ) ;
}
} finally {
if ( _didIteratorError2 ) {
throw _iteratorError2 ;
}
}
}
}
} , {
key : '_rejectWithoutRequiredClasses' ,
value : function _rejectWithoutRequiredClasses ( ) {
var _iteratorNormalCompletion3 = true ;
var _didIteratorError3 = false ;
var _iteratorError3 = undefined ;
try {
for ( var _iterator3 = this . config . requiredClasses [ Symbol . iterator ] ( ) , _step3 ; ! ( _iteratorNormalCompletion3 = ( _step3 = _iterator3 . next ( ) ) . done ) ; _iteratorNormalCompletion3 = true ) {
var requiredClass = _step3 . value ;
var found = false ;
// allow one of several classes to be passed in x||y
if ( requiredClass . indexOf ( '||' ) !== - 1 ) {
var oneOf = requiredClass . split ( '||' ) ;
var _iteratorNormalCompletion4 = true ;
var _didIteratorError4 = false ;
var _iteratorError4 = undefined ;
try {
for ( var _iterator4 = oneOf [ Symbol . iterator ] ( ) , _step4 ; ! ( _iteratorNormalCompletion4 = ( _step4 = _iterator4 . next ( ) ) . done ) ; _iteratorNormalCompletion4 = true ) {
var _requiredClass = _step4 . value ;
if ( this . $element . hasClass ( _requiredClass ) ) {
found = true ;
break ;
}
}
} catch ( err ) {
_didIteratorError4 = true ;
_iteratorError4 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion4 && _iterator4 . return ) {
_iterator4 . return ( ) ;
}
} finally {
if ( _didIteratorError4 ) {
throw _iteratorError4 ;
}
}
}
} else if ( this . $element . hasClass ( requiredClass ) ) {
found = true ;
}
// error if not found
if ( ! found ) {
$ . error ( this . constructor . name + ' element: ' + Util . describe ( this . $element ) + ' requires class: ' + requiredClass ) ;
}
}
} catch ( err ) {
_didIteratorError3 = true ;
_iteratorError3 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion3 && _iterator3 . return ) {
_iterator3 . return ( ) ;
}
} finally {
if ( _didIteratorError3 ) {
throw _iteratorError3 ;
}
}
}
}
// ------------------------------------------------------------------------
// static
} ] ) ;
return BaseInput ;
} ( Base ) ;
return BaseInput ;
} ( jQuery ) ;
var BaseSelection = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Default = {
label : {
required : false
// Prioritized find order for resolving the label to be used as an mdb-label if not specified in the markup
// - a function(thisComponent); or
// - a string selector used like $mdbFormGroup.find(selector)
//
// Note this only runs if $mdbFormGroup.find(Selector.MDB_LABEL_WILDCARD) fails to find a label (as authored in the markup)
//
//selectors: [
// `.form-control-label`, // in the case of horizontal or inline forms, this will be marked
// `> label` // usual case for text inputs
//]
}
} ;
var Selector = {
LABEL : 'label'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var BaseSelection = function ( _BaseInput ) {
babelHelpers . inherits ( BaseSelection , _BaseInput ) ;
function BaseSelection ( $element , config , properties ) {
babelHelpers . classCallCheck ( this , BaseSelection ) ;
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( BaseSelection ) . call ( this , $element , $ . extend ( true , { } , Default , config ) , properties ) ) ;
// properties = {inputType: checkbox, outerClass: checkbox-inline}
// '.checkbox|switch|radio > label > input[type=checkbox|radio]'
// '.${this.outerClass} > label > input[type=${this.inputType}]'
_this . decorateMarkup ( ) ;
return _this ;
}
// ------------------------------------------------------------------------
// protected
babelHelpers . createClass ( BaseSelection , [ {
key : 'decorateMarkup' ,
value : function decorateMarkup ( ) {
this . $element . after ( this . config . template ) ;
}
// Demarcation element (e.g. first child of a form-group)
} , {
key : 'outerElement' ,
value : function outerElement ( ) {
// .checkbox|switch|radio > label > input[type=checkbox|radio]
// label.checkbox-inline > input[type=checkbox|radio]
// .${this.outerClass} > label > input[type=${this.inputType}]
return this . $element . parent ( ) . closest ( '.' + this . outerClass ) ;
}
} , {
key : 'rejectWithoutRequiredStructure' ,
value : function rejectWithoutRequiredStructure ( ) {
// '.checkbox|switch|radio > label > input[type=checkbox|radio]'
// '.${this.outerClass} > label > input[type=${this.inputType}]'
Util . assert ( this . $element , ! this . $element . parent ( ) . prop ( 'tagName' ) === 'label' , this . constructor . name + '\'s ' + Util . describe ( this . $element ) + ' parent element should be <label>.' ) ;
Util . assert ( this . $element , ! this . outerElement ( ) . hasClass ( this . outerClass ) , this . constructor . name + '\'s ' + Util . describe ( this . $element ) + ' outer element should have class ' + this . outerClass + '.' ) ;
}
} , {
key : 'addFocusListener' ,
value : function addFocusListener ( ) {
var _this2 = this ;
// checkboxes didn't appear to bubble to the document, so we'll bind these directly
this . $element . closest ( Selector . LABEL ) . hover ( function ( ) {
_this2 . addFormGroupFocus ( ) ;
} , function ( ) {
_this2 . removeFormGroupFocus ( ) ;
} ) ;
}
} , {
key : 'addChangeListener' ,
value : function addChangeListener ( ) {
var _this3 = this ;
this . $element . change ( function ( ) {
_this3 . $element . blur ( ) ;
} ) ;
}
// ------------------------------------------------------------------------
// private
} ] ) ;
return BaseSelection ;
} ( BaseInput ) ;
return BaseSelection ;
} ( jQuery ) ;
var Checkbox = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'checkbox' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = {
template : '<span class=\'checkbox-decorator\'><span class=\'check\'></span></span>'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Checkbox = function ( _BaseSelection ) {
babelHelpers . inherits ( Checkbox , _BaseSelection ) ;
function Checkbox ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { inputType : NAME , outerClass : NAME } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , Checkbox ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Checkbox ) . call ( this , $element , $ . extend ( true ,
//{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},
Default , config ) , properties ) ) ;
}
babelHelpers . createClass ( Checkbox , [ {
key : 'dispose' ,
value : function dispose ( ) {
var dataKey = arguments . length <= 0 || arguments [ 0 ] === undefined ? DATA _KEY : arguments [ 0 ] ;
babelHelpers . get ( Object . getPrototypeOf ( Checkbox . prototype ) , 'dispose' , this ) . call ( this , dataKey ) ;
}
} ] , [ {
key : 'matches' ,
value : function matches ( $element ) {
// '.checkbox > label > input[type=checkbox]'
if ( $element . attr ( 'type' ) === 'checkbox' ) {
return true ;
}
return false ;
}
} , {
key : 'rejectMatch' ,
value : function rejectMatch ( component , $element ) {
Util . assert ( this . $element , this . matches ( $element ) , component + ' component element ' + Util . describe ( $element ) + ' is invalid for type=\'checkbox\'.' ) ;
}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} , {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Checkbox ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Checkbox ;
} ( BaseSelection ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Checkbox . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Checkbox ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Checkbox . _jQueryInterface ;
} ;
return Checkbox ;
} ( jQuery ) ;
var CheckboxInline = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'checkboxInline' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = {
mdbFormGroup : {
create : false , // no mdb-form-group creation if form-group not present. It messes with the layout.
required : false
}
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var CheckboxInline = function ( _Checkbox ) {
babelHelpers . inherits ( CheckboxInline , _Checkbox ) ;
function CheckboxInline ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { inputType : 'checkbox' , outerClass : 'checkbox-inline' } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , CheckboxInline ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( CheckboxInline ) . call ( this , $element , $ . extend ( true , { } , Default , config ) , properties ) ) ;
}
babelHelpers . createClass ( CheckboxInline , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( CheckboxInline . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
//static matches($element) {
// // '.checkbox-inline > input[type=checkbox]'
// if ($element.attr('type') === 'checkbox') {
// return true
// }
// return false
//}
//
//static rejectMatch(component, $element) {
// Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)
//}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new CheckboxInline ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return CheckboxInline ;
} ( Checkbox ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = CheckboxInline . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = CheckboxInline ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return CheckboxInline . _jQueryInterface ;
} ;
return CheckboxInline ;
} ( jQuery ) ;
var CollapseInline = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'collapseInline' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Selector = {
ANY _INPUT : 'input, select, textarea'
} ;
var ClassName = {
IN : 'in' ,
COLLAPSE : 'collapse' ,
COLLAPSING : 'collapsing' ,
COLLAPSED : 'collapsed' ,
WIDTH : 'width'
} ;
var Default = { } ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var CollapseInline = function ( _Base ) {
babelHelpers . inherits ( CollapseInline , _Base ) ;
// $element is expected to be the trigger
// i.e. <button class="btn mdb-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field">
function CollapseInline ( $element , config ) {
babelHelpers . classCallCheck ( this , CollapseInline ) ;
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( CollapseInline ) . call ( this , $element , $ . extend ( true , { } , Default , config ) ) ) ;
_this . $mdbFormGroup = _this . findMdbFormGroup ( true ) ;
var collapseSelector = $element . data ( 'target' ) ;
_this . $collapse = $ ( collapseSelector ) ;
Util . assert ( $element , _this . $collapse . length === 0 , 'Cannot find collapse target for ' + Util . describe ( $element ) ) ;
Util . assert ( _this . $collapse , ! _this . $collapse . hasClass ( ClassName . COLLAPSE ) , Util . describe ( _this . $collapse ) + ' is expected to have the \'' + ClassName . COLLAPSE + '\' class. It is being targeted by ' + Util . describe ( $element ) ) ;
// find the first input for focusing
var $inputs = _this . $mdbFormGroup . find ( Selector . ANY _INPUT ) ;
if ( $inputs . length > 0 ) {
_this . $input = $inputs . first ( ) ;
}
// automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten
if ( ! _this . $collapse . hasClass ( ClassName . WIDTH ) ) {
_this . $collapse . addClass ( ClassName . WIDTH ) ;
}
if ( _this . $input ) {
// add a listener to set focus
_this . $collapse . on ( 'shown.bs.collapse' , function ( ) {
_this . $input . focus ( ) ;
} ) ;
// add a listener to collapse field
_this . $input . blur ( function ( ) {
_this . $collapse . collapse ( 'hide' ) ;
} ) ;
}
return _this ;
}
babelHelpers . createClass ( CollapseInline , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( CollapseInline . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
this . $mdbFormGroup = null ;
this . $collapse = null ;
this . $input = null ;
}
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new CollapseInline ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return CollapseInline ;
} ( Base ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = CollapseInline . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = CollapseInline ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return CollapseInline . _jQueryInterface ;
} ;
return CollapseInline ;
} ( jQuery ) ;
var File = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'file' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = { } ;
var ClassName = {
FILE : NAME ,
IS _FILE : 'is-file'
} ;
var Selector = {
FILENAMES : 'input.form-control[readonly]'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var File = function ( _BaseInput ) {
babelHelpers . inherits ( File , _BaseInput ) ;
function File ( $element , config ) {
babelHelpers . classCallCheck ( this , File ) ;
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( File ) . call ( this , $element , $ . extend ( true ,
//{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},
Default , config ) ) ) ;
_this . $mdbFormGroup . addClass ( ClassName . IS _FILE ) ;
return _this ;
}
babelHelpers . createClass ( File , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( File . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
} , {
key : 'outerElement' ,
// ------------------------------------------------------------------------
// protected
// Demarcation element (e.g. first child of a form-group)
value : function outerElement ( ) {
// label.file > input[type=file]
return this . $element . parent ( ) . closest ( '.' + ClassName . FILE ) ;
}
} , {
key : 'rejectWithoutRequiredStructure' ,
value : function rejectWithoutRequiredStructure ( ) {
// label.file > input[type=file]
Util . assert ( this . $element , ! this . outerElement ( ) . prop ( 'tagName' ) === 'label' , this . constructor . name + '\'s ' + Util . describe ( this . $element ) + ' parent element ' + Util . describe ( this . outerElement ( ) ) + ' should be <label>.' ) ;
Util . assert ( this . $element , ! this . outerElement ( ) . hasClass ( ClassName . FILE ) , this . constructor . name + '\'s ' + Util . describe ( this . $element ) + ' parent element ' + Util . describe ( this . outerElement ( ) ) + ' should have class .' + ClassName . FILE + '.' ) ;
}
} , {
key : 'addFocusListener' ,
value : function addFocusListener ( ) {
var _this2 = this ;
this . $mdbFormGroup . on ( 'focus' , function ( ) {
_this2 . addFormGroupFocus ( ) ;
} ) . on ( 'blur' , function ( ) {
_this2 . removeFormGroupFocus ( ) ;
} ) ;
}
} , {
key : 'addChangeListener' ,
value : function addChangeListener ( ) {
var _this3 = this ;
// set the fileinput readonly field with the name of the file
this . $element . on ( 'change' , function ( ) {
var value = '' ;
$ . each ( _this3 . $element . files , function ( i , file ) {
value += file . name + ' , ' ;
} ) ;
value = value . substring ( 0 , value . length - 2 ) ;
if ( value ) {
_this3 . addIsFilled ( ) ;
} else {
_this3 . removeIsFilled ( ) ;
}
_this3 . $mdbFormGroup . find ( Selector . FILENAMES ) . val ( value ) ;
} ) ;
}
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] , [ {
key : 'matches' ,
value : function matches ( $element ) {
if ( $element . attr ( 'type' ) === 'file' ) {
return true ;
}
return false ;
}
} , {
key : 'rejectMatch' ,
value : function rejectMatch ( component , $element ) {
Util . assert ( this . $element , this . matches ( $element ) , component + ' component element ' + Util . describe ( $element ) + ' is invalid for type=\'file\'.' ) ;
}
} , {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new File ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return File ;
} ( BaseInput ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = File . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = File ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return File . _jQueryInterface ;
} ;
return File ;
} ( jQuery ) ;
var Radio = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'radio' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = {
template : '<span class=\'mdb-radio-outer-circle\'></span><span class=\'mdb-radio-inner-circle\'></span>'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Radio = function ( _BaseSelection ) {
babelHelpers . inherits ( Radio , _BaseSelection ) ;
function Radio ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { inputType : NAME , outerClass : NAME } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , Radio ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Radio ) . call ( this , $element , $ . extend ( true ,
//{invalidComponentMatches: [Checkbox, File, Switch, Text]},
Default , config ) , properties ) ) ;
}
babelHelpers . createClass ( Radio , [ {
key : 'dispose' ,
value : function dispose ( ) {
var dataKey = arguments . length <= 0 || arguments [ 0 ] === undefined ? DATA _KEY : arguments [ 0 ] ;
babelHelpers . get ( Object . getPrototypeOf ( Radio . prototype ) , 'dispose' , this ) . call ( this , dataKey ) ;
}
} ] , [ {
key : 'matches' ,
value : function matches ( $element ) {
// '.radio > label > input[type=radio]'
if ( $element . attr ( 'type' ) === 'radio' ) {
return true ;
}
return false ;
}
} , {
key : 'rejectMatch' ,
value : function rejectMatch ( component , $element ) {
Util . assert ( this . $element , this . matches ( $element ) , component + ' component element ' + Util . describe ( $element ) + ' is invalid for type=\'radio\'.' ) ;
}
// ------------------------------------------------------------------------
// protected
//decorateMarkup() {
// this.$element.after(this.config.template)
//}
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} , {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Radio ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Radio ;
} ( BaseSelection ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Radio . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Radio ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Radio . _jQueryInterface ;
} ;
return Radio ;
} ( jQuery ) ;
var RadioInline = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'radioInline' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = {
mdbFormGroup : {
create : false , // no mdb-form-group creation if form-group not present. It messes with the layout.
required : false
}
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var RadioInline = function ( _Radio ) {
babelHelpers . inherits ( RadioInline , _Radio ) ;
function RadioInline ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { inputType : 'radio' , outerClass : 'radio-inline' } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , RadioInline ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( RadioInline ) . call ( this , $element , $ . extend ( true , { } , Default , config ) , properties ) ) ;
}
babelHelpers . createClass ( RadioInline , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( RadioInline . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new RadioInline ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return RadioInline ;
} ( Radio ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = RadioInline . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = RadioInline ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return RadioInline . _jQueryInterface ;
} ;
return RadioInline ;
} ( jQuery ) ;
var BaseFormControl = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Default = {
decorator : {
template : '<span class=\'mdb-form-control-decorator\'></span>'
} ,
requiredClasses : [ 'form-control' ]
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var BaseFormControl = function ( _BaseInput ) {
babelHelpers . inherits ( BaseFormControl , _BaseInput ) ;
function BaseFormControl ( $element , config ) {
babelHelpers . classCallCheck ( this , BaseFormControl ) ;
// Initially mark as empty
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( BaseFormControl ) . call ( this , $element , $ . extend ( true , Default , config ) ) ) ;
if ( _this . isEmpty ( ) ) {
_this . removeIsFilled ( ) ;
}
// Add marker div the end of the form-group
_this . $element . after ( _this . config . decorator . template ) ;
return _this ;
}
return BaseFormControl ;
} ( BaseInput ) ;
return BaseFormControl ;
} ( jQuery ) ;
var Select = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'select' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = {
requiredClasses : [ 'form-control||c-select' ]
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Select = function ( _BaseFormControl ) {
babelHelpers . inherits ( Select , _BaseFormControl ) ;
function Select ( $element , config ) {
babelHelpers . classCallCheck ( this , Select ) ;
// floating labels will cover the options, so trigger them to be above (if used)
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Select ) . call ( this , $element , $ . extend ( true ,
//{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},
Default , config ) ) ) ;
_this . addIsFilled ( ) ;
return _this ;
}
babelHelpers . createClass ( Select , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( Select . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
} ] , [ {
key : 'matches' ,
value : function matches ( $element ) {
if ( $element . prop ( 'tagName' ) === 'select' ) {
return true ;
}
return false ;
}
} , {
key : 'rejectMatch' ,
value : function rejectMatch ( component , $element ) {
Util . assert ( this . $element , this . matches ( $element ) , component + ' component element ' + Util . describe ( $element ) + ' is invalid for <select>.' ) ;
}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} , {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Select ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Select ;
} ( BaseFormControl ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Select . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Select ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Select . _jQueryInterface ;
} ;
return Select ;
} ( jQuery ) ;
var Switch = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'switch' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = {
template : '<span class=\'mdb-switch-track\'></span>'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Switch = function ( _Checkbox ) {
babelHelpers . inherits ( Switch , _Checkbox ) ;
function Switch ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { inputType : 'checkbox' , outerClass : 'switch' } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , Switch ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Switch ) . call ( this , $element , $ . extend ( true , { } , Default , config ) , properties ) ) ;
// selector: '.switch > label > input[type=checkbox]'
}
babelHelpers . createClass ( Switch , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( Switch . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Switch ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Switch ;
} ( Checkbox ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Switch . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Switch ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Switch . _jQueryInterface ;
} ;
return Switch ;
} ( jQuery ) ;
var Text = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'text' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = { } ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Text = function ( _BaseFormControl ) {
babelHelpers . inherits ( Text , _BaseFormControl ) ;
function Text ( $element , config ) {
babelHelpers . classCallCheck ( this , Text ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Text ) . call ( this , $element , $ . extend ( true ,
//{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},
Default , config ) ) ) ;
}
babelHelpers . createClass ( Text , [ {
key : 'dispose' ,
value : function dispose ( ) {
var dataKey = arguments . length <= 0 || arguments [ 0 ] === undefined ? DATA _KEY : arguments [ 0 ] ;
babelHelpers . get ( Object . getPrototypeOf ( Text . prototype ) , 'dispose' , this ) . call ( this , dataKey ) ;
}
} ] , [ {
key : 'matches' ,
value : function matches ( $element ) {
if ( $element . attr ( 'type' ) === 'text' ) {
return true ;
}
return false ;
}
} , {
key : 'rejectMatch' ,
value : function rejectMatch ( component , $element ) {
Util . assert ( this . $element , this . matches ( $element ) , component + ' component element ' + Util . describe ( $element ) + ' is invalid for type=\'text\'.' ) ;
}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} , {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Text ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Text ;
} ( BaseFormControl ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Text . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Text ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Text . _jQueryInterface ;
} ;
return Text ;
} ( jQuery ) ;
var Textarea = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'textarea' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = { } ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Textarea = function ( _BaseFormControl ) {
babelHelpers . inherits ( Textarea , _BaseFormControl ) ;
function Textarea ( $element , config ) {
babelHelpers . classCallCheck ( this , Textarea ) ;
return babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Textarea ) . call ( this , $element , $ . extend ( true ,
//{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},
Default , config ) ) ) ;
}
babelHelpers . createClass ( Textarea , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( Textarea . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
} ] , [ {
key : 'matches' ,
value : function matches ( $element ) {
if ( $element . prop ( 'tagName' ) === 'textarea' ) {
return true ;
}
return false ;
}
} , {
key : 'rejectMatch' ,
value : function rejectMatch ( component , $element ) {
Util . assert ( this . $element , this . matches ( $element ) , component + ' component element ' + Util . describe ( $element ) + ' is invalid for <textarea>.' ) ;
}
// ------------------------------------------------------------------------
// protected
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} , {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Textarea ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Textarea ;
} ( BaseFormControl ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Textarea . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Textarea ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Textarea . _jQueryInterface ;
} ;
return Textarea ;
} ( jQuery ) ;
var BaseLayout = function ( $ ) {
var ClassName = {
CANVAS : 'mdb-layout-canvas' ,
CONTAINER : 'mdb-layout-container' ,
BACKDROP : 'mdb-layout-backdrop'
} ;
var Selector = {
CANVAS : '.' + ClassName . CANVAS ,
CONTAINER : '.' + ClassName . CONTAINER ,
BACKDROP : '.' + ClassName . BACKDROP
} ;
var Default = {
canvas : {
create : true ,
required : true ,
template : '<div class="' + ClassName . CANVAS + '"></div>'
} ,
backdrop : {
create : true ,
required : true ,
template : '<div class="' + ClassName . BACKDROP + '"></div>'
}
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var BaseLayout = function ( _Base ) {
babelHelpers . inherits ( BaseLayout , _Base ) ;
function BaseLayout ( $element , config ) {
var properties = arguments . length <= 2 || arguments [ 2 ] === undefined ? { } : arguments [ 2 ] ;
babelHelpers . classCallCheck ( this , BaseLayout ) ;
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( BaseLayout ) . call ( this , $element , $ . extend ( true , { } , Default , config ) , properties ) ) ;
_this . $container = _this . findContainer ( true ) ;
_this . $backdrop = _this . resolveBackdrop ( ) ;
_this . resolveCanvas ( ) ;
return _this ;
}
babelHelpers . createClass ( BaseLayout , [ {
key : 'dispose' ,
value : function dispose ( dataKey ) {
babelHelpers . get ( Object . getPrototypeOf ( BaseLayout . prototype ) , 'dispose' , this ) . call ( this , dataKey ) ;
this . $container = null ;
this . $backdrop = null ;
}
// ------------------------------------------------------------------------
// protected
// Will wrap container in mdb-layout-canvas if necessary
} , {
key : 'resolveCanvas' ,
value : function resolveCanvas ( ) {
var bd = this . findCanvas ( false ) ;
if ( bd === undefined || bd . length === 0 ) {
if ( this . config . canvas . create ) {
this . $container . wrap ( this . config . canvas . template ) ;
}
bd = this . findCanvas ( this . config . canvas . required ) ;
}
return bd ;
}
// Find closest mdb-layout-container based on the given context
} , {
key : 'findCanvas' ,
value : function findCanvas ( ) {
var raiseError = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
var context = arguments . length <= 1 || arguments [ 1 ] === undefined ? this . $container : arguments [ 1 ] ;
var canvas = context . closest ( Selector . CANVAS ) ;
if ( canvas . length === 0 && raiseError ) {
$ . error ( 'Failed to find ' + Selector . CANVAS + ' for ' + Util . describe ( context ) ) ;
}
return canvas ;
}
// Will add mdb-layout-backdrop to mdb-layout-container if necessary
} , {
key : 'resolveBackdrop' ,
value : function resolveBackdrop ( ) {
var bd = this . findBackdrop ( false ) ;
if ( bd === undefined || bd . length === 0 ) {
if ( this . config . backdrop . create ) {
this . $container . append ( this . config . backdrop . template ) ;
}
bd = this . findBackdrop ( this . config . backdrop . required ) ;
}
return bd ;
}
// Find closest mdb-layout-container based on the given context
} , {
key : 'findBackdrop' ,
value : function findBackdrop ( ) {
var raiseError = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
var context = arguments . length <= 1 || arguments [ 1 ] === undefined ? this . $container : arguments [ 1 ] ;
var backdrop = context . find ( '> ' + Selector . BACKDROP ) ;
if ( backdrop . length === 0 && raiseError ) {
$ . error ( 'Failed to find ' + Selector . BACKDROP + ' for ' + Util . describe ( context ) ) ;
}
return backdrop ;
}
// Find closest mdb-layout-container based on the given context
} , {
key : 'findContainer' ,
value : function findContainer ( ) {
var raiseError = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
var context = arguments . length <= 1 || arguments [ 1 ] === undefined ? this . $element : arguments [ 1 ] ;
var container = context . closest ( Selector . CONTAINER ) ;
if ( container . length === 0 && raiseError ) {
$ . error ( 'Failed to find ' + Selector . CONTAINER + ' for ' + Util . describe ( context ) ) ;
}
return container ;
}
// ------------------------------------------------------------------------
// private
// ------------------------------------------------------------------------
// static
} ] ) ;
return BaseLayout ;
} ( Base ) ;
return BaseLayout ;
} ( jQuery ) ;
var Drawer = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'drawer' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Keycodes = {
ESCAPE : 27
//ENTER: 13,
//SPACE: 32
} ;
var ClassName = {
IN : 'in' ,
DRAWER _IN : 'mdb-drawer-in' ,
DRAWER _OUT : 'mdb-drawer-out' ,
DRAWER : 'mdb-layout-drawer' ,
CONTAINER : 'mdb-layout-container'
} ;
var Default = {
focusSelector : 'a, button, input'
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Drawer = function ( _BaseLayout ) {
babelHelpers . inherits ( Drawer , _BaseLayout ) ;
// $element is expected to be the trigger
// i.e. <button class="btn mdb-btn-icon" for="search" data-toggle="drawer" data-target="#my-side-nav-drawer" aria-expanded="false" aria-controls="my-side-nav-drawer">
function Drawer ( $element , config ) {
babelHelpers . classCallCheck ( this , Drawer ) ;
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Drawer ) . call ( this , $element , $ . extend ( true , { } , Default , config ) ) ) ;
_this . $toggles = $ ( '[data-toggle="drawer"][href="#' + _this . $element [ 0 ] . id + '"], [data-toggle="drawer"][data-target="#' + _this . $element [ 0 ] . id + '"]' ) ;
_this . _addAria ( ) ;
// click or escape on the backdrop closes the drawer
_this . $backdrop . keydown ( function ( ev ) {
if ( ev . which === Keycodes . ESCAPE ) {
_this . hide ( ) ;
}
} ) . click ( function ( ) {
_this . hide ( ) ;
} ) ;
// escape on the drawer closes it
_this . $element . keydown ( function ( ev ) {
if ( ev . which === Keycodes . ESCAPE ) {
_this . hide ( ) ;
}
} ) ;
// any toggle button clicks
_this . $toggles . click ( function ( ) {
_this . toggle ( ) ;
} ) ;
return _this ;
}
babelHelpers . createClass ( Drawer , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( Drawer . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
this . $toggles = null ;
}
} , {
key : 'toggle' ,
value : function toggle ( ) {
if ( this . _isOpen ( ) ) {
this . hide ( ) ;
} else {
this . show ( ) ;
}
}
} , {
key : 'show' ,
value : function show ( ) {
if ( this . _isForcedClosed ( ) || this . _isOpen ( ) ) {
return ;
}
this . $toggles . attr ( 'aria-expanded' , true ) ;
this . $element . attr ( 'aria-expanded' , true ) ;
this . $element . attr ( 'aria-hidden' , false ) ;
// focus on the first focusable item
var $focusOn = this . $element . find ( this . config . focusSelector ) ;
if ( $focusOn . length > 0 ) {
$focusOn . first ( ) . focus ( ) ;
}
this . $container . addClass ( ClassName . DRAWER _IN ) ;
// backdrop is responsively styled based on mdb-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.
this . $backdrop . addClass ( ClassName . IN ) ;
}
} , {
key : 'hide' ,
value : function hide ( ) {
if ( ! this . _isOpen ( ) ) {
return ;
}
this . $toggles . attr ( 'aria-expanded' , false ) ;
this . $element . attr ( 'aria-expanded' , false ) ;
this . $element . attr ( 'aria-hidden' , true ) ;
this . $container . removeClass ( ClassName . DRAWER _IN ) ;
this . $backdrop . removeClass ( ClassName . IN ) ;
}
// ------------------------------------------------------------------------
// private
} , {
key : '_isOpen' ,
value : function _isOpen ( ) {
return this . $container . hasClass ( ClassName . DRAWER _IN ) ;
}
} , {
key : '_isForcedClosed' ,
value : function _isForcedClosed ( ) {
return this . $container . hasClass ( ClassName . DRAWER _OUT ) ;
}
} , {
key : '_addAria' ,
value : function _addAria ( ) {
var isOpen = this . _isOpen ( ) ;
this . $element . attr ( 'aria-expanded' , isOpen ) ;
this . $element . attr ( 'aria-hidden' , isOpen ) ;
if ( this . $toggles . length ) {
this . $toggles . attr ( 'aria-expanded' , isOpen ) ;
}
}
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Drawer ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Drawer ;
} ( BaseLayout ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Drawer . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Drawer ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Drawer . _jQueryInterface ;
} ;
return Drawer ;
} ( jQuery ) ;
var Ripples = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'ripples' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var ClassName = {
CONTAINER : 'ripple-container' ,
DECORATOR : 'ripple-decorator'
} ;
var Selector = {
CONTAINER : '.' + ClassName . CONTAINER ,
DECORATOR : '.' + ClassName . DECORATOR //,
} ;
var Default = {
container : {
template : '<div class=\'' + ClassName . CONTAINER + '\'></div>'
} ,
decorator : {
template : '<div class=\'' + ClassName . DECORATOR + '\'></div>'
} ,
trigger : {
start : 'mousedown touchstart' ,
end : 'mouseup mouseleave touchend'
} ,
touchUserAgentRegex : /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i ,
duration : 500
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Ripples = function ( ) {
function Ripples ( $element , config ) {
var _this = this ;
babelHelpers . classCallCheck ( this , Ripples ) ;
this . $element = $element ;
//console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console
this . config = $ . extend ( true , { } , Default , config ) ;
// attach initial listener
this . $element . on ( this . config . trigger . start , function ( event ) {
_this . _onStartRipple ( event ) ;
} ) ;
}
babelHelpers . createClass ( Ripples , [ {
key : 'dispose' ,
value : function dispose ( ) {
$ . removeData ( this . $element , DATA _KEY ) ;
this . $element = null ;
this . $container = null ;
this . $decorator = null ;
this . config = null ;
}
// ------------------------------------------------------------------------
// private
} , {
key : '_onStartRipple' ,
value : function _onStartRipple ( event ) {
var _this2 = this ;
// Verify if the user is just touching on a device and return if so
if ( this . _isTouch ( ) && event . type === 'mousedown' ) {
return ;
}
// Find or create the ripple container element
this . _findOrCreateContainer ( ) ;
// Get relY and relX positions of the container element
var relY = this . _getRelY ( event ) ;
var relX = this . _getRelX ( event ) ;
// If relY and/or relX are false, return the event
if ( ! relY && ! relX ) {
return ;
}
// set the location and color each time (even if element is cached)
this . $decorator . css ( {
left : relX ,
top : relY ,
'background-color' : this . _getRipplesColor ( )
} ) ;
// Make sure the ripple has the styles applied (ugly hack but it works)
this . _forceStyleApplication ( ) ;
// Turn on the ripple animation
this . rippleOn ( ) ;
// Call the rippleEnd function when the transition 'on' ends
setTimeout ( function ( ) {
_this2 . rippleEnd ( ) ;
} , this . config . duration ) ;
// Detect when the user leaves the element to cleanup if not already done?
this . $element . on ( this . config . trigger . end , function ( ) {
if ( _this2 . $decorator ) {
// guard against race condition/mouse attack
_this2 . $decorator . data ( 'mousedown' , 'off' ) ;
if ( _this2 . $decorator . data ( 'animating' ) === 'off' ) {
_this2 . rippleOut ( ) ;
}
}
} ) ;
}
} , {
key : '_findOrCreateContainer' ,
value : function _findOrCreateContainer ( ) {
if ( ! this . $container || ! this . $container . length > 0 ) {
this . $element . append ( this . config . container . template ) ;
this . $container = this . $element . find ( Selector . CONTAINER ) ;
}
// always add the rippleElement, it is always removed
this . $container . append ( this . config . decorator . template ) ;
this . $decorator = this . $container . find ( Selector . DECORATOR ) ;
}
// Make sure the ripple has the styles applied (ugly hack but it works)
} , {
key : '_forceStyleApplication' ,
value : function _forceStyleApplication ( ) {
return window . getComputedStyle ( this . $decorator [ 0 ] ) . opacity ;
}
/ * *
* Get the relX
* /
} , {
key : '_getRelX' ,
value : function _getRelX ( event ) {
var wrapperOffset = this . $container . offset ( ) ;
var result = null ;
if ( ! this . _isTouch ( ) ) {
// Get the mouse position relative to the ripple wrapper
result = event . pageX - wrapperOffset . left ;
} else {
// Make sure the user is using only one finger and then get the touch
// position relative to the ripple wrapper
event = event . originalEvent ;
if ( event . touches . length === 1 ) {
result = event . touches [ 0 ] . pageX - wrapperOffset . left ;
} else {
result = false ;
}
}
return result ;
}
/ * *
* Get the relY
* /
} , {
key : '_getRelY' ,
value : function _getRelY ( event ) {
var containerOffset = this . $container . offset ( ) ;
var result = null ;
if ( ! this . _isTouch ( ) ) {
/ * *
* Get the mouse position relative to the ripple wrapper
* /
result = event . pageY - containerOffset . top ;
} else {
/ * *
* Make sure the user is using only one finger and then get the touch
* position relative to the ripple wrapper
* /
event = event . originalEvent ;
if ( event . touches . length === 1 ) {
result = event . touches [ 0 ] . pageY - containerOffset . top ;
} else {
result = false ;
}
}
return result ;
}
/ * *
* Get the ripple color
* /
} , {
key : '_getRipplesColor' ,
value : function _getRipplesColor ( ) {
var color = this . $element . data ( 'ripple-color' ) ? this . $element . data ( 'ripple-color' ) : window . getComputedStyle ( this . $element [ 0 ] ) . color ;
return color ;
}
/ * *
* Verify if the client is using a mobile device
* /
} , {
key : '_isTouch' ,
value : function _isTouch ( ) {
return this . config . touchUserAgentRegex . test ( navigator . userAgent ) ;
}
/ * *
* End the animation of the ripple
* /
} , {
key : 'rippleEnd' ,
value : function rippleEnd ( ) {
if ( this . $decorator ) {
// guard against race condition/mouse attack
this . $decorator . data ( 'animating' , 'off' ) ;
if ( this . $decorator . data ( 'mousedown' ) === 'off' ) {
this . rippleOut ( this . $decorator ) ;
}
}
}
/ * *
* Turn off the ripple effect
* /
} , {
key : 'rippleOut' ,
value : function rippleOut ( ) {
var _this3 = this ;
this . $decorator . off ( ) ;
if ( Util . transitionEndSupported ( ) ) {
this . $decorator . addClass ( 'ripple-out' ) ;
} else {
this . $decorator . animate ( { opacity : 0 } , 100 , function ( ) {
_this3 . $decorator . trigger ( 'transitionend' ) ;
} ) ;
}
this . $decorator . on ( Util . transitionEndSelector ( ) , function ( ) {
if ( _this3 . $decorator ) {
_this3 . $decorator . remove ( ) ;
_this3 . $decorator = null ;
}
} ) ;
}
/ * *
* Turn on the ripple effect
* /
} , {
key : 'rippleOn' ,
value : function rippleOn ( ) {
var _this4 = this ;
var size = this . _getNewSize ( ) ;
if ( Util . transitionEndSupported ( ) ) {
this . $decorator . css ( {
'-ms-transform' : 'scale(' + size + ')' ,
'-moz-transform' : 'scale(' + size + ')' ,
'-webkit-transform' : 'scale(' + size + ')' ,
transform : 'scale(' + size + ')'
} ) . addClass ( 'ripple-on' ) . data ( 'animating' , 'on' ) . data ( 'mousedown' , 'on' ) ;
} else {
this . $decorator . animate ( {
width : Math . max ( this . $element . outerWidth ( ) , this . $element . outerHeight ( ) ) * 2 ,
height : Math . max ( this . $element . outerWidth ( ) , this . $element . outerHeight ( ) ) * 2 ,
'margin-left' : Math . max ( this . $element . outerWidth ( ) , this . $element . outerHeight ( ) ) * - 1 ,
'margin-top' : Math . max ( this . $element . outerWidth ( ) , this . $element . outerHeight ( ) ) * - 1 ,
opacity : 0.2
} , this . config . duration , function ( ) {
_this4 . $decorator . trigger ( 'transitionend' ) ;
} ) ;
}
}
/ * *
* Get the new size based on the element height / width and the ripple width
* /
} , {
key : '_getNewSize' ,
value : function _getNewSize ( ) {
return Math . max ( this . $element . outerWidth ( ) , this . $element . outerHeight ( ) ) / this . $decorator . outerWidth ( ) * 2.5 ;
}
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Ripples ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Ripples ;
} ( ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Ripples . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Ripples ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Ripples . _jQueryInterface ;
} ;
return Ripples ;
} ( jQuery ) ;
var Autofill = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'autofill' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = 'mdb' + ( NAME . charAt ( 0 ) . toUpperCase ( ) + NAME . slice ( 1 ) ) ;
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
var Default = { } ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Autofill = function ( _Base ) {
babelHelpers . inherits ( Autofill , _Base ) ;
function Autofill ( $element , config ) {
babelHelpers . classCallCheck ( this , Autofill ) ;
var _this = babelHelpers . possibleConstructorReturn ( this , Object . getPrototypeOf ( Autofill ) . call ( this , $element , $ . extend ( true , { } , Default , config ) ) ) ;
_this . _watchLoading ( ) ;
_this . _attachEventHandlers ( ) ;
return _this ;
}
babelHelpers . createClass ( Autofill , [ {
key : 'dispose' ,
value : function dispose ( ) {
babelHelpers . get ( Object . getPrototypeOf ( Autofill . prototype ) , 'dispose' , this ) . call ( this , DATA _KEY ) ;
}
// ------------------------------------------------------------------------
// private
} , {
key : '_watchLoading' ,
value : function _watchLoading ( ) {
var _this2 = this ;
// After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
setTimeout ( function ( ) {
clearInterval ( _this2 . _onLoading ) ;
} , 10000 ) ;
}
// This part of code will detect autofill when the page is loading (username and password inputs for example)
} , {
key : '_onLoading' ,
value : function _onLoading ( ) {
setInterval ( function ( ) {
$ ( 'input[type!=checkbox]' ) . each ( function ( index , element ) {
var $element = $ ( element ) ;
if ( $element . val ( ) && $element . val ( ) !== $element . attr ( 'value' ) ) {
$element . trigger ( 'change' ) ;
}
} ) ;
} , 100 ) ;
}
} , {
key : '_attachEventHandlers' ,
value : function _attachEventHandlers ( ) {
// Listen on inputs of the focused form
// (because user can select from the autofill dropdown only when the input has focus)
var focused = null ;
$ ( document ) . on ( 'focus' , 'input' , function ( event ) {
var $inputs = $ ( event . currentTarget ) . closest ( 'form' ) . find ( 'input' ) . not ( '[type=file]' ) ;
focused = setInterval ( function ( ) {
$inputs . each ( function ( index , element ) {
var $element = $ ( element ) ;
if ( $element . val ( ) !== $element . attr ( 'value' ) ) {
$element . trigger ( 'change' ) ;
}
} ) ;
} , 100 ) ;
} ) . on ( 'blur' , '.form-group input' , function ( ) {
clearInterval ( focused ) ;
} ) ;
}
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new Autofill ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return Autofill ;
} ( Base ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = Autofill . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = Autofill ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return Autofill . _jQueryInterface ;
} ;
return Autofill ;
} ( jQuery ) ;
//import 'babel-polyfill' // necessary for firefox
/ * *
* $ . bootstrapMaterialDesign ( config ) is a macro class to configure the components generally
* used in Material Design for Bootstrap . You may pass overrides to the configurations
* which will be passed into each component , or you may omit use of this class and
* configure each component separately .
* /
var BootstrapMaterialDesign = function ( $ ) {
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Constants
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var NAME = 'bootstrapMaterialDesign' ;
var DATA _KEY = 'mdb.' + NAME ;
var JQUERY _NAME = NAME ; // retain this full name since it is long enough not to conflict
var JQUERY _NO _CONFLICT = $ . fn [ JQUERY _NAME ] ;
/ * *
* Global configuration :
* The global configuration hash will be mixed in to each components ' config .
* e . g . calling $ . bootstrapMaterialDesign ( { global : { validate : true } } ) would pass ` validate:true ` to every component
*
*
* Component configuration :
* - selector : may be a string or an array . Any array will be joined with a comma to generate the selector
* - disable any component by defining it as false with an override . e . g . $ . bootstrapMaterialDesign ( { autofill : false } )
*
* @ see each individual component for more configuration settings .
* /
var Default = {
global : {
validate : false ,
label : {
className : 'mdb-label-static' // default style of label to be used if not specified in the html markup
}
} ,
autofill : {
selector : 'body'
} ,
checkbox : {
selector : '.checkbox > label > input[type=checkbox]'
} ,
checkboxInline : {
selector : 'label.checkbox-inline > input[type=checkbox]'
} ,
collapseInline : {
selector : '.mdb-collapse-inline [data-toggle="collapse"]'
} ,
drawer : {
selector : '.mdb-layout-drawer'
} ,
file : {
selector : 'input[type=file]'
} ,
//layout: {
// selector: '.mdb-layout-container'
//},
radio : {
selector : '.radio > label > input[type=radio]'
} ,
radioInline : {
selector : 'label.radio-inline > input[type=radio]'
} ,
ripples : {
//selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only
selector : [ '.btn:not(.btn-link):not(.ripple-none)' , '.card-image:not(.ripple-none)' , '.navbar a:not(.ripple-none)' , '.dropdown-menu a:not(.ripple-none)' , '.nav-tabs a:not(.ripple-none)' , '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)' , '.ripple' // generic marker class to add ripple to elements
]
} ,
select : {
selector : [ 'select' ]
} ,
switch : {
selector : '.switch > label > input[type=checkbox]'
} ,
text : {
// omit inputs we have specialized components to handle
2016-01-24 23:09:44 +03:00
selector : [ 'input[type!=\'hidden\'][type!=\'checkbox\'][type!=\'radio\'][type!=\'file\']' ]
2016-01-24 21:44:16 +03:00
} ,
textarea : {
selector : [ 'textarea' ]
} ,
arrive : true ,
// create an ordered component list for instantiation
instantiation : [ 'ripples' , 'checkbox' , 'checkboxInline' , 'collapseInline' ,
//'layout',
'drawer' , 'file' , 'radio' , 'radioInline' , 'switch' , 'text' , 'textarea' , 'select' , 'autofill' ]
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var BootstrapMaterialDesign = function ( ) {
function BootstrapMaterialDesign ( $element , config ) {
var _this = this ;
babelHelpers . classCallCheck ( this , BootstrapMaterialDesign ) ;
this . $element = $element ;
this . config = $ . extend ( true , { } , Default , config ) ;
var $document = $ ( document ) ;
var _iteratorNormalCompletion = true ;
var _didIteratorError = false ;
var _iteratorError = undefined ;
try {
var _loop = function _loop ( ) {
var component = _step . value ;
// the component's config fragment is passed in directly, allowing users to override
var componentConfig = _this . config [ component ] ;
// check to make sure component config is enabled (not `false`)
if ( componentConfig ) {
( function ( ) {
// assemble the selector as it may be an array
var selector = _this . _resolveSelector ( componentConfig ) ;
// mix in global options
componentConfig = $ . extend ( true , { } , _this . config . global , componentConfig ) ;
// create the jquery fn name e.g. 'mdbText' for 'text'
var componentName = '' + ( component . charAt ( 0 ) . toUpperCase ( ) + component . slice ( 1 ) ) ;
var jqueryFn = 'mdb' + componentName ;
try {
// safely instantiate component on selector elements with config, report errors and move on.
// console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console
$ ( selector ) [ jqueryFn ] ( componentConfig ) ;
// add to arrive if present and enabled
if ( document . arrive && _this . config . arrive ) {
$document . arrive ( selector , function ( element ) {
// eslint-disable-line no-loop-func
$ ( element ) [ jqueryFn ] ( componentConfig ) ;
} ) ;
}
} catch ( e ) {
var message = 'Failed to instantiate component: $(\'' + selector + '\')[' + jqueryFn + '](' + componentConfig + ')' ;
console . error ( message , e , '\nSelected elements: ' , $ ( selector ) ) ; // eslint-disable-line no-console
throw e ;
}
} ) ( ) ;
}
} ;
for ( var _iterator = this . config . instantiation [ Symbol . iterator ] ( ) , _step ; ! ( _iteratorNormalCompletion = ( _step = _iterator . next ( ) ) . done ) ; _iteratorNormalCompletion = true ) {
_loop ( ) ;
}
} catch ( err ) {
_didIteratorError = true ;
_iteratorError = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion && _iterator . return ) {
_iterator . return ( ) ;
}
} finally {
if ( _didIteratorError ) {
throw _iteratorError ;
}
}
}
}
babelHelpers . createClass ( BootstrapMaterialDesign , [ {
key : 'dispose' ,
value : function dispose ( ) {
$ . removeData ( this . $element , DATA _KEY ) ;
this . $element = null ;
this . config = null ;
}
// ------------------------------------------------------------------------
// private
} , {
key : '_resolveSelector' ,
value : function _resolveSelector ( componentConfig ) {
var selector = componentConfig . selector ;
if ( Array . isArray ( selector ) ) {
selector = selector . join ( ', ' ) ;
}
return selector ;
}
// ------------------------------------------------------------------------
// static
} ] , [ {
key : '_jQueryInterface' ,
value : function _jQueryInterface ( config ) {
return this . each ( function ( ) {
var $element = $ ( this ) ;
var data = $element . data ( DATA _KEY ) ;
if ( ! data ) {
data = new BootstrapMaterialDesign ( $element , config ) ;
$element . data ( DATA _KEY , data ) ;
}
} ) ;
}
} ] ) ;
return BootstrapMaterialDesign ;
} ( ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . fn [ JQUERY _NAME ] = BootstrapMaterialDesign . _jQueryInterface ;
$ . fn [ JQUERY _NAME ] . Constructor = BootstrapMaterialDesign ;
$ . fn [ JQUERY _NAME ] . noConflict = function ( ) {
$ . fn [ JQUERY _NAME ] = JQUERY _NO _CONFLICT ;
return BootstrapMaterialDesign . _jQueryInterface ;
} ;
return BootstrapMaterialDesign ;
} ( jQuery ) ;
} ) ) ;
//# sourceMappingURL=bootstrap-material-design.umd.js.map