1( function( window ) { 2'use strict'; 3function classReg( className ) { 4 return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); 5} 6var hasClass, addClass, removeClass; 7if ( 'classList' in document.documentElement ) { 8 hasClass = function( elem, c ) { 9 return elem.classList.contains( c ); 10 }; 11 addClass = function( elem, c ) { 12 elem.classList.add( c ); 13 }; 14 removeClass = function( elem, c ) { 15 elem.classList.remove( c ); 16 }; 17} 18else { 19 hasClass = function( elem, c ) { 20 return classReg( c ).test( elem.className ); 21 }; 22 addClass = function( elem, c ) { 23 if ( !hasClass( elem, c ) ) { 24 elem.className = elem.className + ' ' + c; 25 } 26 }; 27 removeClass = function( elem, c ) { 28 elem.className = elem.className.replace( classReg( c ), ' ' ); 29 }; 30} 31function toggleClass( elem, c ) { 32 var fn = hasClass( elem, c ) ? removeClass : addClass; 33 fn( elem, c ); 34} 35var smoothHeader = { 36 hasClass: hasClass, 37 addClass: addClass, 38 removeClass: removeClass, 39 toggleClass: toggleClass, 40 has: hasClass, 41 add: addClass, 42 remove: removeClass, 43 toggle: toggleClass 44}; 45if ( typeof define === 'function' && define.amd ) { 46 define( smoothHeader ); 47} else { 48 window.smoothHeader = smoothHeader; 49} 50})( window );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.