{"version":3,"sources":["filter-categories.js","kol-modal.js","portal-add-to-cart-single.js","portal-add-to-cart.js","slider-cards.js","slider-product.js","sticky-sidebar.js","territory-manager-filter.js","thumbnail-slider.js","tiered-pricing-plugin-mod.js","video.js","z_max-quantity-alert.js"],"names":["$","document","ready","addClass","$container","$checkboxes","isotope","itemSelector","layoutMode","change","filters","filter","each","push","this","value","join","jQuery","click","next","removeClass","on","e","preventDefault","$thisbutton","$form","closest","id","val","product_qty","find","data","action","product_id","product_sku","quantity","variation_id","body","trigger","ajax","type","url","wc_add_to_cart_params","ajax_url","beforeSend","response","complete","success","error","product_url","window","location","fragments","cart_hash","doSlider","$slider","length","flickity","prevNextButtons","pageDots","initialIndex","elementorFrontend","hooks","addAction","$scope","$project_slider","$project_thumbnail_slider","cellSelector","lazyLoad","asNavFor","draggable","contain","scroll","scrollTop","height","dynamicContent","name","href","replace","results","RegExp","exec","decodeURIComponent","getParameterByName","hide","children","show","before","$thumbnail","cellAlign","updateActiveThumbnail","goToSlide","selectedIndex","html","_","txt","addCustomPlayListener","removeCustomPlay","siblings","remove","maxQty","attr","alert","querySelector","addEventListener","Number","getAttribute"],"mappings":"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","file":"elementor.min.js","sourcesContent":["/**\n * Utilizes isotope.js to dynamically filter categories for resources and events CPTs\n *\n * @since 1.0.0\n * @package propel\n */\n(function($) {\n\t$(document).ready(function() {\n\n\t\t// adding classes to elements that cannot be modified via elementor\n\t\t$(\"#init-isotope .elementor-posts-container\").addClass(\"filter-wrap\");\n\t\t$(\"#init-isotope article\").addClass(\"filter-option\");\n\n\t\tvar $container = $('.filter-wrap'),\n\t\t$checkboxes = $('#filters input');\n\n\t\t$container.isotope({\n\t\t\titemSelector: '.filter-option',\n\t\t\tlayoutMode: 'fitRows',\n\t\t});\n\n\t\t$checkboxes.change(function(){\n\t\t\tvar filters = [];\n\t\t\n\t\t\t// get checked checkboxes values\n\t\t\t$checkboxes.filter(':checked').each(function(){\n\t\t\t\tfilters.push( this.value );\n\t\t\t});\n\t\t\t\n\t\t\t// ['.red', '.blue'] -> '.red, .blue'\n\t\t\tfilters = filters.join(', ');\n\t\t\t$container.isotope({ filter: filters });\n\t\t});\n\n\t}); // document.ready\n})(jQuery);\n","/**\n * Custom modal for KOL lists\n *\n * @since 1.0.0\n * @package propel\n**/\n\n(function($) {\n\n\t$('.kol-card').click(function() {\n\t\t$('body').addClass('modal-inview');\n\t\t$(this).next().addClass('open');\n\t});\n\n\t$('.modal-close').click(function() {\n\t\t$('body').removeClass('modal-inview');\n\t\t$('.kol-modal').removeClass('open');\n\t});\n\n})(jQuery);\n","/**\n * Custom Add to Cart Button Animation Trigger\n *\n * @since 1.0.0\n * @package propel\n */\n\n(function ($) {\n\n\t$(document).on('click', '.single_add_to_cart_button', function (e) {\n\t\te.preventDefault();\n\n\t\tvar $thisbutton = $(this),\n\t\t$form = $thisbutton.closest('form.cart'),\n\t\tid = $thisbutton.val(),\n\t\tproduct_qty = $form.find('input[name=quantity]').val() || 1,\n\t\tproduct_id = $form.find('input[name=product_id]').val() || id,\n\t\tvariation_id = $form.find('input[name=variation_id]').val() || 0;\n\n\t\tvar data = {\n\t\t\taction: 'woocommerce_ajax_add_to_cart',\n\t\t\tproduct_id: product_id,\n\t\t\tproduct_sku: '',\n\t\t\tquantity: product_qty,\n\t\t\tvariation_id: variation_id,\n\t\t};\n\n\t\t$(document.body).trigger('adding_to_cart', [$thisbutton, data]);\n\n\t\t$.ajax({\n\t\t\ttype: 'post',\n\t\t\turl: wc_add_to_cart_params.ajax_url,\n\t\t\tdata: data,\n\t\t\tbeforeSend: function (response) {\n\t\t\t\t$thisbutton.removeClass('added').addClass('loading');\n\t\t\t},\n\t\t\tcomplete: function (response) {\n\t\t\t\t$thisbutton.addClass('added').removeClass('loading');\n\t\t\t},\n\t\t\tsuccess: function (response) {\n\n\t\t\t\tif (response.error & response.product_url) {\n\t\t\t\t\twindow.location = response.product_url;\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t$(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $thisbutton]);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\n\t\treturn false;\n\t});\n\n})(jQuery);\n","/**\n * Custom Add to Cart Button Animation Trigger\n *\n * @since 1.0.0\n * @package propel\n */\n\n(function ($) {\n\n\t$(document).on('click', '.portal-add-to-cart', function (e) {\n\t\te.preventDefault();\n\n\t\tvar $thisbutton = $(this),\n\t\t$form = $thisbutton.closest('form.cart'),\n\t\tid = $thisbutton.val(),\n\t\tproduct_qty = $form.find('input[name=quantity]').val() || 1,\n\t\tproduct_id = $form.find('input[name=product_id]').val() || id,\n\t\tvariation_id = $form.find('input[name=variation_id]').val() || 0;\n\n\t\tvar data = {\n\t\t\taction: 'woocommerce_ajax_add_to_cart',\n\t\t\tproduct_id: product_id,\n\t\t\tproduct_sku: '',\n\t\t\tquantity: product_qty,\n\t\t\tvariation_id: variation_id,\n\t\t};\n\n\t\t$(document.body).trigger('adding_to_cart', [$thisbutton, data]);\n\n\t\t$.ajax({\n\t\t\ttype: 'post',\n\t\t\turl: wc_add_to_cart_params.ajax_url,\n\t\t\tdata: data,\n\t\t\tbeforeSend: function (response) {\n\t\t\t\t$thisbutton.removeClass('added');\n\t\t\t},\n\t\t\tcomplete: function (response) {\n\t\t\t\t$thisbutton.addClass('added');\n\t\t\t},\n\t\t\tsuccess: function (response) {\n\n\t\t\t\tif (response.error & response.product_url) {\n\t\t\t\t\twindow.location = response.product_url;\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t$(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $thisbutton]);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\n\t\treturn false;\n\t});\n\n})(jQuery);\n","/**\n * Cards slider\n *\n * Shared between a couple of the slider widgets\n *\n * @since 1.0.0\n * @package propel\n */\n(function($) {\n\n\t$(window).on( 'elementor/frontend/init', init );\n\n\t/**\n\t * Spin things up with actions\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction init() {\n\t\telementorFrontend.hooks.addAction( 'frontend/element_ready/slider-results.default' , doSlider );\n\t\telementorFrontend.hooks.addAction( 'frontend/element_ready/slider-testimonials.default' , doSlider );\n\t}\n\n\n\t/**\n\t * Spin up the sliders\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction doSlider() {\n\n\t\t$slider = $( '.card-slider' );\n\n\t\tif ( ! $slider.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$slider.flickity({\n\t\t\tprevNextButtons: false,\n\t\t\tpageDots: true,\n\t\t\tinitialIndex: 1,\n\t\t});\n\t}\n\n})(jQuery);\n","/**\n * Form interactions\n *\n * @since 1.0.0\n * @package propel\n */\n(function($) {\n\t// Hook for when elementor front end is loaded\n\t$( window ).on( 'elementor/frontend/init', function() {\n\t\t//hook name is 'frontend/element_ready/{widget-name}.{skin}\n\t\t//$scope is a jquery wrapped parent element\n\t\telementorFrontend.hooks.addAction( 'frontend/element_ready/slider-product.default', function( $scope ){\n\n\t\t\t// slider (product)\n\n\t\t\tvar $project_slider \t\t\t= $( '.product-slider' );\n\t\t\tvar $project_thumbnail_slider \t= $( '.product-thumbnail-slider' );\n\n\t\t\t// sanity check\n\t\t\t/*if ( ! ( 'flickity' in $.fn ) || $project_slider.length < 1 ) {\n\t\t\t\treturn;\n\t\t\t}*/\n\n\n\t\t\t// configure args\n\t\t\tvar args = {\n\t\t\t\tcellSelector : 'figure',\n\t\t\t\tprevNextButtons : false,\n\t\t\t\tlazyLoad\t\t: true,\n\t\t\t};\n\n\t\t\t// kill!\n\t\t\t$project_slider = $project_slider.flickity( args );\n\n\t\t\t// configure thumbnail slider args\n\t\t\tvar targs = {\n\t\t\t\tcellSelector : 'figure',\n\t\t\t\tasNavFor\t\t: '.product-slider',\n\t\t\t\tdraggable\t\t: true,\n\t\t\t\tcontain\t\t\t: true,\n\t\t\t\tpageDots\t\t: false,\n\t\t\t\tprevNextButtons : false,\n\t\t\t\tlazyLoad\t\t: true,\n\t\t\t};\n\n\t\t\t$project_thumbnail_slider = $project_thumbnail_slider.flickity( targs );\n\n\n\t\t}); //elementor frontend hooks\n\t});\n\n})(jQuery);","/**\n * Makes sticky sidebar disappear when footer is visible on screen\n *\n * @since 1.0.0\n * @package propel\n */\n(function($) {\n\n\t$(window).scroll(function() {\n\t\t$(\".sticky-side\").removeClass(\"invisible\");\n\t\tif($(window).scrollTop() + $(window).height() > ($(document).height() - 1000) ) {\n\t\t\t//you are at bottom\n\t\t\t$(\".sticky-side\").addClass(\"invisible\");\n\t\t}\n\t});\n\n})(jQuery);\n","/**\n* Functionality for the Territory manager filter upon submiting a form to become a provider\n*\n* @since 1.0.0\n* @package propel\n*/\n\n(function($){\n\n\t// adding classes to elements that cannot be modified via elementor\n\t$(\"#init-filter .elementor-section-wrap\").addClass(\"search-items\");\n\n\t// Parse the URL parameter\n\tfunction getParameterByName(name, url) {\n\t\tif (!url) url = window.location.href;\n\t\tname = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n\t\tvar regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n\t\tresults = regex.exec(url);\n\t\tif (!results) return null;\n\t\tif (!results[2]) return '';\n\t\treturn decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n\t}\n\n\t// Give the parameter a variable name\n\tvar dynamicContent = getParameterByName('zip');\n\n\t$(document).ready(function() {\n\n\t\tif(dynamicContent){\n\n\t\t\t$(\".territory-manager-fallback\").hide();\n\t\t\t$(\".search-items\").children().hide();\n\t\t\t$(\".search-items [searchdata*=\"+dynamicContent+\"]\").show();\n\n\t\t}else{\n\n\t\t\t$(\".territory-manager-fallback\").show();\n\t\t\t$(\".search-items\").children().hide(); \n\n\t\t}\n\t});\n\n\t// add fa to find a provider search button\n\t$(\"#wpsl-search-btn\").before(\"X \");\n\n})(jQuery);\n","/**\n * Image slider with thumbnail handling\n *\n * @since 1.0.0\n * @package propel\n */\n(function($) {\n\n\tvar $slider, $thumbnail;\n\n\t$(window).on( 'elementor/frontend/init', init );\n\n\t/**\n\t * Spin things up with actions\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction init() {\n\t\telementorFrontend.hooks.addAction( 'frontend/element_ready/banner-gallery.default', doSlider );\n\t}\n\n\n\t/**\n\t * Spin up the sliders\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction doSlider() {\n\n\t\t$slider = $( '.thumbnail-slider .slides' );\n\t\t$thumbnail = $( '.thumbnail-slider .thumbnail' );\n\n\t\tif ( ! $slider.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$slider.flickity({\n\t\t\tcellAlign: 'left',\n\t\t\tprevNextButtons: false,\n\t\t\tpageDots: false,\n\t\t\ton: {\n\t\t\t\tchange: updateActiveThumbnail,\n\t\t\t\tready: updateActiveThumbnail,\n\t\t\t}\n\t\t});\n\n\t\t$thumbnail.on( 'click', goToSlide );\n\t}\n\n\n\t/**\n\t * Navigate slider to slide\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction goToSlide() {\n\t\t$slider.flickity( 'select', $(this).data( 'slide-to' ) );\n\t}\n\n\n\t/**\n\t * Flag the thumbnail for the active slider\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction updateActiveThumbnail() {\n\t\t$thumbnail.removeClass( 'is-selected' );\n\t\t$( '.thumbnail-slider [data-slide-to=\"' + this.selectedIndex + '\"]' ).addClass( 'is-selected' );\n\t}\n\n})(jQuery);\n","/**\n * Replacing the '+' with '(max)' in the tiered pricing plugin\n *\n * @since 1.1.0\n * @package propel\n**/\n\n(function($) {\n\n\t// dig real deep to target the cell to replace the desired text\n\t$('.price-rules-table tbody tr:last-of-type td:first-of-type span').html(function(_,txt) {\n\t return txt.replace(/(.$)/, \" (Max)\");\n\t});\n\n})(jQuery);\n","/**\n * Video widget helper\n *\n * @since 1.0.0\n * @package propel\n */\n(function($) {\n\n\t$(window).on( 'elementor/frontend/init', init );\n\n\t/**\n\t * Spin things up with actions\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction init() {\n\t\telementorFrontend.hooks.addAction( 'frontend/element_ready/video.default', addCustomPlayListener );\n\t}\n\n\n\t/**\n\t * Set listener for removal of custom play icon\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction addCustomPlayListener() {\n\t\t$( '[data-widget_type=\"video.default\"] .elementor-open-inline' ).on( 'click', removeCustomPlay );\n\t}\n\n\n\t/**\n\t * Remove custom play icon\n\t *\n\t * @since 1.0.0\n\t */\n\tfunction removeCustomPlay() {\n\t\t$( this ).siblings( '.custom-play-icon' ).remove();\n\t}\n\n})(jQuery);\n","/**\n * Alert box when someone has reached max quantity of a product\n *\n * @since 1.0.0\n * @package propel\n**/\n\n// for keyup & arrowup\n(function($) {\n\n\t// only trigger on product pages\n\tif ($('body.single-product').length > 0)\n {\n // keyup/arrowup\n\t\t$('[name=\"quantity\"]').on('keyup',function() {\n\t\t\tvar maxQty = $(this).attr(\"max\");\n\t\t\tif (this.value == maxQty) {\n\t\t\t\talert(\"You can't add more than \" + maxQty +\" of this item to your cart\");\n\t\t\t}\n\t\t});\n\n\t\t// manual entry\n\t\tdocument.querySelector( '[name=\"quantity\"]' ).addEventListener('keyup', function() {\n\t\t\tvar maxQty = Number( this.getAttribute( 'max' ) );\n\t\t\tif ( Number( this.value ) > maxQty ) {\n\t\t\t\talert(\"You can't add more than \" + maxQty +\" of this item to your cart\");\n\t\t\t}\n\t\t});\n \n }\n\n})(jQuery);\n\n"]}