Download node_modules/jquery/src/selector-native.js from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 5.17 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/node_modules/jquery/src/selector-native.js
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/node_modules/jquery/src/selector-native.js
-
curl -L -o selector-native.js https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/node_modules/jquery/src/selector-native.js
5.17 kB
| define( [ | |
| "./core", | |
| "./var/document", | |
| "./var/documentElement", | |
| "./var/hasOwn", | |
| "./var/indexOf", | |
| "./var/slice", | |
| // The following utils are attached directly to the jQuery object. | |
| "./selector/contains", | |
| "./selector/escapeSelector" | |
| ], function( jQuery, document, documentElement, hasOwn, indexOf, slice ) { | |
| ; | |
| /* | |
| * Optional limited selector module for custom builds. | |
| * | |
| * Note that this DOES NOT SUPPORT many documented jQuery | |
| * features in exchange for its smaller size: | |
| * | |
| * * Attribute not equal selector (!=) | |
| * * Positional selectors (:first; :eq(n); :odd; etc.) | |
| * * Type selectors (:input; :checkbox; :button; etc.) | |
| * * State-based selectors (:animated; :visible; :hidden; etc.) | |
| * * :has(selector) | |
| * * :not(complex selector) | |
| * * custom selectors via jQuery extensions | |
| * * Leading combinators (e.g., $collection.find("> *")) | |
| * * Reliable functionality on XML fragments | |
| * * Requiring all parts of a selector to match elements under context | |
| * (e.g., $div.find("div > *") now matches children of $div) | |
| * * Matching against non-elements | |
| * * Reliable sorting of disconnected nodes | |
| * * querySelectorAll bug fixes (e.g., unreliable :focus on WebKit) | |
| * | |
| * If any of these are unacceptable tradeoffs, either use the full | |
| * selector engine or customize this stub for the project's specific | |
| * needs. | |
| */ | |
| var hasDuplicate, sortInput, | |
| sortStable = jQuery.expando.split( "" ).sort( sortOrder ).join( "" ) === jQuery.expando, | |
| matches = documentElement.matches || | |
| documentElement.webkitMatchesSelector || | |
| documentElement.msMatchesSelector; | |
| function sortOrder( a, b ) { | |
| // Flag for duplicate removal | |
| if ( a === b ) { | |
| hasDuplicate = true; | |
| return 0; | |
| } | |
| // Sort on method existence if only one input has compareDocumentPosition | |
| var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; | |
| if ( compare ) { | |
| return compare; | |
| } | |
| // Calculate position if both inputs belong to the same document | |
| compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? | |
| a.compareDocumentPosition( b ) : | |
| // Otherwise we know they are disconnected | |
| 1; | |
| // Disconnected nodes | |
| if ( compare & 1 ) { | |
| // Choose the first element that is related to our preferred document | |
| if ( a === document || a.ownerDocument === document && | |
| jQuery.contains( document, a ) ) { | |
| return -1; | |
| } | |
| if ( b === document || b.ownerDocument === document && | |
| jQuery.contains( document, b ) ) { | |
| return 1; | |
| } | |
| // Maintain original order | |
| return sortInput ? | |
| ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : | |
| 0; | |
| } | |
| return compare & 4 ? -1 : 1; | |
| } | |
| function uniqueSort( results ) { | |
| var elem, | |
| duplicates = [], | |
| j = 0, | |
| i = 0; | |
| hasDuplicate = false; | |
| sortInput = !sortStable && results.slice( 0 ); | |
| results.sort( sortOrder ); | |
| if ( hasDuplicate ) { | |
| while ( ( elem = results[ i++ ] ) ) { | |
| if ( elem === results[ i ] ) { | |
| j = duplicates.push( i ); | |
| } | |
| } | |
| while ( j-- ) { | |
| results.splice( duplicates[ j ], 1 ); | |
| } | |
| } | |
| // Clear input after sorting to release objects | |
| // See https://github.com/jquery/sizzle/pull/225 | |
| sortInput = null; | |
| return results; | |
| } | |
| jQuery.extend( { | |
| // This method cannot be shared with the main selector module | |
| // as it does in 4.x because of an edge case quirk of putting | |
| // disconnected elements in the preferred document before other | |
| // elements in the full selector module. This will be a minor | |
| // breaking change in 4.0.0. | |
| uniqueSort: uniqueSort, | |
| unique: uniqueSort, | |
| find: function( selector, context, results, seed ) { | |
| var elem, nodeType, | |
| i = 0; | |
| results = results || []; | |
| context = context || document; | |
| // Same basic safeguard as in the full selector module | |
| if ( !selector || typeof selector !== "string" ) { | |
| return results; | |
| } | |
| // Early return if context is not an element, document or document fragment | |
| if ( ( nodeType = context.nodeType ) !== 1 && nodeType !== 9 && nodeType !== 11 ) { | |
| return []; | |
| } | |
| if ( seed ) { | |
| while ( ( elem = seed[ i++ ] ) ) { | |
| if ( jQuery.find.matchesSelector( elem, selector ) ) { | |
| results.push( elem ); | |
| } | |
| } | |
| } else { | |
| jQuery.merge( results, context.querySelectorAll( selector ) ); | |
| } | |
| return results; | |
| }, | |
| expr: { | |
| attrHandle: {}, | |
| match: { | |
| bool: new RegExp( "^(?:checked|selected|async|autofocus|autoplay|controls|defer" + | |
| "|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", "i" ), | |
| needsContext: /^[\x20\t\r\n\f]*[>+~]/ | |
| } | |
| } | |
| } ); | |
| jQuery.fn.uniqueSort = function() { | |
| return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); | |
| }; | |
| jQuery.extend( jQuery.find, { | |
| matches: function( expr, elements ) { | |
| return jQuery.find( expr, null, null, elements ); | |
| }, | |
| matchesSelector: function( elem, expr ) { | |
| return matches.call( elem, expr ); | |
| }, | |
| attr: function( elem, name ) { | |
| var fn = jQuery.expr.attrHandle[ name.toLowerCase() ], | |
| // Don't get fooled by Object.prototype properties (jQuery trac-13807) | |
| value = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ? | |
| fn( elem, name, jQuery.isXMLDoc( elem ) ) : | |
| undefined; | |
| return value !== undefined ? value : elem.getAttribute( name ); | |
| } | |
| } ); | |
| } ); | |