PageSourceSearch

https://www.rockthevote.org/wp-content/plugins/divi-icons-pro/assets/js/b3icons.js?ver=1.3.0

js rockthevote.org collected 2026-09-24 08:45:21 UTC 18,209 bytes, 511 lines download raw bytes

1(function( $ ) {
2	var divi_module_list = [
3		'.et_overlay',
4		'.et-pb-icon',
5		'.et_pb_shop',
6		'.single_add_to_cart_button',
7		'.dipi_btt_wrapper',
8		'.et_pb_button.et_pb_custom_button_icon',
9		'.et_pb_de_mach_view_button .et_pb_button',
10		'.et_pb_more_button',
11		'.et_pb_dmb_breadcrumbs li[data-icon]',
12		'.et_pb_dmb_breadcrumbs a[data-icon]',
13		'.dgpc_product_carousel .swiper-button-prev',
14		'.dgpc_product_carousel .swiper-button-next',
15		'.et_pb_b3_testimonial_grid_slider .swiper-button-next',
16		'.et_pb_b3_testimonial_grid_slider .swiper-button-prev',
17		'.dipi_blog_slider .swiper-button-next',
18		'.dipi_blog_slider .swiper-button-prev',
19		'.et_pb_testimonial_slider .swiper-button-next',
20		'.et_pb_testimonial_slider .swiper-button-prev',
21		'.dipi-blog-slider-main .swiper-button-prev',
22		'.dipi-blog-slider-main .swiper-button-next',
23		'.swiper-button-prev',
24		'.swiper-button-next',
25		'.dsm_icon_list_icon',
26		'.dp-dfg-search-icon',
27		'.dgbc_blog_carousel .dgbc_post_item .dg_read_more_wrapper a',
28		'.dnext-sid-text-divider-icon',
29		'.dnext-3d-transform-flpb-inner.dnext-3d-flpb-flibbox-icon-front .et_pb_animation_top',
30		'.dnext-3d-transform-flpb-inner.dnext-3d-flpb-flibbox-icon-back .et_pb_animation_top',
31		'.dnext-flpb-flibbox-front span.dnext-flpb-flibbox-icon-font',
32		'.dnext-flpb-flibbox-back span.dnext-flpb-flibbox-icon-back',
33		'.dnxt-nie-uih-btn',
34		'.dnxte-badge-icon',
35		'.dnxte-feature-list-icon',
36		'.dnxte-hotspot_icon',
37		'.dnxt-btn-icon i',
38		'.elegantshop-add-button .add_to_cart_button',
39		'.elegantshop-add-button .elegantshop-click-etfonts',
40		'.elegantshop-nav.elegantshop-carousel-button-prev',
41		'.elegantshop-nav.elegantshop-carousel-button-next',
42		'.elegantshop-cart-icon',
43		'.et_pb_button.dp-dfg-more-button',
44		'.owl-carousel .owl-next',
45		'.owl-carousel .owl-prev',
46		'.elegantshop-cart-button',
47		'.ribbon-icon',
48		'.dipl_button_icon',
49		'.et_pb_inline_icon',
50		'.single_add_to_cart_button',
51		'.dnxt-blurb-btn i',
52		'.dipi-faq-icon-closed',
53		'.dipi-faq-icon-open',
54		'.dipl-breadcrumb-inner li',
55		'.reset-filters.et_pb_button',
56		'.et_pb_button'
57	];
58
59	var divi_module_list_toggles = [
60		'.et-core-control-toggle',
61		'.et-fb-form__toggle[data-name="button"]',
62		'.et-fb-form__toggle[data-name="button_one"]',
63		'.et-fb-form__toggle[data-name="button_two"]',
64		'.et-fb-form__toggle[data-name="image"]',
65		'.et-fb-form__toggle[data-name="overlay"]',
66	];
67
68	let all_divi_module_list         = divi_module_list.join();
69	let all_divi_module_list_toggles = divi_module_list_toggles.join();
70	let fb_list                      = '.et-fb-font-icon-list';
71	let fb_frame_selector            = 'et-fb-app-frame';
72	let icons_container_selector     = '.et-fb-font-icon-list div';
73    let clear_filter_selector = 'div.et-fb-options-filter-button-wrap > div > button:nth-child(2)';
74    let filter__item_selector = '.et-fb-icons-filter-dropdown-wrap li';
75
76	function is_et_fb_pro() {
77		if( $( '#et-fb-app' ).length ) { return true; } // is page builder app
78		return false;
79	}
80	if( $('#et-fb-app').length && inIframe() ) {	// frontend visual builder
81		var targetNode = document.getElementById( 'et-fb-app' );
82		var config = { characterData: true, childList: true, subtree: true, attributes: true };
83		var callback = function( mutationsList ) {
84			mutationsList.forEach(function (thisMutation) {
85				if (  thisMutation.type == "attributes" || thisMutation.type ==  "characterData" ) {
86					var target = thisMutation.target;
87					if ( $(target).attr('id') === 'et-fb-app' || $(target).attr('id') === 'et_fb_root' || $(target).hasClass('et_pb_section') || $(target).hasClass('et_pb_row') || $(target).hasClass('et_pb_column') ) {
88						b3_process_moudle_icons(false)
89					}
90				}
91			});
92		}
93		var observer = new MutationObserver(callback);
94		observer.observe(targetNode, config);
95	} else { // Frontent
96		b3_process_moudle_icons(true)
97	}
98	if(($('#et-fb-app').length && !inIframe()) ||
99		($('body.extra_page_et_theme_builder').length && !inIframe()) ||
100	 	($('body.divi_page_et_theme_builder').length && !inIframe()) ||
101	 	($('body.et-bfb').length && !inIframe())) {
102		var targetNode = null;
103
104		if($('#et-fb-app').length)
105			targetNode = document.getElementById( 'et-fb-app' );
106		else if($('body.divi_page_et_theme_builder').length)
107			targetNode = $('body.divi_page_et_theme_builder')[0];
108		else if($('body.extra_page_et_theme_builder').length)
109			targetNode = $('body.extra_page_et_theme_builder')[0];
110		else
111			targetNode = $('body.et-bfb')[0];
112
113		var config = { childList: true, subtree: true };
114		var callback = function( mutationsList ) {
115			mutationsList.forEach(function (thisMutation) {
116				if ( thisMutation.type == 'childList' ) {
117					if($('.et-fb-font-icon-list').length){
118							$('.et-fb-font-icon-list').each(function(i, elem){
119								setTimeout(function(){
120									b3_process_fb_icon_lists();
121								}, 100);
122								 
123							})
124					}
125				}
126			});
127		}
128		var observer = new MutationObserver(callback);
129		observer.observe(targetNode, config);
130	}
131
132	$(document).on('click', fb_list + ' div > li', function(e) {
133		let item = this;
134		b3_hide_icons();
135		setTimeout(function() {
136			b3_process_icon_list_item(item)
137
138			$(icons_container_selector).each(function(i, el){
139				var icon_list_ul = $(el)
140				var icon_list_children = icon_list_ul.children();
141				for( var i = 0; i < icon_list_children.length; i++ ) {
142					var icon_item = icon_list_children[i];
143					if(!icon_item.classList.contains('b3-divi-processed'))
144						b3_process_icon_list_item(icon_item);
145				}
146			});
147
148			b3_process_icons();
149			b3_show_icons();
150		}, 100);
151	});
152	// $(document).ajaxComplete(function() {
153	// 	b3_hide_icons();
154	// 	setTimeout(function() {
155	// 		//   b3_process_fb_icon_lists();
156	// 		  b3_process_icons();
157	// 		  b3_show_icons();
158	// 	}, 100);
159	// });
160
161	function b3_process_moudle_icons(hide){
162		if(hide)
163			b3_hide_icons();
164		setTimeout(function() {
165			b3_process_icons();
166			if(hide)
167				b3_show_icons();
168		}, 100);
169	}
170	function inIframe () {
171		try {
172			return window.self !== window.top;
173		} catch (e) {
174			return true;
175		}
176	}
177 
178	function is_iic($element){ // is icon in content not in pseudo element (before|after)
179		if($element.hasClass('b3-iic') || $element.html().indexOf("|") > -1 || $element.html().indexOf("~|") > -1)
180			return true;
181		return false;
182	}
183
184	function b3_process_element_icon($element, data_icon) {
185		var symbol_data,
186			iconContent
187			icon_in_content = false;
188
189		if($element.hasClass('b3-iic') || $element.html().indexOf("|") > -1 || $element.html().indexOf("~|") > -1)
190			icon_in_content = true;
191			
192		if(typeof(data_icon) != 'undefined' ) {
193			iconContent = data_icon;
194		} else {
195			if ( is_iic($element) )
196				iconContent = $element.html();
197			else
198				iconContent = $element.attr('data-icon')
199		}
200		if(!$element.hasClass('b3_divi_icon_fd')){
201			$element.attr('data-b3c', '');
202			$element.attr('data-iconfamily', '');
203			$element.css("visibility", 'visible');
204		}
205		if(typeof (iconContent) == 'undefined') return;
206		if(iconContent.indexOf("~|") >-1 )
207			symbol_data = iconContent.split("~|");
208		else if(iconContent.indexOf("|") >-1 )
209			symbol_data = iconContent.split("|");
210		else
211			return
212
213		$element.attr( 'data-icon', symbol_data[2] );
214		$element.removeClass('b3_divi_et_icon_fd b3_divi_b3holidayicon_icon_fd b3_divi_fas_icon_fd b3_divi_far_icon_fd b3_divi_fab_icon_fd b3_divi_et_icon_fd b3_divi_mt_icon_fd b3_divi_b3lineicon_icon_fd');
215		$element.addClass( 'b3_divi_' + symbol_data[0] + '_icon_fd ' );
216		$element.addClass( 'b3_divi_icon_fd' );
217		$element.attr('data-b3c',  'b3_divi_' + symbol_data[0].trim() + '_icon_fd');
218		$element.attr('data-icon',  b3_decode_html_entries(symbol_data[2]));
219		$element.attr('data-iconfamily', symbol_data[0]);
220
221		if(icon_in_content){
222			$element.html( symbol_data[2] );
223			$element.addClass('b3_iic');
224		}
225	}
226
227	function b3_decode_html_entries(str){
228		var elem = document.createElement('textarea');
229		elem.innerHTML = str;
230		return elem.value;
231	}
232
233	function b3_process_fb_icon_lists(){
234		$('.et-fb-font-icon-list div, .b3_icon_lists div').each(function(i, el){
235			b3_process_fb_icon_list($(el));
236		})
237	}
238 
239	document.addEventListener('scroll', function (event) {
240		if(typeof event.target !== 'undefined' && typeof event.target.classList !== 'undefined') {
241			if(event.target.classList.contains('et-fb-font-icon-list')){
242				b3_process_fb_icon_list($(event.target).find('div'))
243			}
244		}
245	}, true);
246 
247	// Fix icons when Add/Remove filter
248	$(document).on('click', clear_filter_selector + ',' + filter__item_selector , function() {
249		$(icons_container_selector).css("visibility", 'hidden')
250		setTimeout(function(){
251			setTimeout(function(){$(icons_container_selector).css("visibility", 'visible')}, 100);
252			$(icons_container_selector).each(function(i, el){
253				var icon_list_ul = $(el)
254				var icon_list_children = icon_list_ul.children();
255				for( var i = 0; i < icon_list_children.length; i++ ) {
256					var icon_item = icon_list_children[i];
257					b3_process_icon_list_item(icon_item);
258				}
259			});
260		}, 100);
261	})
262 
263	function b3_process_fb_icon_list(icon_list_ul) {
264		var icon_list_children = icon_list_ul.children();
265		for( var i = 0; i < icon_list_children.length; i++ ) {
266		  	var icon_item = icon_list_children[i];
267			if(!is_divi_icon(icon_item) && !is_processed_icon(icon_item)) {
268				b3_process_icon_list_item(icon_item);
269			}
270 		}
271	}
272	function is_divi_icon(icon_item) {
273		return  (
274					(icon_item.getAttribute('data-icon-type') === 'divi' || icon_
274item.getAttribute('data-icon-type') === 'fa') &&  
275					icon_item.getAttribute('data-icon').indexOf('|') === -1
276				);
277	}
278	function is_processed_icon(icon_item) {
279		return icon_item.classList.contains('b3-divi-processed') && icon_item.getAttribute('data-icon').indexOf('|') === -1;
280	}
281	function clear_b3_classes(icon_item){
282		let $icon_item = $(icon_item);
283		$(icon_item).removeClass('b3-divi-processed')
284		$icon_item.removeAttr("data-iconfamily");
285		$icon_item.removeAttr("data-iconname");
286		$icon_item.removeAttr("title");
287		$(icon_item).removeClass (function (index, className) {
288			return (className.match (/\bb3_\S+/g) || []).join(' ');
289		});
290	}
291
292	function b3_process_icon_list_item(icon_item){
293		var $icon_item = $(icon_item);
294		clear_b3_classes(icon_item);
295		$icon_item.hide();
296		let icon_data = $icon_item.attr('data-icon-utf') + '';
297		if (icon_data.indexOf('icon_quotations_alt2') > -1){
298				icon_data = icon_data.split("~|");
299		}else{
300			icon_data = icon_data.split("|");
301		}
302		let b3ProcessFontIcon = (typeof window.ET_Builder.API.Utils === 'undefined') ? window.frames[0].ET_Builder.API.Utils.processFontIcon: window.ET_Builder.API.Utils.processFontIcon
303
304		if( icon_data.length > 1 ) {
305			icon_set_name = icon_data[0];
306			$icon_item.attr({ 
307				"data-iconfamily" : icon_data[0],
308				"data-iconname" : icon_data[1],
309				"title" : icon_data[1],
310				"data-icon" : b3ProcessFontIcon(icon_data[2])
311			 });
312			$icon_item.addClass( 'b3_divi_icons_list b3_divi_' + icon_data[0] + '_icon_fd' );
313		} else {
314			$icon_item.attr({ "data-icon" : b3ProcessFontIcon(icon_data[0])});
315		}
316		$icon_item.addClass('b3-divi-processed')
317		$icon_item.show();
318		  
319	}
320
321	 
322	jQuery(document).on('keyup', '.et-fb-settings-option-input', function(){
323		setTimeout(function(){
324			$('.et-fb-font-icon-list div, .b3_icon_lists div').each(function(i, el){
325				var icon_list_ul = $(el)
326				var icon_list_children = icon_list_ul.children();
327				for( var i = 0; i < icon_list_children.length; i++ ) {
328					var icon_item = icon_list_children[i];
329					b3_process_icon_list_item(icon_item);
330				}
331			});
332		}, 100);
333	})
334
335	function b3_hide_icons() {
336		
337		if( is_et_fb_pro() && $('iframe#' + fb_frame_selector).length ) {
338			var builder_frame = $('iframe#' + fb_frame_selector);
339			$( all_divi_module_list, builder_frame.contents() ).removeClass('show_icon');
340			$( all_divi_module_list, builder_frame.contents() ).addClass('hide_icon');
341		} else {
342			$( all_divi_module_list ).removeClass('show_icon');
343			  $( all_divi_module_list ).addClass('hide_icon');
344		}
345	}
346	function b3_show_icons() {
347		if( is_et_fb_pro() && $('iframe#' + fb_frame_selector).length ) {
348		  var builder_frame = $('iframe#' + fb_frame_selector);
349		  $( all_divi_module_list, builder_frame.contents() ).removeClass('hide_icon');
350		  $( all_divi_module_list, builder_frame.contents() ).addClass('show_icon');
351		} else {
352		  $( all_divi_module_list ).removeClass('hide_icon');
353		  $( all_divi_module_list ).addClass('show_icon');
354		}
355	}
356
357	function b3_process_icons_with_after(){
358		var items = document.querySelectorAll('.single_add_to_cart_button');
359		items.forEach(function(el, i){
360			var style = window.getComputedStyle(el, '::after')
361			var elem = document.createElement('textarea');
362			elem.innerHTML = style.content;
363			var decoded = elem.value;
364			decoded = decoded.replace('\\', '')
365			decoded = decoded.replace(' ', '')
366			decoded = decoded.replace('"', '')
367			decoded = decoded.replace('"', '')
368			decoded = decoded.replace('ú', 'fa')
369			decoded = decoded.replace('³', 'b3')
370			b3_process_element_icon($(el), decoded)
371		})
372	}
373	
374	function b3_process_icons() {
375		b3_process_dmach_icons();
376		b3_process_divi_plus_icons();
377		b3_process_icons_with_after();
378		$( all_divi_module_list ).each(function(i, module){
379				b3_process_element_icon($(module))
380		});
381	}
382  
383	// $(document).on('click', all_divi_module_list_toggles, function(e) {
384	// 	setTimeout(function(){
385	// 		// b3_process_fb_icon_lists();
386	// 	}, 100);
387	// });
388
389	$( document).on('mousedown','.et-fb-font-icon-list li', function(event){
390		var iframeName = false;
391		if($('iframe#' + fb_frame_selector).length)
392			iframeName = fb_frame_selector
393
394		if($('iframe#et-bfb-app-frame').length)
395			iframeName = 'et-bfb-app-frame';
396
397		if( is_et_fb_pro() && iframeName ) {
398			var builder_frame = $('iframe#' + iframeName);
399			$('.et_fb_editing_enabled', builder_frame.contents()).find(all_divi_module_list).removeClass('show_icon');
400			$('.et_fb_editing_enabled', builder_frame.contents()).find(all_divi_module_list).addClass('hide_icon');
401		}
402	});
403
404	$( document).on('mouseup','.et-fb-font-icon-list li', function(event){
405		var iframeName = false;
406		if($('iframe#' + fb_frame_selector).length)
407			iframeName = fb_frame_selector
408
409		if($('iframe#et-bfb-app-frame').length)
410			iframeName = 'et-bfb-app-frame';
411
412			window.setTimeout(function(){
413				if( is_et_fb_pro() && iframeName ) {
414					var builder_frame = $('iframe#' + iframeName);
415
416					$('.et_fb_editing_enabled', builder_frame.contents()).find(all_divi_module_list).each(function(i, module){
417						b3_process_element_icon($(module))
418					  });
419					$( all_divi_module_list, builder_frame.contents() ).removeClass('hide_icon');
420					$( all_divi_module_list, builder_frame.contents() ).addClass('show_icon');
421				}
422			},0);
423
424	});
425
426
427	/**************** Third Party Compatibility ****************/
428	/* Support for Divi FilterGrid */
429	if(document.querySelector('.dp-dfg-search-icon')){
430		let dfg_observer = new MutationObserver(dfg_callback);
431		function dfg_callback (mutations) {
432			$('.dp-dfg-search-icon').removeAttr('data-icon')
433			b3_process_icons();
434		}
435		dfg_observer.observe(document.querySelector('.dp-dfg-search-icon'), { characterData: false, attributes: false, childList: true, subtree: false });
436	} /* End of  Divi FilterGrid */
437
438	/*Support for Divi Supreme popup*/
439	if(document.querySelector('.dsm-popup-module')){
440		let dsm_observer = new MutationObserver(dsm_callback);
441		function dsm_callback (mutation) {
442			mutation.forEach(function(record, i){
443			if (record.addedNodes && record.addedNodes.length > 0) {
444					var hasClass = [].some.call(record.addedNodes, function(el) {
445						if(el.classList)
446							return el.classList.contains('dsm-popup')
447						return false;
448					});
449					if (hasClass) {
450						b3_process_icons();			
451					}
452				}
453			})
454		}
455		dsm_observer.observe(document.querySelector('#main-content'), { characterData: false, attributes: false, childList: true, subtree: true });
456	}
457	/*End of Support for Divi Supreme popup*/
458
459	/* Support for Divi FilterGrid */
460	if(document.querySelector('.elegantshop-add-button .add_to_cart_button')){
461		let dfg_observer = new MutationObserver(dfg_callback);
462		function dfg_callback (mutations) { b3_process_icons(); }
463		dfg_observer.observe(document.querySelector('.elegantshop-add-button .add_to_cart_button'), { childList: true  });
464		document.querySelectorAll('.elegantshop-add-button .add_to_cart_button').forEach(function(el){ dfg_observer.observe(el, { childList: true  }); })
465	}
466
467	if(document.querySelector('.dpdfg_filtergrid')){
468		let dpdfg_observer = new MutationObserver(dfg_callback);
469		function dfg_callback (mutations) { b3_process_icons(); }
470		document.querySelectorAll('.dpdfg_filtergrid').forEach(function(el){ dpdfg_observer.observe(el, { childList: true  }); })
471	}
472
473	if(document.querySelector('.dp-dfg-items')){
474		let dfg_items_observer = new MutationObserver(dfg_callback);
475		function dfg_callback (mutations) { b3_process_icons(); }
476		document.querySelectorAll('.dp-dfg-items').forEach(function(el){ dfg_items_observer.observe(el, { childList: true  }); })
477	}
478	/* End of  Divi FilterGrid */
479
480	/* 	Divi Machine Compataplity */
481	function b3_process_dmach_icons(){
482		var items = document.querySelectorAll('.dmach-icon, .et_overlay, .owl-next, .owl-prev');
483		items.forEach(function(el, i){
484			var style = window.getComputedStyle(el, '::before')
485			var elem = document.createElement('textarea');
486			elem.innerHTML = style.content;
487			var decoded = elem.value;
488			decoded = decoded.replace('\\', '')
489			decoded = decoded.replace(' ', '')
490			decoded = decoded.replace('"', '')
491			decoded = decoded.replace('"', '')
492			decoded = decoded.replace('ú', 'fa')
493			decoded = decoded.replace('³', 'b3')
494			 
495			b3_process_element_icon($(el), decoded)
496		})
497	}
498
499	function b3_process_divi_plus_icons(){
500		var items = document.querySelectorAll('.dipl_swiper_navigation .swiper-button-next');
501		items.forEach(function(el, i){
502			var icon = $(el).attr('data-next_slide_arrow');
503			b3_process_element_icon($(el), icon)
504		})
505		var items = document.querySelectorAll('.dipl_swiper_navigation .swiper-button-prev');
506		items.forEach(function(el, i){
507			var icon = $(el).attr('data-previous_slide_arrow');
508			b3_process_element_icon($(el), icon)
509		})
510	}
511})( jQuery );

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.