PageSourceSearch

https://page.org/wp-content/plugins/bfm-framework-blocks/js/progression-journey-stairs.js?ver=1790290487

js page.org collected 2026-10-02 02:56:11 UTC 1,375 bytes, 42 lines download raw bytes

1( function () {
2	'use strict';
3
4	document.addEventListener( 'DOMContentLoaded', function () {
5		var blocks = document.querySelectorAll( '[data-pjp]' );
6		if ( ! blocks.length ) return;
7
8		// Scroll-in animation
9		var observer = new IntersectionObserver(
10			function ( entries ) {
11				entries.forEach( function ( entry ) {
12					if ( entry.isIntersecting ) {
13						entry.target.classList.add( 'is-animating' );
14						observer.unobserve( entry.target );
15					}
16				} );
17			},
18			{ threshold: 0.2 }
19		);
20
21		blocks.forEach( function ( block ) {
22			observer.observe( block );
23
24			// Hover: add pjp--hover-N to block root so CSS can scale
25			// both the SVG step group and the matching HTML caption.
26			function addHover( n ) { block.classList.add( 'pjp--hover-' + n ); }
27			function removeHover( n ) { block.classList.remove( 'pjp--hover-' + n ); }
28
29			block.querySelectorAll( '[data-step]' ).forEach( function ( el ) {
30				var n = el.dataset.step;
31				el.addEventListener( 'mouseenter', function () { addHover( n ); } );
32				el.addEventListener( 'mouseleave', function () { removeHover( n ); } );
33			} );
34
35			block.querySelectorAll( '[data-cap]' ).forEach( function ( el ) {
36				var n = el.dataset.cap;
37				el.addEventListener( 'mouseenter', function () { addHover( n ); } );
38				el.addEventListener( 'mouseleave', function () { removeHover( n ); } );
39			} );
40		} );
41	} );
42} )();

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.