h2ocube_rails_assets 0.0.18 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/h2ocube_rails_assets.gemspec +1 -1
- data/vendor/assets/javascripts/jquery/1.10.js +9807 -0
- data/vendor/assets/javascripts/jquery/2.0.js +439 -352
- metadata +3 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* jQuery JavaScript Library v2.0.
|
2
|
+
* jQuery JavaScript Library v2.0.2
|
3
3
|
* http://jquery.com/
|
4
4
|
*
|
5
5
|
* Includes Sizzle.js
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* Released under the MIT license
|
10
10
|
* http://jquery.org/license
|
11
11
|
*
|
12
|
-
* Date: 2013-
|
12
|
+
* Date: 2013-05-30T21:25Z
|
13
13
|
*/
|
14
14
|
(function( window, undefined ) {
|
15
15
|
|
@@ -46,7 +46,7 @@ var
|
|
46
46
|
// List of deleted data cache ids, so we can reuse them
|
47
47
|
core_deletedIds = [],
|
48
48
|
|
49
|
-
core_version = "2.0.
|
49
|
+
core_version = "2.0.2",
|
50
50
|
|
51
51
|
// Save a reference to some core methods
|
52
52
|
core_concat = core_deletedIds.concat,
|
@@ -72,7 +72,7 @@ var
|
|
72
72
|
// A simple way to check for HTML strings
|
73
73
|
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
74
74
|
// Strict HTML recognition (#11290: must start with <)
|
75
|
-
rquickExpr = /^(
|
75
|
+
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
|
76
76
|
|
77
77
|
// Match a standalone tag
|
78
78
|
rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
|
@@ -865,18 +865,19 @@ function isArraylike( obj ) {
|
|
865
865
|
// All jQuery objects should point back to these
|
866
866
|
rootjQuery = jQuery(document);
|
867
867
|
/*!
|
868
|
-
* Sizzle CSS Selector Engine v1.9.
|
868
|
+
* Sizzle CSS Selector Engine v1.9.4-pre
|
869
869
|
* http://sizzlejs.com/
|
870
870
|
*
|
871
871
|
* Copyright 2013 jQuery Foundation, Inc. and other contributors
|
872
872
|
* Released under the MIT license
|
873
873
|
* http://jquery.org/license
|
874
874
|
*
|
875
|
-
* Date: 2013-
|
875
|
+
* Date: 2013-05-27
|
876
876
|
*/
|
877
877
|
(function( window, undefined ) {
|
878
878
|
|
879
879
|
var i,
|
880
|
+
support,
|
880
881
|
cachedruns,
|
881
882
|
Expr,
|
882
883
|
getText,
|
@@ -898,7 +899,6 @@ var i,
|
|
898
899
|
// Instance-specific data
|
899
900
|
expando = "sizzle" + -(new Date()),
|
900
901
|
preferredDoc = window.document,
|
901
|
-
support = {},
|
902
902
|
dirruns = 0,
|
903
903
|
done = 0,
|
904
904
|
classCache = createCache(),
|
@@ -911,7 +911,8 @@ var i,
|
|
911
911
|
strundefined = typeof undefined,
|
912
912
|
MAX_NEGATIVE = 1 << 31,
|
913
913
|
|
914
|
-
//
|
914
|
+
// Instance methods
|
915
|
+
hasOwn = ({}).hasOwnProperty,
|
915
916
|
arr = [],
|
916
917
|
pop = arr.pop,
|
917
918
|
push_native = arr.push,
|
@@ -976,7 +977,7 @@ var i,
|
|
976
977
|
"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
|
977
978
|
"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
|
978
979
|
"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
|
979
|
-
"
|
980
|
+
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
|
980
981
|
// For use in libraries implementing .is()
|
981
982
|
// We use this for POS matching in `select`
|
982
983
|
"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
|
@@ -994,11 +995,13 @@ var i,
|
|
994
995
|
rescape = /'|\\/g,
|
995
996
|
|
996
997
|
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
997
|
-
runescape =
|
998
|
-
funescape = function( _, escaped ) {
|
998
|
+
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
|
999
|
+
funescape = function( _, escaped, escapedWhitespace ) {
|
999
1000
|
var high = "0x" + escaped - 0x10000;
|
1000
1001
|
// NaN means non-codepoint
|
1001
|
-
|
1002
|
+
// Support: Firefox
|
1003
|
+
// Workaround erroneous numeric interpretation of +"0x"
|
1004
|
+
return high !== high || escapedWhitespace ?
|
1002
1005
|
escaped :
|
1003
1006
|
// BMP codepoint
|
1004
1007
|
high < 0 ?
|
@@ -1036,63 +1039,6 @@ try {
|
|
1036
1039
|
};
|
1037
1040
|
}
|
1038
1041
|
|
1039
|
-
/**
|
1040
|
-
* For feature detection
|
1041
|
-
* @param {Function} fn The function to test for native support
|
1042
|
-
*/
|
1043
|
-
function isNative( fn ) {
|
1044
|
-
return rnative.test( fn + "" );
|
1045
|
-
}
|
1046
|
-
|
1047
|
-
/**
|
1048
|
-
* Create key-value caches of limited size
|
1049
|
-
* @returns {Function(string, Object)} Returns the Object data after storing it on itself with
|
1050
|
-
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
|
1051
|
-
* deleting the oldest entry
|
1052
|
-
*/
|
1053
|
-
function createCache() {
|
1054
|
-
var cache,
|
1055
|
-
keys = [];
|
1056
|
-
|
1057
|
-
return (cache = function( key, value ) {
|
1058
|
-
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
|
1059
|
-
if ( keys.push( key += " " ) > Expr.cacheLength ) {
|
1060
|
-
// Only keep the most recent entries
|
1061
|
-
delete cache[ keys.shift() ];
|
1062
|
-
}
|
1063
|
-
return (cache[ key ] = value);
|
1064
|
-
});
|
1065
|
-
}
|
1066
|
-
|
1067
|
-
/**
|
1068
|
-
* Mark a function for special use by Sizzle
|
1069
|
-
* @param {Function} fn The function to mark
|
1070
|
-
*/
|
1071
|
-
function markFunction( fn ) {
|
1072
|
-
fn[ expando ] = true;
|
1073
|
-
return fn;
|
1074
|
-
}
|
1075
|
-
|
1076
|
-
/**
|
1077
|
-
* Support testing using an element
|
1078
|
-
* @param {Function} fn Passed the created div and expects a boolean result
|
1079
|
-
*/
|
1080
|
-
function assert( fn ) {
|
1081
|
-
var div = document.createElement("div");
|
1082
|
-
|
1083
|
-
try {
|
1084
|
-
return !!fn( div );
|
1085
|
-
} catch (e) {
|
1086
|
-
return false;
|
1087
|
-
} finally {
|
1088
|
-
if ( div.parentNode ) {
|
1089
|
-
div.parentNode.removeChild( div );
|
1090
|
-
}
|
1091
|
-
// release memory in IE
|
1092
|
-
div = null;
|
1093
|
-
}
|
1094
|
-
}
|
1095
|
-
|
1096
1042
|
function Sizzle( selector, context, results, seed ) {
|
1097
1043
|
var match, elem, m, nodeType,
|
1098
1044
|
// QSA vars
|
@@ -1202,6 +1148,195 @@ function Sizzle( selector, context, results, seed ) {
|
|
1202
1148
|
return select( selector.replace( rtrim, "$1" ), context, results, seed );
|
1203
1149
|
}
|
1204
1150
|
|
1151
|
+
/**
|
1152
|
+
* For feature detection
|
1153
|
+
* @param {Function} fn The function to test for native support
|
1154
|
+
*/
|
1155
|
+
function isNative( fn ) {
|
1156
|
+
return rnative.test( fn + "" );
|
1157
|
+
}
|
1158
|
+
|
1159
|
+
/**
|
1160
|
+
* Create key-value caches of limited size
|
1161
|
+
* @returns {Function(string, Object)} Returns the Object data after storing it on itself with
|
1162
|
+
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
|
1163
|
+
* deleting the oldest entry
|
1164
|
+
*/
|
1165
|
+
function createCache() {
|
1166
|
+
var keys = [];
|
1167
|
+
|
1168
|
+
function cache( key, value ) {
|
1169
|
+
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
|
1170
|
+
if ( keys.push( key += " " ) > Expr.cacheLength ) {
|
1171
|
+
// Only keep the most recent entries
|
1172
|
+
delete cache[ keys.shift() ];
|
1173
|
+
}
|
1174
|
+
return (cache[ key ] = value);
|
1175
|
+
}
|
1176
|
+
return cache;
|
1177
|
+
}
|
1178
|
+
|
1179
|
+
/**
|
1180
|
+
* Mark a function for special use by Sizzle
|
1181
|
+
* @param {Function} fn The function to mark
|
1182
|
+
*/
|
1183
|
+
function markFunction( fn ) {
|
1184
|
+
fn[ expando ] = true;
|
1185
|
+
return fn;
|
1186
|
+
}
|
1187
|
+
|
1188
|
+
/**
|
1189
|
+
* Support testing using an element
|
1190
|
+
* @param {Function} fn Passed the created div and expects a boolean result
|
1191
|
+
*/
|
1192
|
+
function assert( fn ) {
|
1193
|
+
var div = document.createElement("div");
|
1194
|
+
|
1195
|
+
try {
|
1196
|
+
return !!fn( div );
|
1197
|
+
} catch (e) {
|
1198
|
+
return false;
|
1199
|
+
} finally {
|
1200
|
+
// Remove from its parent by default
|
1201
|
+
if ( div.parentNode ) {
|
1202
|
+
div.parentNode.removeChild( div );
|
1203
|
+
}
|
1204
|
+
// release memory in IE
|
1205
|
+
div = null;
|
1206
|
+
}
|
1207
|
+
}
|
1208
|
+
|
1209
|
+
/**
|
1210
|
+
* Adds the same handler for all of the specified attrs
|
1211
|
+
* @param {String} attrs Pipe-separated list of attributes
|
1212
|
+
* @param {Function} handler The method that will be applied if the test fails
|
1213
|
+
* @param {Boolean} test The result of a test. If true, null will be set as the handler in leiu of the specified handler
|
1214
|
+
*/
|
1215
|
+
function addHandle( attrs, handler, test ) {
|
1216
|
+
attrs = attrs.split("|");
|
1217
|
+
var current,
|
1218
|
+
i = attrs.length,
|
1219
|
+
setHandle = test ? null : handler;
|
1220
|
+
|
1221
|
+
while ( i-- ) {
|
1222
|
+
// Don't override a user's handler
|
1223
|
+
if ( !(current = Expr.attrHandle[ attrs[i] ]) || current === handler ) {
|
1224
|
+
Expr.attrHandle[ attrs[i] ] = setHandle;
|
1225
|
+
}
|
1226
|
+
}
|
1227
|
+
}
|
1228
|
+
|
1229
|
+
/**
|
1230
|
+
* Fetches boolean attributes by node
|
1231
|
+
* @param {Element} elem
|
1232
|
+
* @param {String} name
|
1233
|
+
*/
|
1234
|
+
function boolHandler( elem, name ) {
|
1235
|
+
// XML does not need to be checked as this will not be assigned for XML documents
|
1236
|
+
var val = elem.getAttributeNode( name );
|
1237
|
+
return val && val.specified ?
|
1238
|
+
val.value :
|
1239
|
+
elem[ name ] === true ? name.toLowerCase() : null;
|
1240
|
+
}
|
1241
|
+
|
1242
|
+
/**
|
1243
|
+
* Fetches attributes without interpolation
|
1244
|
+
* http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
1245
|
+
* @param {Element} elem
|
1246
|
+
* @param {String} name
|
1247
|
+
*/
|
1248
|
+
function interpolationHandler( elem, name ) {
|
1249
|
+
// XML does not need to be checked as this will not be assigned for XML documents
|
1250
|
+
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
|
1251
|
+
}
|
1252
|
+
|
1253
|
+
/**
|
1254
|
+
* Uses defaultValue to retrieve value in IE6/7
|
1255
|
+
* @param {Element} elem
|
1256
|
+
* @param {String} name
|
1257
|
+
*/
|
1258
|
+
function valueHandler( elem ) {
|
1259
|
+
// Ignore the value *property* on inputs by using defaultValue
|
1260
|
+
// Fallback to Sizzle.attr by returning undefined where appropriate
|
1261
|
+
// XML does not need to be checked as this will not be assigned for XML documents
|
1262
|
+
if ( elem.nodeName.toLowerCase() === "input" ) {
|
1263
|
+
return elem.defaultValue;
|
1264
|
+
}
|
1265
|
+
}
|
1266
|
+
|
1267
|
+
/**
|
1268
|
+
* Checks document order of two siblings
|
1269
|
+
* @param {Element} a
|
1270
|
+
* @param {Element} b
|
1271
|
+
* @returns Returns -1 if a precedes b, 1 if a follows b
|
1272
|
+
*/
|
1273
|
+
function siblingCheck( a, b ) {
|
1274
|
+
var cur = b && a,
|
1275
|
+
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
|
1276
|
+
( ~b.sourceIndex || MAX_NEGATIVE ) -
|
1277
|
+
( ~a.sourceIndex || MAX_NEGATIVE );
|
1278
|
+
|
1279
|
+
// Use IE sourceIndex if available on both nodes
|
1280
|
+
if ( diff ) {
|
1281
|
+
return diff;
|
1282
|
+
}
|
1283
|
+
|
1284
|
+
// Check if b follows a
|
1285
|
+
if ( cur ) {
|
1286
|
+
while ( (cur = cur.nextSibling) ) {
|
1287
|
+
if ( cur === b ) {
|
1288
|
+
return -1;
|
1289
|
+
}
|
1290
|
+
}
|
1291
|
+
}
|
1292
|
+
|
1293
|
+
return a ? 1 : -1;
|
1294
|
+
}
|
1295
|
+
|
1296
|
+
/**
|
1297
|
+
* Returns a function to use in pseudos for input types
|
1298
|
+
* @param {String} type
|
1299
|
+
*/
|
1300
|
+
function createInputPseudo( type ) {
|
1301
|
+
return function( elem ) {
|
1302
|
+
var name = elem.nodeName.toLowerCase();
|
1303
|
+
return name === "input" && elem.type === type;
|
1304
|
+
};
|
1305
|
+
}
|
1306
|
+
|
1307
|
+
/**
|
1308
|
+
* Returns a function to use in pseudos for buttons
|
1309
|
+
* @param {String} type
|
1310
|
+
*/
|
1311
|
+
function createButtonPseudo( type ) {
|
1312
|
+
return function( elem ) {
|
1313
|
+
var name = elem.nodeName.toLowerCase();
|
1314
|
+
return (name === "input" || name === "button") && elem.type === type;
|
1315
|
+
};
|
1316
|
+
}
|
1317
|
+
|
1318
|
+
/**
|
1319
|
+
* Returns a function to use in pseudos for positionals
|
1320
|
+
* @param {Function} fn
|
1321
|
+
*/
|
1322
|
+
function createPositionalPseudo( fn ) {
|
1323
|
+
return markFunction(function( argument ) {
|
1324
|
+
argument = +argument;
|
1325
|
+
return markFunction(function( seed, matches ) {
|
1326
|
+
var j,
|
1327
|
+
matchIndexes = fn( [], seed.length, argument ),
|
1328
|
+
i = matchIndexes.length;
|
1329
|
+
|
1330
|
+
// Match elements found at the specified indexes
|
1331
|
+
while ( i-- ) {
|
1332
|
+
if ( seed[ (j = matchIndexes[i]) ] ) {
|
1333
|
+
seed[j] = !(matches[j] = seed[j]);
|
1334
|
+
}
|
1335
|
+
}
|
1336
|
+
});
|
1337
|
+
});
|
1338
|
+
}
|
1339
|
+
|
1205
1340
|
/**
|
1206
1341
|
* Detect xml
|
1207
1342
|
* @param {Element|Object} elem An element or a document
|
@@ -1213,13 +1348,17 @@ isXML = Sizzle.isXML = function( elem ) {
|
|
1213
1348
|
return documentElement ? documentElement.nodeName !== "HTML" : false;
|
1214
1349
|
};
|
1215
1350
|
|
1351
|
+
// Expose support vars for convenience
|
1352
|
+
support = Sizzle.support = {};
|
1353
|
+
|
1216
1354
|
/**
|
1217
1355
|
* Sets document-related variables once based on the current document
|
1218
1356
|
* @param {Element|Object} [doc] An element or document object to use to set the document
|
1219
1357
|
* @returns {Object} Returns the current document
|
1220
1358
|
*/
|
1221
1359
|
setDocument = Sizzle.setDocument = function( node ) {
|
1222
|
-
var doc = node ? node.ownerDocument || node : preferredDoc
|
1360
|
+
var doc = node ? node.ownerDocument || node : preferredDoc,
|
1361
|
+
parent = doc.parentWindow;
|
1223
1362
|
|
1224
1363
|
// If no document and documentElement is available, return
|
1225
1364
|
if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
|
@@ -1233,19 +1372,56 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1233
1372
|
// Support tests
|
1234
1373
|
documentIsHTML = !isXML( doc );
|
1235
1374
|
|
1236
|
-
//
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1375
|
+
// Support: IE>8
|
1376
|
+
// If iframe document is assigned to "document" variable and if iframe has been reloaded,
|
1377
|
+
// IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
|
1378
|
+
if ( parent && parent.frameElement ) {
|
1379
|
+
parent.attachEvent( "onbeforeunload", function() {
|
1380
|
+
setDocument();
|
1381
|
+
});
|
1382
|
+
}
|
1383
|
+
|
1384
|
+
/* Attributes
|
1385
|
+
---------------------------------------------------------------------- */
|
1241
1386
|
|
1242
1387
|
// Support: IE<8
|
1243
1388
|
// Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
|
1244
1389
|
support.attributes = assert(function( div ) {
|
1390
|
+
|
1391
|
+
// Support: IE<8
|
1392
|
+
// Prevent attribute/property "interpolation"
|
1393
|
+
div.innerHTML = "<a href='#'></a>";
|
1394
|
+
addHandle( "type|href|height|width", interpolationHandler, div.firstChild.getAttribute("href") === "#" );
|
1395
|
+
|
1396
|
+
// Support: IE<9
|
1397
|
+
// Use getAttributeNode to fetch booleans when getAttribute lies
|
1398
|
+
addHandle( booleans, boolHandler, div.getAttribute("disabled") == null );
|
1399
|
+
|
1245
1400
|
div.className = "i";
|
1246
1401
|
return !div.getAttribute("className");
|
1247
1402
|
});
|
1248
1403
|
|
1404
|
+
// Support: IE<9
|
1405
|
+
// Retrieving value should defer to defaultValue
|
1406
|
+
support.input = assert(function( div ) {
|
1407
|
+
div.innerHTML = "<input>";
|
1408
|
+
div.firstChild.setAttribute( "value", "" );
|
1409
|
+
return div.firstChild.getAttribute( "value" ) === "";
|
1410
|
+
});
|
1411
|
+
|
1412
|
+
// IE6/7 still return empty string for value,
|
1413
|
+
// but are actually retrieving the property
|
1414
|
+
addHandle( "value", valueHandler, support.attributes && support.input );
|
1415
|
+
|
1416
|
+
/* getElement(s)By*
|
1417
|
+
---------------------------------------------------------------------- */
|
1418
|
+
|
1419
|
+
// Check if getElementsByTagName("*") returns only elements
|
1420
|
+
support.getElementsByTagName = assert(function( div ) {
|
1421
|
+
div.appendChild( doc.createComment("") );
|
1422
|
+
return !div.getElementsByTagName("*").length;
|
1423
|
+
});
|
1424
|
+
|
1249
1425
|
// Check if getElementsByClassName can be trusted
|
1250
1426
|
support.getElementsByClassName = assert(function( div ) {
|
1251
1427
|
div.innerHTML = "<div class='a'></div><div class='a i'></div>";
|
@@ -1258,19 +1434,9 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1258
1434
|
return div.getElementsByClassName("i").length === 2;
|
1259
1435
|
});
|
1260
1436
|
|
1261
|
-
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
|
1262
|
-
// Detached nodes confoundingly follow *each other*
|
1263
|
-
support.sortDetached = assert(function( div1 ) {
|
1264
|
-
// Should return 1, but returns 4 (following)
|
1265
|
-
return div1.compareDocumentPosition( document.createElement("div") ) & 1;
|
1266
|
-
});
|
1267
|
-
|
1268
1437
|
// Support: IE<10
|
1269
1438
|
// Check if getElementById returns elements by name
|
1270
|
-
//
|
1271
|
-
// Assigning innerHTML with "name" attributes throws uncatchable exceptions
|
1272
|
-
// (http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx)
|
1273
|
-
// and the broken getElementById methods don't pick up programatically-set names,
|
1439
|
+
// The broken getElementById methods don't pick up programatically-set names,
|
1274
1440
|
// so use a roundabout getElementsByName test
|
1275
1441
|
support.getById = assert(function( div ) {
|
1276
1442
|
docElem.appendChild( div ).id = expando;
|
@@ -1294,17 +1460,10 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1294
1460
|
};
|
1295
1461
|
};
|
1296
1462
|
} else {
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1463
|
+
// Support: IE6/7
|
1464
|
+
// getElementById is not reliable as a find shortcut
|
1465
|
+
delete Expr.find["ID"];
|
1300
1466
|
|
1301
|
-
return m ?
|
1302
|
-
m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ?
|
1303
|
-
[m] :
|
1304
|
-
undefined :
|
1305
|
-
[];
|
1306
|
-
}
|
1307
|
-
};
|
1308
1467
|
Expr.filter["ID"] = function( id ) {
|
1309
1468
|
var attrId = id.replace( runescape, funescape );
|
1310
1469
|
return function( elem ) {
|
@@ -1347,6 +1506,9 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1347
1506
|
}
|
1348
1507
|
};
|
1349
1508
|
|
1509
|
+
/* QSA/matchesSelector
|
1510
|
+
---------------------------------------------------------------------- */
|
1511
|
+
|
1350
1512
|
// QSA and matchesSelector support
|
1351
1513
|
|
1352
1514
|
// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
|
@@ -1391,7 +1553,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1391
1553
|
// Should not select anything
|
1392
1554
|
// Support: Windows 8 Native Apps
|
1393
1555
|
// The type attribute is restricted during .innerHTML assignment
|
1394
|
-
var input =
|
1556
|
+
var input = doc.createElement("input");
|
1395
1557
|
input.setAttribute( "type", "hidden" );
|
1396
1558
|
div.appendChild( input ).setAttribute( "t", "" );
|
1397
1559
|
|
@@ -1431,6 +1593,9 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1431
1593
|
rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
|
1432
1594
|
rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
|
1433
1595
|
|
1596
|
+
/* Contains
|
1597
|
+
---------------------------------------------------------------------- */
|
1598
|
+
|
1434
1599
|
// Element contains another
|
1435
1600
|
// Purposefully does not implement inclusive descendent
|
1436
1601
|
// As in, an element does not contain itself
|
@@ -1455,6 +1620,16 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1455
1620
|
return false;
|
1456
1621
|
};
|
1457
1622
|
|
1623
|
+
/* Sorting
|
1624
|
+
---------------------------------------------------------------------- */
|
1625
|
+
|
1626
|
+
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
|
1627
|
+
// Detached nodes confoundingly follow *each other*
|
1628
|
+
support.sortDetached = assert(function( div1 ) {
|
1629
|
+
// Should return 1, but returns 4 (following)
|
1630
|
+
return div1.compareDocumentPosition( doc.createElement("div") ) & 1;
|
1631
|
+
});
|
1632
|
+
|
1458
1633
|
// Document order sorting
|
1459
1634
|
sortOrder = docElem.compareDocumentPosition ?
|
1460
1635
|
function( a, b ) {
|
@@ -1545,7 +1720,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|
1545
1720
|
0;
|
1546
1721
|
};
|
1547
1722
|
|
1548
|
-
return
|
1723
|
+
return doc;
|
1549
1724
|
};
|
1550
1725
|
|
1551
1726
|
Sizzle.matches = function( expr, elements ) {
|
@@ -1561,10 +1736,9 @@ Sizzle.matchesSelector = function( elem, expr ) {
|
|
1561
1736
|
// Make sure that attribute selectors are quoted
|
1562
1737
|
expr = expr.replace( rattributeQuotes, "='$1']" );
|
1563
1738
|
|
1564
|
-
// rbuggyQSA always contains :focus, so no need for an existence check
|
1565
1739
|
if ( support.matchesSelector && documentIsHTML &&
|
1566
|
-
(!rbuggyMatches || !rbuggyMatches.test(expr)) &&
|
1567
|
-
(!rbuggyQSA || !rbuggyQSA.test(expr)) ) {
|
1740
|
+
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
|
1741
|
+
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
|
1568
1742
|
|
1569
1743
|
try {
|
1570
1744
|
var ret = matches.call( elem, expr );
|
@@ -1597,7 +1771,10 @@ Sizzle.attr = function( elem, name ) {
|
|
1597
1771
|
}
|
1598
1772
|
|
1599
1773
|
var fn = Expr.attrHandle[ name.toLowerCase() ],
|
1600
|
-
|
1774
|
+
// Don't get fooled by Object.prototype properties (jQuery #13807)
|
1775
|
+
val = ( fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
|
1776
|
+
fn( elem, name, !documentIsHTML ) :
|
1777
|
+
undefined );
|
1601
1778
|
|
1602
1779
|
return val === undefined ?
|
1603
1780
|
support.attributes || !documentIsHTML ?
|
@@ -1612,7 +1789,10 @@ Sizzle.error = function( msg ) {
|
|
1612
1789
|
throw new Error( "Syntax error, unrecognized expression: " + msg );
|
1613
1790
|
};
|
1614
1791
|
|
1615
|
-
|
1792
|
+
/**
|
1793
|
+
* Document sorting and removing duplicates
|
1794
|
+
* @param {ArrayLike} results
|
1795
|
+
*/
|
1616
1796
|
Sizzle.uniqueSort = function( results ) {
|
1617
1797
|
var elem,
|
1618
1798
|
duplicates = [],
|
@@ -1638,87 +1818,6 @@ Sizzle.uniqueSort = function( results ) {
|
|
1638
1818
|
return results;
|
1639
1819
|
};
|
1640
1820
|
|
1641
|
-
/**
|
1642
|
-
* Checks document order of two siblings
|
1643
|
-
* @param {Element} a
|
1644
|
-
* @param {Element} b
|
1645
|
-
* @returns Returns -1 if a precedes b, 1 if a follows b
|
1646
|
-
*/
|
1647
|
-
function siblingCheck( a, b ) {
|
1648
|
-
var cur = b && a,
|
1649
|
-
diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE );
|
1650
|
-
|
1651
|
-
// Use IE sourceIndex if available on both nodes
|
1652
|
-
if ( diff ) {
|
1653
|
-
return diff;
|
1654
|
-
}
|
1655
|
-
|
1656
|
-
// Check if b follows a
|
1657
|
-
if ( cur ) {
|
1658
|
-
while ( (cur = cur.nextSibling) ) {
|
1659
|
-
if ( cur === b ) {
|
1660
|
-
return -1;
|
1661
|
-
}
|
1662
|
-
}
|
1663
|
-
}
|
1664
|
-
|
1665
|
-
return a ? 1 : -1;
|
1666
|
-
}
|
1667
|
-
|
1668
|
-
// Fetches boolean attributes by node
|
1669
|
-
function boolHandler( elem, name, isXML ) {
|
1670
|
-
var val;
|
1671
|
-
return isXML ?
|
1672
|
-
undefined :
|
1673
|
-
(val = elem.getAttributeNode( name )) && val.specified ?
|
1674
|
-
val.value :
|
1675
|
-
elem[ name ] === true ? name.toLowerCase() : null;
|
1676
|
-
}
|
1677
|
-
|
1678
|
-
// Fetches attributes without interpolation
|
1679
|
-
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
1680
|
-
function interpolationHandler( elem, name, isXML ) {
|
1681
|
-
var val;
|
1682
|
-
return isXML ?
|
1683
|
-
undefined :
|
1684
|
-
(val = elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ));
|
1685
|
-
}
|
1686
|
-
|
1687
|
-
// Returns a function to use in pseudos for input types
|
1688
|
-
function createInputPseudo( type ) {
|
1689
|
-
return function( elem ) {
|
1690
|
-
var name = elem.nodeName.toLowerCase();
|
1691
|
-
return name === "input" && elem.type === type;
|
1692
|
-
};
|
1693
|
-
}
|
1694
|
-
|
1695
|
-
// Returns a function to use in pseudos for buttons
|
1696
|
-
function createButtonPseudo( type ) {
|
1697
|
-
return function( elem ) {
|
1698
|
-
var name = elem.nodeName.toLowerCase();
|
1699
|
-
return (name === "input" || name === "button") && elem.type === type;
|
1700
|
-
};
|
1701
|
-
}
|
1702
|
-
|
1703
|
-
// Returns a function to use in pseudos for positionals
|
1704
|
-
function createPositionalPseudo( fn ) {
|
1705
|
-
return markFunction(function( argument ) {
|
1706
|
-
argument = +argument;
|
1707
|
-
return markFunction(function( seed, matches ) {
|
1708
|
-
var j,
|
1709
|
-
matchIndexes = fn( [], seed.length, argument ),
|
1710
|
-
i = matchIndexes.length;
|
1711
|
-
|
1712
|
-
// Match elements found at the specified indexes
|
1713
|
-
while ( i-- ) {
|
1714
|
-
if ( seed[ (j = matchIndexes[i]) ] ) {
|
1715
|
-
seed[j] = !(matches[j] = seed[j]);
|
1716
|
-
}
|
1717
|
-
}
|
1718
|
-
});
|
1719
|
-
});
|
1720
|
-
}
|
1721
|
-
|
1722
1821
|
/**
|
1723
1822
|
* Utility function for retrieving the text value of an array of DOM nodes
|
1724
1823
|
* @param {Array|Element} elem
|
@@ -1829,7 +1928,7 @@ Expr = Sizzle.selectors = {
|
|
1829
1928
|
}
|
1830
1929
|
|
1831
1930
|
// Accept quoted arguments as-is
|
1832
|
-
if ( match[4] ) {
|
1931
|
+
if ( match[3] && match[4] !== undefined ) {
|
1833
1932
|
match[2] = match[4];
|
1834
1933
|
|
1835
1934
|
// Strip excess characters from unquoted arguments
|
@@ -2257,11 +2356,11 @@ function tokenize( selector, parseOnly ) {
|
|
2257
2356
|
// Combinators
|
2258
2357
|
if ( (match = rcombinators.exec( soFar )) ) {
|
2259
2358
|
matched = match.shift();
|
2260
|
-
tokens.push(
|
2359
|
+
tokens.push({
|
2261
2360
|
value: matched,
|
2262
2361
|
// Cast descendant combinators to space
|
2263
2362
|
type: match[0].replace( rtrim, " " )
|
2264
|
-
}
|
2363
|
+
});
|
2265
2364
|
soFar = soFar.slice( matched.length );
|
2266
2365
|
}
|
2267
2366
|
|
@@ -2270,11 +2369,11 @@ function tokenize( selector, parseOnly ) {
|
|
2270
2369
|
if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
|
2271
2370
|
(match = preFilters[ type ]( match ))) ) {
|
2272
2371
|
matched = match.shift();
|
2273
|
-
tokens.push(
|
2372
|
+
tokens.push({
|
2274
2373
|
value: matched,
|
2275
2374
|
type: type,
|
2276
2375
|
matches: match
|
2277
|
-
}
|
2376
|
+
});
|
2278
2377
|
soFar = soFar.slice( matched.length );
|
2279
2378
|
}
|
2280
2379
|
}
|
@@ -2521,7 +2620,10 @@ function matcherFromTokens( tokens ) {
|
|
2521
2620
|
}
|
2522
2621
|
return setMatcher(
|
2523
2622
|
i > 1 && elementMatcher( matchers ),
|
2524
|
-
i > 1 && toSelector(
|
2623
|
+
i > 1 && toSelector(
|
2624
|
+
// If the preceding token was a descendant combinator, insert an implicit any-element `*`
|
2625
|
+
tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
|
2626
|
+
).replace( rtrim, "$1" ),
|
2525
2627
|
matcher,
|
2526
2628
|
i < j && matcherFromTokens( tokens.slice( i, j ) ),
|
2527
2629
|
j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
|
@@ -2683,14 +2785,13 @@ function select( selector, context, results, seed ) {
|
|
2683
2785
|
// Take a shortcut and set the context if the root selector is an ID
|
2684
2786
|
tokens = match[0] = match[0].slice( 0 );
|
2685
2787
|
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
2686
|
-
context.nodeType === 9 && documentIsHTML &&
|
2788
|
+
support.getById && context.nodeType === 9 && documentIsHTML &&
|
2687
2789
|
Expr.relative[ tokens[1].type ] ) {
|
2688
2790
|
|
2689
2791
|
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
2690
2792
|
if ( !context ) {
|
2691
2793
|
return results;
|
2692
2794
|
}
|
2693
|
-
|
2694
2795
|
selector = selector.slice( tokens.shift().value.length );
|
2695
2796
|
}
|
2696
2797
|
|
@@ -2758,31 +2859,6 @@ setDocument();
|
|
2758
2859
|
[0, 0].sort( sortOrder );
|
2759
2860
|
support.detectDuplicates = hasDuplicate;
|
2760
2861
|
|
2761
|
-
// Support: IE<8
|
2762
|
-
// Prevent attribute/property "interpolation"
|
2763
|
-
assert(function( div ) {
|
2764
|
-
div.innerHTML = "<a href='#'></a>";
|
2765
|
-
if ( div.firstChild.getAttribute("href") !== "#" ) {
|
2766
|
-
var attrs = "type|href|height|width".split("|"),
|
2767
|
-
i = attrs.length;
|
2768
|
-
while ( i-- ) {
|
2769
|
-
Expr.attrHandle[ attrs[i] ] = interpolationHandler;
|
2770
|
-
}
|
2771
|
-
}
|
2772
|
-
});
|
2773
|
-
|
2774
|
-
// Support: IE<9
|
2775
|
-
// Use getAttributeNode to fetch booleans when getAttribute lies
|
2776
|
-
assert(function( div ) {
|
2777
|
-
if ( div.getAttribute("disabled") != null ) {
|
2778
|
-
var attrs = booleans.split("|"),
|
2779
|
-
i = attrs.length;
|
2780
|
-
while ( i-- ) {
|
2781
|
-
Expr.attrHandle[ attrs[i] ] = boolHandler;
|
2782
|
-
}
|
2783
|
-
}
|
2784
|
-
});
|
2785
|
-
|
2786
2862
|
jQuery.find = Sizzle;
|
2787
2863
|
jQuery.expr = Sizzle.selectors;
|
2788
2864
|
jQuery.expr[":"] = jQuery.expr.pseudos;
|
@@ -3336,13 +3412,9 @@ Data.prototype = {
|
|
3336
3412
|
|
3337
3413
|
// Handle: [ owner, { properties } ] args
|
3338
3414
|
} else {
|
3339
|
-
//
|
3340
|
-
// objects used to initialize would be set to the cache by
|
3341
|
-
// reference, instead of having properties and values copied.
|
3342
|
-
// Note, this will kill the connection between
|
3343
|
-
// "this.cache[ unlock ]" and "cache"
|
3415
|
+
// Fresh assignments by object are shallow copied
|
3344
3416
|
if ( jQuery.isEmptyObject( cache ) ) {
|
3345
|
-
this.cache[ unlock ]
|
3417
|
+
jQuery.extend( this.cache[ unlock ], data );
|
3346
3418
|
// Otherwise, copy the properties one-by-one to the cache object
|
3347
3419
|
} else {
|
3348
3420
|
for ( prop in data ) {
|
@@ -3350,6 +3422,7 @@ Data.prototype = {
|
|
3350
3422
|
}
|
3351
3423
|
}
|
3352
3424
|
}
|
3425
|
+
return cache;
|
3353
3426
|
},
|
3354
3427
|
get: function( owner, key ) {
|
3355
3428
|
// Either a valid cache is found, or will be created.
|
@@ -3391,7 +3464,7 @@ Data.prototype = {
|
|
3391
3464
|
return value !== undefined ? value : key;
|
3392
3465
|
},
|
3393
3466
|
remove: function( owner, key ) {
|
3394
|
-
var i, name,
|
3467
|
+
var i, name, camel,
|
3395
3468
|
unlock = this.key( owner ),
|
3396
3469
|
cache = this.cache[ unlock ];
|
3397
3470
|
|
@@ -3409,13 +3482,14 @@ Data.prototype = {
|
|
3409
3482
|
// This will only penalize the array argument path.
|
3410
3483
|
name = key.concat( key.map( jQuery.camelCase ) );
|
3411
3484
|
} else {
|
3485
|
+
camel = jQuery.camelCase( key );
|
3412
3486
|
// Try the string as a key before any manipulation
|
3413
3487
|
if ( key in cache ) {
|
3414
|
-
name = [ key ];
|
3488
|
+
name = [ key, camel ];
|
3415
3489
|
} else {
|
3416
3490
|
// If a key with the spaces exists, use it.
|
3417
3491
|
// Otherwise, create an array by matching non-whitespace
|
3418
|
-
name =
|
3492
|
+
name = camel;
|
3419
3493
|
name = name in cache ?
|
3420
3494
|
[ name ] : ( name.match( core_rnotwhite ) || [] );
|
3421
3495
|
}
|
@@ -3433,7 +3507,9 @@ Data.prototype = {
|
|
3433
3507
|
);
|
3434
3508
|
},
|
3435
3509
|
discard: function( owner ) {
|
3436
|
-
|
3510
|
+
if ( owner[ this.expando ] ) {
|
3511
|
+
delete this.cache[ owner[ this.expando ] ];
|
3512
|
+
}
|
3437
3513
|
}
|
3438
3514
|
};
|
3439
3515
|
|
@@ -3486,7 +3562,7 @@ jQuery.fn.extend({
|
|
3486
3562
|
name = attrs[ i ].name;
|
3487
3563
|
|
3488
3564
|
if ( name.indexOf( "data-" ) === 0 ) {
|
3489
|
-
name = jQuery.camelCase( name.
|
3565
|
+
name = jQuery.camelCase( name.slice(5) );
|
3490
3566
|
dataAttr( elem, name, data[ name ] );
|
3491
3567
|
}
|
3492
3568
|
}
|
@@ -3632,7 +3708,6 @@ jQuery.extend({
|
|
3632
3708
|
startLength--;
|
3633
3709
|
}
|
3634
3710
|
|
3635
|
-
hooks.cur = fn;
|
3636
3711
|
if ( fn ) {
|
3637
3712
|
|
3638
3713
|
// Add a progress sentinel to prevent the fx queue from being
|
@@ -3742,7 +3817,7 @@ jQuery.fn.extend({
|
|
3742
3817
|
}
|
3743
3818
|
});
|
3744
3819
|
var nodeHook, boolHook,
|
3745
|
-
rclass = /[\t\r\n]/g,
|
3820
|
+
rclass = /[\t\r\n\f]/g,
|
3746
3821
|
rreturn = /\r/g,
|
3747
3822
|
rfocusable = /^(?:input|select|textarea|button)$/i;
|
3748
3823
|
|
@@ -3925,15 +4000,14 @@ jQuery.fn.extend({
|
|
3925
4000
|
isFunction = jQuery.isFunction( value );
|
3926
4001
|
|
3927
4002
|
return this.each(function( i ) {
|
3928
|
-
var val
|
3929
|
-
self = jQuery(this);
|
4003
|
+
var val;
|
3930
4004
|
|
3931
4005
|
if ( this.nodeType !== 1 ) {
|
3932
4006
|
return;
|
3933
4007
|
}
|
3934
4008
|
|
3935
4009
|
if ( isFunction ) {
|
3936
|
-
val = value.call( this, i,
|
4010
|
+
val = value.call( this, i, jQuery( this ).val() );
|
3937
4011
|
} else {
|
3938
4012
|
val = value;
|
3939
4013
|
}
|
@@ -4048,7 +4122,7 @@ jQuery.extend({
|
|
4048
4122
|
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
|
4049
4123
|
name = name.toLowerCase();
|
4050
4124
|
hooks = jQuery.attrHooks[ name ] ||
|
4051
|
-
( jQuery.expr.match.
|
4125
|
+
( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
|
4052
4126
|
}
|
4053
4127
|
|
4054
4128
|
if ( value !== undefined ) {
|
@@ -4087,7 +4161,7 @@ jQuery.extend({
|
|
4087
4161
|
propName = jQuery.propFix[ name ] || name;
|
4088
4162
|
|
4089
4163
|
// Boolean attributes get special treatment (#10870)
|
4090
|
-
if ( jQuery.expr.match.
|
4164
|
+
if ( jQuery.expr.match.bool.test( name ) ) {
|
4091
4165
|
// Set corresponding property to false
|
4092
4166
|
elem[ propName ] = false;
|
4093
4167
|
}
|
@@ -4171,7 +4245,7 @@ boolHook = {
|
|
4171
4245
|
return name;
|
4172
4246
|
}
|
4173
4247
|
};
|
4174
|
-
jQuery.each( jQuery.expr.match.
|
4248
|
+
jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
|
4175
4249
|
var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr;
|
4176
4250
|
|
4177
4251
|
jQuery.expr.attrHandle[ name ] = function( elem, name, isXML ) {
|
@@ -4752,6 +4826,12 @@ jQuery.event = {
|
|
4752
4826
|
event[ prop ] = originalEvent[ prop ];
|
4753
4827
|
}
|
4754
4828
|
|
4829
|
+
// Support: Cordova 2.5 (WebKit) (#13255)
|
4830
|
+
// All events should have a target; Cordova deviceready doesn't
|
4831
|
+
if ( !event.target ) {
|
4832
|
+
event.target = document;
|
4833
|
+
}
|
4834
|
+
|
4755
4835
|
// Support: Safari 6.0+, Chrome < 28
|
4756
4836
|
// Target should not be a text node (#504, #13143)
|
4757
4837
|
if ( event.target.nodeType === 3 ) {
|
@@ -5063,6 +5143,7 @@ jQuery.fn.extend({
|
|
5063
5143
|
}
|
5064
5144
|
});
|
5065
5145
|
var isSimple = /^.[^:#\[\.,]*$/,
|
5146
|
+
rparentsprev = /^(?:parents|prev(?:Until|All))/,
|
5066
5147
|
rneedsContext = jQuery.expr.match.needsContext,
|
5067
5148
|
// methods guaranteed to produce a unique set when starting from a unique set
|
5068
5149
|
guaranteedUnique = {
|
@@ -5074,13 +5155,14 @@ var isSimple = /^.[^:#\[\.,]*$/,
|
|
5074
5155
|
|
5075
5156
|
jQuery.fn.extend({
|
5076
5157
|
find: function( selector ) {
|
5077
|
-
var
|
5078
|
-
|
5158
|
+
var i,
|
5159
|
+
ret = [],
|
5160
|
+
self = this,
|
5161
|
+
len = self.length;
|
5079
5162
|
|
5080
5163
|
if ( typeof selector !== "string" ) {
|
5081
|
-
self = this;
|
5082
5164
|
return this.pushStack( jQuery( selector ).filter(function() {
|
5083
|
-
for ( i = 0; i <
|
5165
|
+
for ( i = 0; i < len; i++ ) {
|
5084
5166
|
if ( jQuery.contains( self[ i ], this ) ) {
|
5085
5167
|
return true;
|
5086
5168
|
}
|
@@ -5088,15 +5170,14 @@ jQuery.fn.extend({
|
|
5088
5170
|
}) );
|
5089
5171
|
}
|
5090
5172
|
|
5091
|
-
|
5092
|
-
|
5093
|
-
jQuery.find( selector, this[ i ], matched );
|
5173
|
+
for ( i = 0; i < len; i++ ) {
|
5174
|
+
jQuery.find( selector, self[ i ], ret );
|
5094
5175
|
}
|
5095
5176
|
|
5096
5177
|
// Needed because $( selector, context ) becomes $( context ).find( selector )
|
5097
|
-
|
5098
|
-
|
5099
|
-
return
|
5178
|
+
ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
|
5179
|
+
ret.selector = this.selector ? this.selector + " " + selector : selector;
|
5180
|
+
return ret;
|
5100
5181
|
},
|
5101
5182
|
|
5102
5183
|
has: function( target ) {
|
@@ -5122,14 +5203,16 @@ jQuery.fn.extend({
|
|
5122
5203
|
},
|
5123
5204
|
|
5124
5205
|
is: function( selector ) {
|
5125
|
-
return !!
|
5126
|
-
|
5127
|
-
|
5128
|
-
|
5129
|
-
|
5130
|
-
|
5131
|
-
|
5132
|
-
|
5206
|
+
return !!winnow(
|
5207
|
+
this,
|
5208
|
+
|
5209
|
+
// If this is a positional/relative selector, check membership in the returned set
|
5210
|
+
// so $("p:first").is("p:last") won't return true for a doc with two "p".
|
5211
|
+
typeof selector === "string" && rneedsContext.test( selector ) ?
|
5212
|
+
jQuery( selector ) :
|
5213
|
+
selector || [],
|
5214
|
+
false
|
5215
|
+
).length;
|
5133
5216
|
},
|
5134
5217
|
|
5135
5218
|
closest: function( selectors, context ) {
|
@@ -5240,9 +5323,7 @@ jQuery.each({
|
|
5240
5323
|
return jQuery.sibling( elem.firstChild );
|
5241
5324
|
},
|
5242
5325
|
contents: function( elem ) {
|
5243
|
-
return jQuery.
|
5244
|
-
elem.contentDocument || elem.contentWindow.document :
|
5245
|
-
jQuery.merge( [], elem.childNodes );
|
5326
|
+
return elem.contentDocument || jQuery.merge( [], elem.childNodes );
|
5246
5327
|
}
|
5247
5328
|
}, function( name, fn ) {
|
5248
5329
|
jQuery.fn[ name ] = function( until, selector ) {
|
@@ -5262,8 +5343,8 @@ jQuery.each({
|
|
5262
5343
|
jQuery.unique( matched );
|
5263
5344
|
}
|
5264
5345
|
|
5265
|
-
// Reverse order for parents* and prev
|
5266
|
-
if ( name
|
5346
|
+
// Reverse order for parents* and prev-derivatives
|
5347
|
+
if ( rparentsprev.test( name ) ) {
|
5267
5348
|
matched.reverse();
|
5268
5349
|
}
|
5269
5350
|
}
|
@@ -5362,6 +5443,7 @@ var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>
|
|
5362
5443
|
option: [ 1, "<select multiple='multiple'>", "</select>" ],
|
5363
5444
|
|
5364
5445
|
thead: [ 1, "<table>", "</table>" ],
|
5446
|
+
col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
|
5365
5447
|
tr: [ 2, "<table><tbody>", "</tbody></table>" ],
|
5366
5448
|
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
|
5367
5449
|
|
@@ -5371,7 +5453,7 @@ var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>
|
|
5371
5453
|
// Support: IE 9
|
5372
5454
|
wrapMap.optgroup = wrapMap.option;
|
5373
5455
|
|
5374
|
-
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.
|
5456
|
+
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
|
5375
5457
|
wrapMap.th = wrapMap.td;
|
5376
5458
|
|
5377
5459
|
jQuery.fn.extend({
|
@@ -5519,6 +5601,10 @@ jQuery.fn.extend({
|
|
5519
5601
|
parent = args[ i++ ];
|
5520
5602
|
|
5521
5603
|
if ( parent ) {
|
5604
|
+
// Don't use the snapshot next if it has moved (#13810)
|
5605
|
+
if ( next && next.parentNode !== parent ) {
|
5606
|
+
next = this.nextSibling;
|
5607
|
+
}
|
5522
5608
|
jQuery( this ).remove();
|
5523
5609
|
parent.insertBefore( elem, next );
|
5524
5610
|
}
|
@@ -5774,35 +5860,35 @@ jQuery.extend({
|
|
5774
5860
|
},
|
5775
5861
|
|
5776
5862
|
cleanData: function( elems ) {
|
5777
|
-
var data, elem, type,
|
5778
|
-
|
5779
|
-
i = 0
|
5780
|
-
special = jQuery.event.special;
|
5781
|
-
|
5782
|
-
for ( ; i < l; i++ ) {
|
5783
|
-
elem = elems[ i ];
|
5784
|
-
|
5785
|
-
if ( jQuery.acceptData( elem ) ) {
|
5863
|
+
var data, elem, events, type, key, j,
|
5864
|
+
special = jQuery.event.special,
|
5865
|
+
i = 0;
|
5786
5866
|
|
5787
|
-
|
5867
|
+
for ( ; (elem = elems[ i ]) !== undefined; i++ ) {
|
5868
|
+
if ( Data.accepts( elem ) ) {
|
5869
|
+
key = elem[ data_priv.expando ];
|
5788
5870
|
|
5789
|
-
if ( data ) {
|
5790
|
-
|
5791
|
-
|
5792
|
-
|
5871
|
+
if ( key && (data = data_priv.cache[ key ]) ) {
|
5872
|
+
events = Object.keys( data.events || {} );
|
5873
|
+
if ( events.length ) {
|
5874
|
+
for ( j = 0; (type = events[j]) !== undefined; j++ ) {
|
5875
|
+
if ( special[ type ] ) {
|
5876
|
+
jQuery.event.remove( elem, type );
|
5793
5877
|
|
5794
|
-
|
5795
|
-
|
5796
|
-
|
5878
|
+
// This is a shortcut to avoid jQuery.event.remove's overhead
|
5879
|
+
} else {
|
5880
|
+
jQuery.removeEvent( elem, type, data.handle );
|
5881
|
+
}
|
5797
5882
|
}
|
5798
5883
|
}
|
5884
|
+
if ( data_priv.cache[ key ] ) {
|
5885
|
+
// Discard any remaining `private` data
|
5886
|
+
delete data_priv.cache[ key ];
|
5887
|
+
}
|
5799
5888
|
}
|
5800
5889
|
}
|
5801
|
-
// Discard any remaining `
|
5802
|
-
|
5803
|
-
// (Splices the data objects out of the internal cache arrays)
|
5804
|
-
data_user.discard( elem );
|
5805
|
-
data_priv.discard( elem );
|
5890
|
+
// Discard any remaining `user` data
|
5891
|
+
delete data_user.cache[ elem[ data_user.expando ] ];
|
5806
5892
|
}
|
5807
5893
|
},
|
5808
5894
|
|
@@ -5810,10 +5896,10 @@ jQuery.extend({
|
|
5810
5896
|
return jQuery.ajax({
|
5811
5897
|
url: url,
|
5812
5898
|
type: "GET",
|
5813
|
-
dataType: "
|
5899
|
+
dataType: "script",
|
5814
5900
|
async: false,
|
5815
5901
|
global: false,
|
5816
|
-
|
5902
|
+
"throws": true
|
5817
5903
|
});
|
5818
5904
|
}
|
5819
5905
|
});
|
@@ -5868,11 +5954,9 @@ function cloneCopyEvent( src, dest ) {
|
|
5868
5954
|
// 1. Copy private data: events, handlers, etc.
|
5869
5955
|
if ( data_priv.hasData( src ) ) {
|
5870
5956
|
pdataOld = data_priv.access( src );
|
5871
|
-
pdataCur =
|
5957
|
+
pdataCur = data_priv.set( dest, pdataOld );
|
5872
5958
|
events = pdataOld.events;
|
5873
5959
|
|
5874
|
-
data_priv.set( dest, pdataCur );
|
5875
|
-
|
5876
5960
|
if ( events ) {
|
5877
5961
|
delete pdataCur.handle;
|
5878
5962
|
pdataCur.events = {};
|
@@ -6153,7 +6237,7 @@ jQuery.extend({
|
|
6153
6237
|
}
|
6154
6238
|
},
|
6155
6239
|
|
6156
|
-
//
|
6240
|
+
// Don't automatically add "px" to these possibly-unitless properties
|
6157
6241
|
cssNumber: {
|
6158
6242
|
"columnCount": true,
|
6159
6243
|
"fillOpacity": true,
|
@@ -7294,7 +7378,7 @@ jQuery.extend({
|
|
7294
7378
|
}
|
7295
7379
|
|
7296
7380
|
// if no content
|
7297
|
-
if ( status === 204 ) {
|
7381
|
+
if ( status === 204 || s.type === "HEAD" ) {
|
7298
7382
|
statusText = "nocontent";
|
7299
7383
|
|
7300
7384
|
// if not modified
|
@@ -7788,44 +7872,51 @@ var fxNow, timerId,
|
|
7788
7872
|
animationPrefilters = [ defaultPrefilter ],
|
7789
7873
|
tweeners = {
|
7790
7874
|
"*": [function( prop, value ) {
|
7791
|
-
var
|
7792
|
-
tween = this.createTween( prop, value ),
|
7793
|
-
parts = rfxnum.exec( value ),
|
7875
|
+
var tween = this.createTween( prop, value ),
|
7794
7876
|
target = tween.cur(),
|
7795
|
-
|
7877
|
+
parts = rfxnum.exec( value ),
|
7878
|
+
unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
|
7879
|
+
|
7880
|
+
// Starting value computation is required for potential unit mismatches
|
7881
|
+
start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) &&
|
7882
|
+
rfxnum.exec( jQuery.css( tween.elem, prop ) ),
|
7796
7883
|
scale = 1,
|
7797
7884
|
maxIterations = 20;
|
7798
7885
|
|
7799
|
-
if (
|
7800
|
-
|
7801
|
-
unit =
|
7886
|
+
if ( start && start[ 3 ] !== unit ) {
|
7887
|
+
// Trust units reported by jQuery.css
|
7888
|
+
unit = unit || start[ 3 ];
|
7802
7889
|
|
7803
|
-
//
|
7804
|
-
|
7805
|
-
// Iteratively approximate from a nonzero starting point
|
7806
|
-
// Prefer the current property, because this process will be trivial if it uses the same units
|
7807
|
-
// Fallback to end or a simple constant
|
7808
|
-
start = jQuery.css( tween.elem, prop, true ) || end || 1;
|
7890
|
+
// Make sure we update the tween properties later on
|
7891
|
+
parts = parts || [];
|
7809
7892
|
|
7810
|
-
|
7811
|
-
|
7812
|
-
// Use a string for doubling factor so we don't accidentally see scale as unchanged below
|
7813
|
-
scale = scale || ".5";
|
7893
|
+
// Iteratively approximate from a nonzero starting point
|
7894
|
+
start = +target || 1;
|
7814
7895
|
|
7815
|
-
|
7816
|
-
|
7817
|
-
|
7896
|
+
do {
|
7897
|
+
// If previous iteration zeroed out, double until we get *something*
|
7898
|
+
// Use a string for doubling factor so we don't accidentally see scale as unchanged below
|
7899
|
+
scale = scale || ".5";
|
7818
7900
|
|
7819
|
-
//
|
7820
|
-
|
7821
|
-
|
7822
|
-
}
|
7901
|
+
// Adjust and apply
|
7902
|
+
start = start / scale;
|
7903
|
+
jQuery.style( tween.elem, prop, start + unit );
|
7823
7904
|
|
7905
|
+
// Update scale, tolerating zero or NaN from tween.cur()
|
7906
|
+
// And breaking the loop if scale is unchanged or perfect, or if we've just had enough
|
7907
|
+
} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
|
7908
|
+
}
|
7909
|
+
|
7910
|
+
// Update tween properties
|
7911
|
+
if ( parts ) {
|
7912
|
+
start = tween.start = +start || +target || 0;
|
7824
7913
|
tween.unit = unit;
|
7825
|
-
tween.start = start;
|
7826
7914
|
// If a +=/-= token was provided, we're doing a relative animation
|
7827
|
-
tween.end = parts[1] ?
|
7915
|
+
tween.end = parts[ 1 ] ?
|
7916
|
+
start + ( parts[ 1 ] + 1 ) * parts[ 2 ] :
|
7917
|
+
+parts[ 2 ];
|
7828
7918
|
}
|
7919
|
+
|
7829
7920
|
return tween;
|
7830
7921
|
}]
|
7831
7922
|
};
|
@@ -7838,19 +7929,18 @@ function createFxNow() {
|
|
7838
7929
|
return ( fxNow = jQuery.now() );
|
7839
7930
|
}
|
7840
7931
|
|
7841
|
-
function
|
7842
|
-
|
7843
|
-
|
7844
|
-
|
7845
|
-
|
7846
|
-
|
7847
|
-
|
7932
|
+
function createTween( value, prop, animation ) {
|
7933
|
+
var tween,
|
7934
|
+
collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
|
7935
|
+
index = 0,
|
7936
|
+
length = collection.length;
|
7937
|
+
for ( ; index < length; index++ ) {
|
7938
|
+
if ( (tween = collection[ index ].call( animation, prop, value )) ) {
|
7848
7939
|
|
7849
|
-
|
7850
|
-
|
7851
|
-
}
|
7940
|
+
// we're done with this property
|
7941
|
+
return tween;
|
7852
7942
|
}
|
7853
|
-
}
|
7943
|
+
}
|
7854
7944
|
}
|
7855
7945
|
|
7856
7946
|
function Animation( elem, properties, options ) {
|
@@ -7936,7 +8026,7 @@ function Animation( elem, properties, options ) {
|
|
7936
8026
|
}
|
7937
8027
|
}
|
7938
8028
|
|
7939
|
-
|
8029
|
+
jQuery.map( props, createTween, animation );
|
7940
8030
|
|
7941
8031
|
if ( jQuery.isFunction( animation.opts.start ) ) {
|
7942
8032
|
animation.opts.start.call( elem, animation );
|
@@ -8026,12 +8116,12 @@ jQuery.Animation = jQuery.extend( Animation, {
|
|
8026
8116
|
|
8027
8117
|
function defaultPrefilter( elem, props, opts ) {
|
8028
8118
|
/* jshint validthis: true */
|
8029
|
-
var
|
8119
|
+
var prop, value, toggle, tween, hooks, oldfire,
|
8030
8120
|
anim = this,
|
8031
|
-
style = elem.style,
|
8032
8121
|
orig = {},
|
8033
|
-
|
8034
|
-
hidden = elem.nodeType && isHidden( elem )
|
8122
|
+
style = elem.style,
|
8123
|
+
hidden = elem.nodeType && isHidden( elem ),
|
8124
|
+
dataShow = data_priv.get( elem, "fxshow" );
|
8035
8125
|
|
8036
8126
|
// handle queue: false promises
|
8037
8127
|
if ( !opts.queue ) {
|
@@ -8087,30 +8177,31 @@ function defaultPrefilter( elem, props, opts ) {
|
|
8087
8177
|
|
8088
8178
|
|
8089
8179
|
// show/hide pass
|
8090
|
-
|
8091
|
-
|
8092
|
-
value = props[ index ];
|
8180
|
+
for ( prop in props ) {
|
8181
|
+
value = props[ prop ];
|
8093
8182
|
if ( rfxtypes.exec( value ) ) {
|
8094
|
-
delete props[
|
8183
|
+
delete props[ prop ];
|
8095
8184
|
toggle = toggle || value === "toggle";
|
8096
8185
|
if ( value === ( hidden ? "hide" : "show" ) ) {
|
8097
8186
|
|
8098
8187
|
// If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden
|
8099
|
-
if( value === "show" && dataShow
|
8188
|
+
if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
|
8100
8189
|
hidden = true;
|
8101
8190
|
} else {
|
8102
8191
|
continue;
|
8103
8192
|
}
|
8104
8193
|
}
|
8105
|
-
|
8194
|
+
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
|
8106
8195
|
}
|
8107
8196
|
}
|
8108
8197
|
|
8109
|
-
|
8110
|
-
|
8111
|
-
|
8112
|
-
|
8113
|
-
|
8198
|
+
if ( !jQuery.isEmptyObject( orig ) ) {
|
8199
|
+
if ( dataShow ) {
|
8200
|
+
if ( "hidden" in dataShow ) {
|
8201
|
+
hidden = dataShow.hidden;
|
8202
|
+
}
|
8203
|
+
} else {
|
8204
|
+
dataShow = data_priv.access( elem, "fxshow", {} );
|
8114
8205
|
}
|
8115
8206
|
|
8116
8207
|
// store state if its toggle - enables .stop().toggle() to "reverse"
|
@@ -8132,10 +8223,8 @@ function defaultPrefilter( elem, props, opts ) {
|
|
8132
8223
|
jQuery.style( elem, prop, orig[ prop ] );
|
8133
8224
|
}
|
8134
8225
|
});
|
8135
|
-
for (
|
8136
|
-
|
8137
|
-
tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 );
|
8138
|
-
orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop );
|
8226
|
+
for ( prop in orig ) {
|
8227
|
+
tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
|
8139
8228
|
|
8140
8229
|
if ( !( prop in dataShow ) ) {
|
8141
8230
|
dataShow[ prop ] = tween.start;
|
@@ -8266,9 +8355,7 @@ jQuery.fn.extend({
|
|
8266
8355
|
doAnimation = function() {
|
8267
8356
|
// Operate on a copy of prop so per-property easing won't be lost
|
8268
8357
|
var anim = Animation( this, jQuery.extend( {}, prop ), optall );
|
8269
|
-
|
8270
|
-
anim.stop( true );
|
8271
|
-
};
|
8358
|
+
|
8272
8359
|
// Empty animations, or finishing resolves immediately
|
8273
8360
|
if ( empty || data_priv.get( this, "finish" ) ) {
|
8274
8361
|
anim.stop( true );
|
@@ -8348,8 +8435,8 @@ jQuery.fn.extend({
|
|
8348
8435
|
// empty the queue first
|
8349
8436
|
jQuery.queue( this, type, [] );
|
8350
8437
|
|
8351
|
-
if ( hooks && hooks.
|
8352
|
-
hooks.
|
8438
|
+
if ( hooks && hooks.stop ) {
|
8439
|
+
hooks.stop.call( this, true );
|
8353
8440
|
}
|
8354
8441
|
|
8355
8442
|
// look for any active animations, and finish them
|
@@ -8727,7 +8814,7 @@ jQuery.fn.size = function() {
|
|
8727
8814
|
jQuery.fn.andSelf = jQuery.fn.addBack;
|
8728
8815
|
|
8729
8816
|
// })();
|
8730
|
-
if ( typeof module === "object" && typeof module.exports === "object" ) {
|
8817
|
+
if ( typeof module === "object" && module && typeof module.exports === "object" ) {
|
8731
8818
|
// Expose jQuery as module.exports in loaders that implement the Node
|
8732
8819
|
// module pattern (including browserify). Do not create the global, since
|
8733
8820
|
// the user will be storing it themselves locally, and globals are frowned
|