PageSourceSearch

https://verilymag.com/wp-content/plugins/mai-engine/assets/js/global.js?ver=2.40.0.7920262049

js verilymag.com collected 2026-10-02 04:34:43 UTC 1,856 bytes, 62 lines download raw bytes

1( function() {
2	var body           = document.getElementsByTagName( 'body' )[ 0 ];
3	var searchToggles  = document.querySelectorAll( '.search-toggle' );
4
5	var toggleSearchFormEvent = function( event ) {
6		var element = event.target.closest( '.search-icon-form' );
7
8		if ( ! element ) {
9			return;
10		}
11
12		toggleSearchForm( element );
13	}
14
15	var toggleSearchForm = function( element ) {
16		var parent = element.closest( '.search-icon-form' );
17
18		if ( ! parent ) {
19			return;
20		}
21
22		var form   = parent.querySelector( '.search-form' );
23		var toggle = parent.querySelector( '.search-toggle' );
24
25		maiToggleAriaValues( toggle );
26
27		form.classList.toggle( 'search-form-visible' );
28
29		if ( form.classList.contains( 'search-form-visible' ) ) {
30			body.addEventListener( 'keydown', maybeHideSearchForm, false );
31			body.addEventListener( 'click', maybeHideSearchForm, false );
32			form.querySelector( '.search-form-input' ).focus();
33		} else {
34			body.removeEventListener( 'keydown', maybeHideSearchForm, false );
35			body.removeEventListener( 'click', maybeHideSearchForm, false );
36		}
37	};
38
39	var maybeHideSearchForm = function( event ) {
40		if ( ! event.target.closest( '.search-icon-form' ) || [ 'Escape', 'Esc' ].includes( event.key ) ) {
41			var visibleSearchToggles = document.querySelectorAll( '.search-form-visible' );
42
43			visibleSearchToggles.forEach( function( searchToggle ) {
44				toggleSearchForm( searchToggle );
45			});
46		}
47	};
48
49	// Handles search toggle and form.
50	searchToggles.forEach( function( searchToggle ) {
51		searchToggle.addEventListener( 'click', toggleSearchFormEvent, false );
52	});
53} )();
54
55function maiToggleAriaValues( element ) {
56	var ariaValue = element.getAttribute( 'aria-expanded' ) === 'false' ? 'true' : 'false';
57
58	element.setAttribute( 'aria-expanded', ariaValue );
59	element.setAttribute( 'aria-pressed', ariaValue );
60
61	return element;
62};

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.