requirejs(['algoliaBundle'],function(algoliaBundle){algoliaBundle.$(function($){if(!algoliaConfig.autocomplete.enabled){return;} algoliaConfig.autocomplete.templates={suggestions:algoliaBundle.Hogan.compile($('#autocomplete_suggestions_template').html()),products:algoliaBundle.Hogan.compile($('#autocomplete_products_template').html()),categories:algoliaBundle.Hogan.compile($('#autocomplete_categories_template').html()),pages:algoliaBundle.Hogan.compile($('#autocomplete_pages_template').html()),additionalSection:algoliaBundle.Hogan.compile($('#autocomplete_extra_template').html())};var algolia_client=algoliaBundle.algoliasearch(algoliaConfig.applicationId,algoliaConfig.apiKey);algolia_client.addAlgoliaAgent('Magento2 integration ('+algoliaConfig.extensionVersion+')');if(algoliaConfig.autocomplete.nbOfProductsSuggestions>0){algoliaConfig.autocomplete.sections.unshift({hitsPerPage:algoliaConfig.autocomplete.nbOfProductsSuggestions,label:algoliaConfig.translations.products,name:"products"});} if(algoliaConfig.autocomplete.nbOfCategoriesSuggestions>0){algoliaConfig.autocomplete.sections.unshift({hitsPerPage:algoliaConfig.autocomplete.nbOfCategoriesSuggestions,label:algoliaConfig.translations.categories,name:"categories"});} if(algoliaConfig.autocomplete.nbOfQueriesSuggestions>0){algoliaConfig.autocomplete.sections.unshift({hitsPerPage:algoliaConfig.autocomplete.nbOfQueriesSuggestions,label:'',name:"suggestions"});} var sources=[],i=0;$.each(algoliaConfig.autocomplete.sections,function(name,section){var source=getAutocompleteSource(section,algolia_client,$,i);if(source){sources.push(source);} if(section.name!=='suggestions'&§ion.name!=='products'){i++;}});$(algoliaConfig.autocomplete.selector).each(function(i){var menu=$(this);var options={hint:false,templates:{dropdownMenu:'#menu-template'},dropdownMenuContainer:"#algolia-autocomplete-container",debug:algoliaConfig.autocomplete.isDebugEnabled};if(isMobile()===true){options.debug=true;} sources=algolia.triggerHooks('beforeAutocompleteSources',sources,algolia_client,algoliaBundle);options=algolia.triggerHooks('beforeAutocompleteOptions',options);if(typeof algoliaHookBeforeAutocompleteStart==='function'){console.warn('Deprecated! You are using an old API for Algolia\'s front end hooks. '+'Please, replace your hook method with new hook API. '+'More information you can find on https://www.algolia.com/doc/integration/magento-2/customize/custom-front-end-events/');var hookResult=algoliaHookBeforeAutocompleteStart(sources,options,algolia_client);sources=hookResult.shift();options=hookResult.shift();} var algoliaAutocompleteInstance=$(this).autocomplete(options,sources);algoliaAutocompleteInstance=algolia.triggerHooks('afterAutocompleteStart',algoliaAutocompleteInstance);algoliaAutocompleteInstance.parent().attr('id','algolia-autocomplete-tt').on('autocomplete:updated',function(e){fixAutocompleteCssSticky(menu);fixAutocompleteCssHeight(menu);}).on('autocomplete:selected',function(e,suggestion,dataset){location.assign(suggestion.url);});$(window).resize(function(){fixAutocompleteCssSticky(menu);});});$(algoliaConfig.autocomplete.selector).each(function(){var data=$(this).data('aaAutocomplete');var dropdown=data.dropdown;var suggestionClass='.'+dropdown.cssClasses.prefix+dropdown.cssClasses.suggestion;var touchmoved;dropdown.$menu.on('touchend',suggestionClass,function(e){if(touchmoved===false){e.preventDefault();e.stopPropagation();var url=$(this).find('a').attr('href');location.assign(url);}}).on('touchmove',function(){touchmoved=true;}).on('touchstart',function(){touchmoved=false;});});});});