@ -593,7 +593,7 @@
/***/ function ( module , exports , _ _webpack _require _ _ ) {
/* WEBPACK VAR INJECTION */ ( function ( global ) { / * !
* Vue . js v1 . 0.2 4
* Vue . js v1 . 0.2 6
* ( c ) 2016 Evan You
* Released under the MIT License .
* /
@ -992,10 +992,15 @@
// UA sniffing for working around browser-specific quirks
var UA = inBrowser && window . navigator . userAgent . toLowerCase ( ) ;
var isIE = UA && UA . indexOf ( 'trident' ) > 0 ;
var isIE9 = UA && UA . indexOf ( 'msie 9.0' ) > 0 ;
var isAndroid = UA && UA . indexOf ( 'android' ) > 0 ;
var isIos = UA && /(iphone|ipad|ipod|ios)/i . test ( UA ) ;
var isWechat = UA && UA . indexOf ( 'micromessenger' ) > 0 ;
var iosVersionMatch = isIos && UA . match ( /os ([\d_]+)/ ) ;
var iosVersion = iosVersionMatch && iosVersionMatch [ 1 ] . split ( '_' ) ;
// detecting iOS UIWebView by indexedDB
var hasMutationObserverBug = iosVersion && Number ( iosVersion [ 0 ] ) >= 9 && Number ( iosVersion [ 1 ] ) >= 3 && ! window . indexedDB ;
var transitionProp = undefined ;
var transitionEndEvent = undefined ;
@ -1036,7 +1041,7 @@
}
/* istanbul ignore if */
if ( typeof MutationObserver !== 'undefined' && ! ( isWechat && isIos ) ) {
if ( typeof MutationObserver !== 'undefined' && ! hasMutationObserverBug ) {
var counter = 1 ;
var observer = new MutationObserver ( nextTickHandler ) ;
var textNode = document . createTextNode ( counter ) ;
@ -1108,12 +1113,12 @@
p . put = function ( key , value ) {
var removed ;
if ( this . size === this . limit ) {
removed = this . shift ( ) ;
}
var entry = this . get ( key , true ) ;
if ( ! entry ) {
if ( this . size === this . limit ) {
removed = this . shift ( ) ;
}
entry = {
key : key
} ;
@ -1358,7 +1363,7 @@
var unsafeOpen = escapeRegex ( config . unsafeDelimiters [ 0 ] ) ;
var unsafeClose = escapeRegex ( config . unsafeDelimiters [ 1 ] ) ;
tagRE = new RegExp ( unsafeOpen + '((?:.|\\n)+?)' + unsafeClose + '|' + open + '((?:.|\\n)+?)' + close , 'g' ) ;
htmlRE = new RegExp ( '^' + unsafeOpen + ' .* ' + unsafeClose + '$' ) ;
htmlRE = new RegExp ( '^' + unsafeOpen + ' ((?:.|\\n)+?) ' + unsafeClose + '$' ) ;
// reset cache
cache = new Cache ( 1000 ) ;
}
@ -2145,7 +2150,8 @@
return ( /HTMLUnknownElement/ . test ( el . toString ( ) ) &&
// Chrome returns unknown for several HTML5 elements.
// https://code.google.com/p/chromium/issues/detail?id=540526
! /^(data|time|rtc|rb)$/ . test ( tag )
// Firefox returns unknown for some "Interactive elements."
! /^(data|time|rtc|rb|details|dialog|summary)$/ . test ( tag )
) ;
}
} ;
@ -2481,7 +2487,9 @@
}
if ( child . mixins ) {
for ( var i = 0 , l = child . mixins . length ; i < l ; i ++ ) {
parent = mergeOptions ( parent , child . mixins [ i ] , vm ) ;
var mixin = child . mixins [ i ] ;
var mixinOptions = mixin . prototype instanceof Vue ? mixin . options : mixin ;
parent = mergeOptions ( parent , mixinOptions , vm ) ;
}
}
for ( key in parent ) {
@ -2909,10 +2917,13 @@
hasProto : hasProto ,
inBrowser : inBrowser ,
devtools : devtools ,
isIE : isIE ,
isIE9 : isIE9 ,
isAndroid : isAndroid ,
isIos : isIos ,
isWechat : isWechat ,
iosVersionMatch : iosVersionMatch ,
iosVersion : iosVersion ,
hasMutationObserverBug : hasMutationObserverBug ,
get transitionProp ( ) { return transitionProp ; } ,
get transitionEndEvent ( ) { return transitionEndEvent ; } ,
get animationProp ( ) { return animationProp ; } ,
@ -3400,7 +3411,9 @@
var restoreRE = /"(\d+)"/g ;
var pathTestRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/ ;
var identRE = /[^\w$\.](?:[A-Za-z_$][\w$]*)/g ;
var booleanLiteralRE = /^(?:true|false)$/ ;
var literalValueRE$1 = /^(?:true|false|null|undefined|Infinity|NaN)$/ ;
function noop ( ) { }
/ * *
* Save / Rewrite / Restore
@ -3482,7 +3495,7 @@
// save strings and object literal keys
var body = exp . replace ( saveRE , save ) . replace ( wsRE , '' ) ;
// rewrite all paths
// pad 1 space here becau e the regex matches 1 extra char
// pad 1 space here becau s e the regex matches 1 extra char
body = ( ' ' + body ) . replace ( identRE , rewrite ) . replace ( restoreRE , restore ) ;
return makeGetterFn ( body ) ;
}
@ -3503,7 +3516,15 @@
return new Function ( 'scope' , 'return ' + body + ';' ) ;
/* eslint-enable no-new-func */
} catch ( e ) {
( "production" ) !== 'production' && warn ( 'Invalid expression. ' + 'Generated function body: ' + body ) ;
if ( false ) {
/* istanbul ignore if */
if ( e . toString ( ) . match ( /unsafe-eval|CSP/ ) ) {
warn ( 'It seems you are using the default build of Vue.js in an environment ' + 'with Content Security Policy that prohibits unsafe-eval. ' + 'Use the CSP-compliant build instead: ' + 'http://vuejs.org/guide/installation.html#CSP-compliant-build' ) ;
} else {
warn ( 'Invalid expression. ' + 'Generated function body: ' + body ) ;
}
}
return noop ;
}
}
@ -3565,8 +3586,8 @@
function isSimplePath ( exp ) {
return pathTestRE . test ( exp ) &&
// don't treat true/f alse as paths
! boo leanL iteralRE. test ( exp ) &&
// don't treat li te ral value s as paths
! literalValue RE$1 . test ( exp ) &&
// Math constants e.g. Math.PI, Math.E etc.
exp . slice ( 0 , 5 ) !== 'Math.' ;
}
@ -3982,7 +4003,7 @@
}
var isA = isArray ( val ) ;
var isO = isObject ( val ) ;
if ( isA || isO ) {
if ( ( isA || isO ) && Object . isExtensible ( val ) ) {
if ( val . _ _ob _ _ ) {
var depId = val . _ _ob _ _ . dep . id ;
if ( seen . has ( depId ) ) {
@ -4045,6 +4066,7 @@
var tagRE$1 = /<([\w:-]+)/ ;
var entityRE = /&#?\w+?;/ ;
var commentRE = /<!--/ ;
/ * *
* Convert a string template to a DocumentFragment .
@ -4067,8 +4089,9 @@
var frag = document . createDocumentFragment ( ) ;
var tagMatch = templateString . match ( tagRE$1 ) ;
var entityMatch = entityRE . test ( templateString ) ;
var commentMatch = commentRE . test ( templateString ) ;
if ( ! tagMatch && ! entityMatch ) {
if ( ! tagMatch && ! entityMatch && ! commentMatch ) {
// text only, return a single text node.
frag . appendChild ( document . createTextNode ( templateString ) ) ;
} else {
@ -5035,7 +5058,7 @@
* the filters . This is passed to and called by the watcher .
*
* It is necessary for this to be called during the
* wat h cer' s dependency collection phase because we want
* wat ch er' s dependency collection phase because we want
* the v - for to update when the source Object is mutated .
* /
@ -5378,7 +5401,10 @@
} ,
update : function update ( value ) {
this . el . value = _toString ( value ) ;
// #3029 only update when the value changes. This prevent
// browsers from overwriting values like selectionStart
value = _toString ( value ) ;
if ( value !== this . el . value ) this . el . value = value ;
} ,
unbind : function unbind ( ) {
@ -5427,6 +5453,8 @@
var select = {
bind : function bind ( ) {
var _this = this ;
var self = this ;
var el = this . el ;
@ -5458,7 +5486,12 @@
// selectedIndex with value -1 to 0 when the element
// is appended to a new parent, therefore we have to
// force a DOM update whenever that happens...
this . vm . $on ( 'hook:attached' , this . forceUpdate ) ;
this . vm . $on ( 'hook:attached' , function ( ) {
nextTick ( _this . forceUpdate ) ;
} ) ;
if ( ! inDoc ( el ) ) {
nextTick ( this . forceUpdate ) ;
}
} ,
update : function update ( value ) {
@ -6728,7 +6761,7 @@
if ( value === undefined ) {
value = getPropDefaultValue ( vm , prop ) ;
}
value = coerceProp ( prop , value );
value = coerceProp ( prop , value , vm );
var coerced = value !== rawValue ;
if ( ! assertProp ( prop , value , vm ) ) {
value = undefined ;
@ -6847,13 +6880,17 @@
* @ return { * }
* /
function coerceProp ( prop , value ) {
function coerceProp ( prop , value , vm ) {
var coerce = prop . options . coerce ;
if ( ! coerce ) {
return value ;
}
// coerce is a function
if ( typeof coerce === 'function' ) {
return coerce ( value ) ;
} else {
( "production" ) !== 'production' && warn ( 'Invalid coerce for prop "' + prop . name + '": expected function, got ' + typeof coerce + '.' , vm ) ;
return value ;
}
}
/ * *
@ -7385,10 +7422,9 @@
// resolve on owner vm
var hooks = resolveAsset ( this . vm . $options , 'transitions' , id ) ;
id = id || 'v' ;
oldId = oldId || 'v' ;
el . _ _v _trans = new Transition ( el , id , hooks , this . vm ) ;
if ( oldId ) {
removeClass ( el , oldId + '-transition' ) ;
}
addClass ( el , id + '-transition' ) ;
}
} ;
@ -7813,7 +7849,7 @@
if ( token . html ) {
replace ( node , parseTemplate ( value , true ) ) ;
} else {
node . data = value;
node . data = _toString( value) ;
}
} else {
vm . _bindDir ( token . descriptor , node , host , scope ) ;
@ -8797,7 +8833,7 @@
} ;
}
function noop ( ) { }
function noop $1 ( ) { }
/ * *
* A directive links a DOM element with a piece of data ,
@ -8896,7 +8932,7 @@
}
} ;
} else {
this . _update = noop ;
this . _update = noop $1 ;
}
var preProcess = this . _preProcess ? bind ( this . _preProcess , this ) : null ;
var postProcess = this . _postProcess ? bind ( this . _postProcess , this ) : null ;
@ -10334,7 +10370,7 @@
json : {
read : function read ( value , indent ) {
return typeof value === 'string' ? value : JSON . stringify ( value , null , Number ( indent ) || 2 ) ;
return typeof value === 'string' ? value : JSON . stringify ( value , null , arguments . length > 1 ? indent : 2 ) ;
} ,
write : function write ( value ) {
try {
@ -10407,7 +10443,13 @@
pluralize : function pluralize ( value ) {
var args = toArray ( arguments , 1 ) ;
return args . length > 1 ? args [ value % 10 - 1 ] || args [ args . length - 1 ] : args [ 0 ] + ( value === 1 ? '' : 's' ) ;
var length = args . length ;
if ( length > 1 ) {
var index = value % 10 - 1 ;
return index in args ? args [ index ] : args [ length - 1 ] ;
} else {
return args [ 0 ] + ( value === 1 ? '' : 's' ) ;
}
} ,
/ * *
@ -10592,7 +10634,9 @@
}
}
if ( type === 'component' && isPlainObject ( definition ) ) {
if ( ! definition . name ) {
definition . name = id ;
}
definition = Vue . extend ( definition ) ;
}
this . options [ type + 's' ] [ id ] = definition ;
@ -10607,7 +10651,7 @@
installGlobalAPI ( Vue ) ;
Vue . version = '1.0.2 4 ';
Vue . version = '1.0.2 6 ';
// devtools global hook
/* istanbul ignore next */
@ -11001,7 +11045,7 @@
if ( this . extensions && ( this . extensions . length || typeof this . extensions . length == 'undefined' ) ) {
var extensions = this . extensions ;
if ( ( typeof extensions === 'undefined' ? 'undefined' : ( 0 , _typeof3 . default ) ( extensions ) ) == 'object' && RegExp instanceof extensions ) { } else {
if ( ( typeof extensions === 'undefined' ? 'undefined' : ( 0 , _typeof3 . default ) ( extensions ) ) == 'object' && extensions instanceof RegExp ) { } else {
if ( typeof extensions == 'string' ) {
extensions = extensions . split ( ',' ) . map ( function ( value ) {
return value . trim ( ) ;