diff options
Diffstat (limited to 'libs/bower_components/jquery/src/css')
10 files changed, 192 insertions, 145 deletions
diff --git a/libs/bower_components/jquery/src/css/addGetHookIf.js b/libs/bower_components/jquery/src/css/addGetHookIf.js index 7efcbc860e..9cd21f6833 100644 --- a/libs/bower_components/jquery/src/css/addGetHookIf.js +++ b/libs/bower_components/jquery/src/css/addGetHookIf.js @@ -1,32 +1,24 @@ -define(function() { +define( function() { function addGetHookIf( conditionFn, hookFn ) { + // Define the hook, we'll check on the first run if it's really needed. return { get: function() { - var condition = conditionFn(); + if ( conditionFn() ) { - if ( condition == null ) { - // The test was not ready at this point; screw the hook this time - // but check again when needed next time. - return; - } - - if ( condition ) { - // Hook not needed (or it's not possible to use it due to missing dependency), - // remove it. - // Since there are no other hooks for marginRight, remove the whole object. + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. delete this.get; return; } // Hook needed; redefine it so that the support test is not executed again. - - return (this.get = hookFn).apply( this, arguments ); + return ( this.get = hookFn ).apply( this, arguments ); } }; } return addGetHookIf; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/curCSS.js b/libs/bower_components/jquery/src/css/curCSS.js index 1f3b734288..40ea397176 100644 --- a/libs/bower_components/jquery/src/css/curCSS.js +++ b/libs/bower_components/jquery/src/css/curCSS.js @@ -1,17 +1,29 @@ -define([ +define( [ "exports", "../core", + "../var/documentElement", "./var/rnumnonpx", "./var/rmargin", + "./support", "../selector" // contains -], function( exports, jQuery, rnumnonpx, rmargin ) { +], function( exports, jQuery, documentElement, rnumnonpx, rmargin, support ) { var getStyles, curCSS, rposition = /^(top|right|bottom|left)$/; if ( window.getComputedStyle ) { getStyles = function( elem ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); + + // Support: IE<=11+, Firefox<=30+ (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); }; curCSS = function( elem, name, computed ) { @@ -23,17 +35,23 @@ if ( window.getComputedStyle ) { // getPropertyValue is only needed for .css('filter') in IE9, see #12537 ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined; - if ( computed ) { + // Support: Opera 12.1x only + // Fall back to style even without computed + // computed is undefined for elems on document fragments + if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } + if ( computed ) { // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + // Chrome < 17 and Safari 5.0 uses "computed value" + // instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, + // but width seems to be reliably pixels + // this is against the CSSOM draft spec: + // http://dev.w3.org/csswg/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { // Remember the original values width = style.width; @@ -57,7 +75,7 @@ if ( window.getComputedStyle ) { ret : ret + ""; }; -} else if ( document.documentElement.currentStyle ) { +} else if ( documentElement.currentStyle ) { getStyles = function( elem ) { return elem.currentStyle; }; @@ -80,8 +98,10 @@ if ( window.getComputedStyle ) { // If we're not dealing with a regular pixel number // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + // but not position css attributes, as those are + // proportional to the parent element instead + // and we can't measure the parent instead because it + // might trigger a "stacking dolls" problem if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { // Remember the original values @@ -114,4 +134,4 @@ if ( window.getComputedStyle ) { exports.getStyles = getStyles; exports.curCSS = curCSS; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/defaultDisplay.js b/libs/bower_components/jquery/src/css/defaultDisplay.js index 210ad4a805..2ec5d8a7a3 100644 --- a/libs/bower_components/jquery/src/css/defaultDisplay.js +++ b/libs/bower_components/jquery/src/css/defaultDisplay.js @@ -1,27 +1,29 @@ -define([ +define( [ "../core", + "../var/document", "../manipulation" // appendTo -], function( jQuery ) { +], function( jQuery, document ) { var iframe, - elemdisplay = {}; + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; /** * Retrieve the actual display of a element * @param {String} name nodeName of the element * @param {Object} doc Document object */ + // Called only from within defaultDisplay function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); + display = jQuery.css( elem[ 0 ], "display" ); // We don't have any data stored on the element, // so use "detach" method as fast way to get rid of the element @@ -45,7 +47,8 @@ function defaultDisplay( nodeName ) { if ( display === "none" || !display ) { // Use the already-created iframe if possible - iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement ); + iframe = ( iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" ) ) + .appendTo( doc.documentElement ); // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document; @@ -66,4 +69,4 @@ function defaultDisplay( nodeName ) { } return defaultDisplay; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/hiddenVisibleSelectors.js b/libs/bower_components/jquery/src/css/hiddenVisibleSelectors.js index 0bd86c80ff..e75ff5fc39 100644 --- a/libs/bower_components/jquery/src/css/hiddenVisibleSelectors.js +++ b/libs/bower_components/jquery/src/css/hiddenVisibleSelectors.js @@ -1,20 +1,42 @@ -define([ +define( [ "../core", + "../var/document", "./support", "../selector", "../css" -], function( jQuery, support ) { +], function( jQuery, document, support ) { + +function getDisplay( elem ) { + return elem.style && elem.style.display || jQuery.css( elem, "display" ); +} + +function filterHidden( elem ) { + + // Disconnected elements are considered hidden + if ( !jQuery.contains( elem.ownerDocument || document, elem ) ) { + return true; + } + while ( elem && elem.nodeType === 1 ) { + if ( getDisplay( elem ) === "none" || elem.type === "hidden" ) { + return true; + } + elem = elem.parentNode; + } + return false; +} jQuery.expr.filters.hidden = function( elem ) { + // Support: Opera <= 12.12 // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || - (!support.reliableHiddenOffsets() && - ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); + return support.reliableHiddenOffsets() ? + ( elem.offsetWidth <= 0 && elem.offsetHeight <= 0 && + !elem.getClientRects().length ) : + filterHidden( elem ); }; jQuery.expr.filters.visible = function( elem ) { return !jQuery.expr.filters.hidden( elem ); }; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/support.js b/libs/bower_components/jquery/src/css/support.js index 4a8fc87ac1..6509df2b06 100644 --- a/libs/bower_components/jquery/src/css/support.js +++ b/libs/bower_components/jquery/src/css/support.js @@ -1,58 +1,73 @@ -define([ +define( [ "../core", + "../var/document", + "../var/documentElement", "../var/support" -], function( jQuery, support ) { +], function( jQuery, document, documentElement, support ) { -(function() { - // Minified: var b,c,d,e,f,g, h,i - var div, style, a, pixelPositionVal, boxSizingReliableVal, - reliableHiddenOffsetsVal, reliableMarginRightVal; - - // Setup - div = document.createElement( "div" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - a = div.getElementsByTagName( "a" )[ 0 ]; - style = a && a.style; +( function() { + var pixelPositionVal, pixelMarginRightVal, boxSizingReliableVal, + reliableHiddenOffsetsVal, reliableMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); // Finish early in limited (non-browser) environments - if ( !style ) { + if ( !div.style ) { return; } - style.cssText = "float:left;opacity:.5"; + div.style.cssText = "float:left;opacity:.5"; // Support: IE<9 // Make sure that element opacity exists (as opposed to filter) - support.opacity = style.opacity === "0.5"; + support.opacity = div.style.opacity === "0.5"; // Verify style float existence // (IE uses styleFloat instead of cssFloat) - support.cssFloat = !!style.cssFloat; + support.cssFloat = !!div.style.cssFloat; div.style.backgroundClip = "content-box"; div.cloneNode( true ).style.backgroundClip = ""; support.clearCloneStyle = div.style.backgroundClip === "content-box"; + container = document.createElement( "div" ); + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + div.innerHTML = ""; + container.appendChild( div ); + // Support: Firefox<29, Android 2.3 // Vendor-prefix box-sizing - support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" || - style.WebkitBoxSizing === ""; + support.boxSizing = div.style.boxSizing === "" || div.style.MozBoxSizing === "" || + div.style.WebkitBoxSizing === ""; - jQuery.extend(support, { + jQuery.extend( support, { reliableHiddenOffsets: function() { - if ( reliableHiddenOffsetsVal == null ) { + if ( pixelPositionVal == null ) { computeStyleTests(); } return reliableHiddenOffsetsVal; }, boxSizingReliable: function() { - if ( boxSizingReliableVal == null ) { + + // We're checking for pixelPositionVal here instead of boxSizingReliableVal + // since that compresses better and they're computed together anyway. + if ( pixelPositionVal == null ) { computeStyleTests(); } return boxSizingReliableVal; }, + pixelMarginRight: function() { + + // Support: Android 4.0-4.3 + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return pixelMarginRightVal; + }, + pixelPosition: function() { if ( pixelPositionVal == null ) { computeStyleTests(); @@ -60,50 +75,59 @@ define([ return pixelPositionVal; }, - // Support: Android 2.3 reliableMarginRight: function() { - if ( reliableMarginRightVal == null ) { + + // Support: Android 2.3 + if ( pixelPositionVal == null ) { computeStyleTests(); } return reliableMarginRightVal; - } - }); + }, - function computeStyleTests() { - // Minified: var b,c,d,j - var div, body, container, contents; + reliableMarginLeft: function() { - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Test fired too early or in an unsupported environment, exit. - return; + // Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37 + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return reliableMarginLeftVal; } + } ); + + function computeStyleTests() { + var contents, divStyle, + documentElement = document.documentElement; // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); + documentElement.appendChild( container ); div.style.cssText = - // Support: Firefox<29, Android 2.3 + + // Support: Android 2.3 // Vendor-prefix box-sizing - "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" + - "box-sizing:border-box;display:block;margin-top:1%;top:1%;" + - "border:1px;padding:1px;width:4px;position:absolute"; + "-webkit-box-sizing:border-box;box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; // Support: IE<9 // Assume reasonable values in the absence of getComputedStyle - pixelPositionVal = boxSizingReliableVal = false; - reliableMarginRightVal = true; + pixelPositionVal = boxSizingReliableVal = reliableMarginLeftVal = false; + pixelMarginRightVal = reliableMarginRightVal = true; // Check for getComputedStyle so that this code is not run in IE<9. if ( window.getComputedStyle ) { - pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - boxSizingReliableVal = - ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + divStyle = window.getComputedStyle( div ); + pixelPositionVal = ( divStyle || {} ).top !== "1%"; + reliableMarginLeftVal = ( divStyle || {} ).marginLeft === "2px"; + boxSizingReliableVal = ( divStyle || { width: "4px" } ).width === "4px"; - // Support: Android 2.3 + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = ( divStyle || { marginRight: "4px" } ).marginRight === "4px"; + + // Support: Android 2.3 only // Div with explicit width and no margin-right incorrectly // gets computed margin-right based on width of container (#3333) // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right @@ -111,7 +135,8 @@ define([ // Reset CSS: box-sizing; display; margin; border; padding contents.style.cssText = div.style.cssText = - // Support: Firefox<29, Android 2.3 + + // Support: Android 2.3 // Vendor-prefix box-sizing "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; @@ -119,31 +144,41 @@ define([ div.style.width = "1px"; reliableMarginRightVal = - !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight ); + !parseFloat( ( window.getComputedStyle( contents ) || {} ).marginRight ); + + div.removeChild( contents ); } - // Support: IE8 + // Support: IE6-8 + // First check that getClientRects works as expected // Check if table cells still have offsetWidth/Height when they are set // to display:none and there are still other visible table cells in a // table row; if so, offsetWidth/Height are not reliable for use when // determining if an element has been hidden directly using // display:none (it is still safe to use offsets if a parent element is // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; - contents = div.getElementsByTagName( "td" ); - contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none"; - reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + div.style.display = "none"; + reliableHiddenOffsetsVal = div.getClientRects().length === 0; if ( reliableHiddenOffsetsVal ) { - contents[ 0 ].style.display = ""; - contents[ 1 ].style.display = "none"; + div.style.display = ""; + div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; + div.childNodes[ 0 ].style.borderCollapse = "separate"; + contents = div.getElementsByTagName( "td" ); + contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none"; reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + if ( reliableHiddenOffsetsVal ) { + contents[ 0 ].style.display = ""; + contents[ 1 ].style.display = "none"; + reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + } } - body.removeChild( container ); + // Teardown + documentElement.removeChild( container ); } -})(); +} )(); return support; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/swap.js b/libs/bower_components/jquery/src/css/swap.js deleted file mode 100644 index ce16435311..0000000000 --- a/libs/bower_components/jquery/src/css/swap.js +++ /dev/null @@ -1,28 +0,0 @@ -define([ - "../core" -], function( jQuery ) { - -// A method for quickly swapping in/out CSS properties to get correct calculations. -jQuery.swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - -return jQuery.swap; - -}); diff --git a/libs/bower_components/jquery/src/css/var/cssExpand.js b/libs/bower_components/jquery/src/css/var/cssExpand.js index 91e90a88a0..9f8194dc88 100644 --- a/libs/bower_components/jquery/src/css/var/cssExpand.js +++ b/libs/bower_components/jquery/src/css/var/cssExpand.js @@ -1,3 +1,3 @@ -define(function() { +define( function() { return [ "Top", "Right", "Bottom", "Left" ]; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/var/isHidden.js b/libs/bower_components/jquery/src/css/var/isHidden.js index 15ab81a979..7997efff18 100644 --- a/libs/bower_components/jquery/src/css/var/isHidden.js +++ b/libs/bower_components/jquery/src/css/var/isHidden.js @@ -1,13 +1,16 @@ -define([ +define( [ "../../core", "../../selector" + // css is assumed ], function( jQuery ) { return function( elem, el ) { + // isHidden might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); }; -}); +} ); diff --git a/libs/bower_components/jquery/src/css/var/rmargin.js b/libs/bower_components/jquery/src/css/var/rmargin.js index da0438db67..9be2212435 100644 --- a/libs/bower_components/jquery/src/css/var/rmargin.js +++ b/libs/bower_components/jquery/src/css/var/rmargin.js @@ -1,3 +1,3 @@ -define(function() { - return (/^margin/); -}); +define( function() { + return ( /^margin/ ); +} ); diff --git a/libs/bower_components/jquery/src/css/var/rnumnonpx.js b/libs/bower_components/jquery/src/css/var/rnumnonpx.js index c93be28506..ed13f0b985 100644 --- a/libs/bower_components/jquery/src/css/var/rnumnonpx.js +++ b/libs/bower_components/jquery/src/css/var/rnumnonpx.js @@ -1,5 +1,5 @@ -define([ +define( [ "../../var/pnum" ], function( pnum ) { return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); -}); +} ); |