PageSourceSearch

https://www.lavoilerestaurants.com/wp-content/cache/autoptimize/js…91c6df4f2771e9e4c58c520793a92c7f.js?ver=1.8

js lavoilerestaurants.com collected 2026-10-04 08:55:32 UTC 13,916 bytes, 24 lines download raw bytes

1(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof module==='object'&&module.exports){module.exports=function(root,jQuery){if(jQuery===undefined){if(typeof window!=='undefined'){jQuery=require('jquery');}else{jQuery=require('jquery')(root);}}
2factory(jQuery);return jQuery;};}else{factory(jQuery);}}(function($){'use strict';var $doc=$(document);var $win=$(window);var pluginName='selectric';var classList='Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll Group GroupLabel';var bindSufix='.sl';var chars=['a','e','i','o','u','n','c','y'];var diacritics=[/[\xE0-\xE5]/g,/[\xE8-\xEB]/g,/[\xEC-\xEF]/g,/[\xF2-\xF6]/g,/[\xF9-\xFC]/g,/[\xF1]/g,/[\xE7]/g,/[\xFD-\xFF]/g];var Selectric=function(element,opts){var _this=this;_this.element=element;_this.$element=$(element);_this.state={enabled:false,opened:false,currValue:-1,selectedIdx:-1};_this.eventTriggers={open:_this.open,close:_this.close,destroy:_this.destroy,refresh:_this.refresh,init:_this.init};_this.init(opts);};Selectric.prototype={utils:{isMobile:function(){return/android|ip(hone|od|ad)/i.test(navigator.userAgent);},replaceDiacritics:function(str){var k=diacritics.length;while(k--){str=str.toLowerCase().replace(diacritics[k],chars[k]);}
3return str;},format:function(f){var a=arguments;return(''+f).replace(/\{(?:(\d+)|(\w+))\}/g,function(s,i,p){return p&&a[1]?a[1][p]:a[i];});},nextEnabledItem:function(selectItems,selected){while(selectItems[selected=(selected+1)%selectItems.length].disabled){}
4return selected;},previousEnabledItem:function(selectItems,selected){while(selectItems[selected=(selected>0?selected:selectItems.length)-1].disabled){}
5return selected;},toDash:function(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();},triggerCallback:function(fn,scope){var elm=scope.element;var func=scope.options['on'+fn];if($.isFunction(func)){func.call(elm,elm,scope);}
6if($.fn[pluginName].hooks[fn]){$.each($.fn[pluginName].hooks[fn],function(){this.call(elm,elm,scope);});}
7$(elm).trigger(pluginName+'-'+this.toDash(fn),scope);}},init:function(opts){var _this=this;_this.options=$.extend(true,{},$.fn[pluginName].defaults,_this.options,opts);_this.utils.triggerCallback('BeforeInit',_this);_this.destroy(true);if(_this.options.disableOnMobile&&_this.utils.isMobile()){_this.disableOnMobile=true;return;}
8_this.classes=_this.getClassNames();var input=$('<input/>',{'class':_this.classes.input,'readonly':_this.utils.isMobile()});var items=$('<div/>',{'class':_this.classes.items,'tabindex':-1});var itemsScroll=$('<div/>',{'class':_this.classes.scroll});var wrapper=$('<div/>',{'class':_this.classes.prefix,'html':_this.options.arrowButtonMarkup});var label=$('<p/>',{'class':'label'});var outerWrapper=_this.$element.wrap('<div/>').parent().append(wrapper.prepend(label),items,input);_this.elements={input:input,items:items,itemsScroll:itemsScroll,wrapper:wrapper,label:label,outerWrapper:outerWrapper};_this.$element.on(_this.eventTriggers).wrap('<div class="'+_this.classes.hideselect+'"/>');_this.originalTabindex=_this.$element.prop('tabindex');_this.$element.prop('tabindex',false);_this.populate();_this.activate();_this.utils.triggerCallback('Init',_this);},activate:function(){var _this=this;var originalWidth=_this.$element.width();_this.utils.triggerCallback('BeforeActivate',_this);_this.elements.outerWrapper.prop('class',[_this.classes.wrapper,_this.$element.prop('class').replace(/\S+/g,_this.classes.prefix+'-$&'),_this.options.responsive?_this.classes.responsive:''].join(' '));if(_this.options.inheritOriginalWidth&&originalWidth>0){_this.elements.outerWrapper.width(originalWidth);}
9if(!_this.$element.prop('disabled')){_this.state.enabled=true;_this.elements.outerWrapper.removeClass(_this.classes.disabled);_this.$li=_this.elements.items.removeAttr('style').find('li');_this.bindEvents();}else{_this.elements.outerWrapper.addClass(_this.classes.disabled);_this.elements.input.prop('disabled',true);}
10_this.utils.triggerCallback('Activate',_this);},getClassNames:function(){var _this=this;var customClass=_this.options.customClass;var classesObj={};$.each(classList.split(' '),function(i,currClass){var c=customClass.prefix+currClass;classesObj[currClass.toLowerCase()]=customClass.camelCase?c:_this.utils.toDash(c);});classesObj.prefix=customClass.prefix;return classesObj;},setLabel:function(){var _this=this;var labelBuilder=_this.options.labelBuilder;var currItem=_this.lookupItems[_this.state.currValue];_this.elements.label.html($.isFunction(labelBuilder)?labelBuilder(currItem):_this.utils.format(labelBuilder,currItem));},populate:function(){var _this=this;var $options=_this.$element.children();var $justOptions=_this.$element.find('option');var selectedIndex=$justOptions.index($justOptions.filter(':selected'));var currIndex=0;_this.state.currValue=(_this.state.selected=~selectedIndex?selectedIndex:0);_this.state.selectedIdx=_this.state.currValue;_this.items=[];_this.lookupItems=[];if($options.length){$options.each(function(i){var $elm=$(this);if($elm.is('optgroup')){var optionsGroup={element:$elm,label:$elm.prop('label'),groupDisabled:$elm.prop('disabled'),items:[]};$elm.children().each(function(i){var $elm=$(this);var optionText=$elm.html();optionsGroup.items[i]={index:currIndex,element:$elm,value:$elm.val(),text:optionText,slug:_this.utils.replaceDiacritics(optionText),disabled:optionsGroup.groupDisabled};_this.lookupItems[currIndex]=optionsGroup.items[i];currIndex++;});_this.items[i]=optionsGroup;}else{var optionText=$elm.html();_this.items[i]={index:currIndex,element:$elm,value:$elm.val(),text:optionText,slug:_this.utils.replaceDiacritics(optionText),disabled:$elm.prop('disabled')};_this.lookupItems[currIndex]=_this.items[i];currIndex++;}});_this.setLabel();_this.elements.items.append(_this.elements.itemsScroll.html(_this.getItemsMarkup(_this.items)));}},getItemsMarkup:function(items){var _this=this;var markup='<ul>';$.each(items,function(i,elm){if(elm.label!==undefined){markup+=_this.utils.format('<ul class="{1}"><li class="{2}">{3}</li>',$.trim([_this.classes.group,elm.groupDisabled?'disabled':'',elm.element.prop('class')].join(' ')),_this.classes.grouplabel,elm.element.prop('label'));$.each(elm.items,function(i,elm){markup+=_this.getItemMarkup(elm.index,elm);});markup+='</ul>';}else{markup+=_this.getItemMarkup(elm.index,elm);}});return markup+'</ul>';},getItemMarkup:function(i,elm){var _this=this;var itemBuilder=_this.options.optionsItemBuilder;return _this.utils.format('<li data-index="{1}" class="{2}">{3}</li>',i,$.trim([i===_this.state.currValue?'selected':'',i===_this.items.length-1?'last':'',elm.disabled?'disabled':''].join(' ')),$.isFunction(itemBuilder)?itemBuilder(elm,elm.element,i):_this.utils.format(itemBuilder,elm));},bindEvents:function(){var _this=this;_this.elements.wrapper.add(_this.$element).add(_this.elements.outerWrapper).add(_this.elements.input).off(bindSufix);_this.elements.outerWrapper.on('mouseenter'+bindSufix+' mouseleave'+bindSufix,function(e){$(this).toggleClass(_this.classes.hover,e.type==='mouseenter');if(_this.options.openOnHover){clearTimeout(_this.closeTimer);if(e.type==='mouseleave'){_this.closeTimer=setTimeout($.proxy(_this.close,_this),_this.options.hoverIntentTimeout);}else{_this.open();}}});_this.elements.wrapper.on('click'+bindSufix,function(e){_this.state.opened?_this.close():_this.open(e);});_this.elements.input.prop({tabindex:_this.originalTabindex,disabled:false}).on('keypress'+bindSufix,_this.handleSystemKeys).on('keydown'+bindSufix,function(e){_this.handleSystemKeys(e);clearTimeout(_this.resetStr);_this.resetStr=setTimeout(function(){_this.elements.input.val('');},_this.options.keySearchTimeout);var key=e.keyCode||e.which;if(key>36&&key<41){if(!_this.options.allowWrap){if((key<39&&_this.state.selectedIdx===0)||(key>38&&(_this.state.selectedIdx+1)===_this.items.length)){return;}}
11_this.select(_this.utils[(key<39?'previous':'next')+'EnabledItem'](_this.items,_this.state.selectedIdx));}}).on('focusin'+bindSufix,function(e){_this.state.opened||_this.open(e);}).on('oninput'in _this.elements.input[0]?'input':'keyup',function(){if(_this.elements.input.val().length){$.each(_this.items,function(i,elm){if(RegExp('^'+_this.elements.input.val(),'i').test(elm.slug)&&!elm.disabled){_this.select(i);return false;}});}});_this.$li.on({mousedown:function(e){e.preventDefault();e.stopPropagation();},click:function(){_this.select($(this).data('index'),true);return false;}});},handleSystemKeys:function(e){var _this=this;var key=e.keyCode||e.which;if(key==13){e.preventDefault();}
12if(/^(9|13|27)$/.test(key)){e.stopPropagation();_this.select(_this.state.selectedIdx,true);}},refresh:function(){var _this=this;_this.populate();_this.activate();_this.utils.triggerCallback('Refresh',_this);},setOptionsDimensions:function(){var _this=this;var hiddenChildren=_this.elements.items.closest(':visible').children(':hidden').addClass(_this.classes.tempshow);var maxHeight=_this.options.maxHeight;var itemsWidth=_this.elements.items.outerWidth();
12var wrapperWidth=_this.elements.wrapper.outerWidth()-(itemsWidth-_this.elements.items.width());if(!_this.options.expandToItemText||wrapperWidth>itemsWidth){_this.finalWidth=wrapperWidth;}else{_this.elements.items.css('overflow','scroll');_this.elements.outerWrapper.width(9e4);_this.finalWidth=_this.elements.items.width();_this.elements.items.css('overflow','');_this.elements.outerWrapper.width('');}
13_this.elements.items.width(_this.finalWidth).height()>maxHeight&&_this.elements.items.height(maxHeight);hiddenChildren.removeClass(_this.classes.tempshow);},isInViewport:function(){var _this=this;var scrollTop=$win.scrollTop();var winHeight=$win.height();var uiPosX=_this.elements.outerWrapper.offset().top;var uiHeight=_this.elements.outerWrapper.outerHeight();var fitsDown=(uiPosX+uiHeight+_this.itemsHeight)<=(scrollTop+winHeight);var fitsAbove=(uiPosX-_this.itemsHeight)>scrollTop;var renderAbove=!fitsDown&&fitsAbove;_this.elements.outerWrapper.toggleClass(_this.classes.above,renderAbove);},detectItemVisibility:function(index){var _this=this;var liHeight=_this.$li.eq(index).outerHeight();var liTop=_this.$li[index].offsetTop;var itemsScrollTop=_this.elements.itemsScroll.scrollTop();var scrollT=liTop+liHeight*2;_this.elements.itemsScroll.scrollTop(scrollT>itemsScrollTop+_this.itemsHeight?scrollT-_this.itemsHeight:liTop-liHeight<itemsScrollTop?liTop-liHeight:itemsScrollTop);},open:function(e){var _this=this;_this.utils.triggerCallback('BeforeOpen',_this);if(e){e.preventDefault();e.stopPropagation();}
14if(_this.state.enabled){_this.setOptionsDimensions();$('.'+_this.classes.hideselect,'.'+_this.classes.open).children()[pluginName]('close');_this.state.opened=true;_this.itemsHeight=_this.elements.items.outerHeight();_this.itemsInnerHeight=_this.elements.items.height();_this.elements.outerWrapper.addClass(_this.classes.open);_this.elements.input.val('');if(e&&e.type!=='focusin'){_this.elements.input.focus();}
15$doc.on('click'+bindSufix,$.proxy(_this.close,_this)).on('scroll'+bindSufix,$.proxy(_this.isInViewport,_this));_this.isInViewport();if(_this.options.preventWindowScroll){$doc.on('mousewheel'+bindSufix+' DOMMouseScroll'+bindSufix,'.'+_this.classes.scroll,function(e){var orgEvent=e.originalEvent;var scrollTop=$(this).scrollTop();var deltaY=0;if('detail'in orgEvent){deltaY=orgEvent.detail*-1;}
16if('wheelDelta'in orgEvent){deltaY=orgEvent.wheelDelta;}
17if('wheelDeltaY'in orgEvent){deltaY=orgEvent.wheelDeltaY;}
18if('deltaY'in orgEvent){deltaY=orgEvent.deltaY*-1;}
19if(scrollTop===(this.scrollHeight-_this.itemsInnerHeight)&&deltaY<0||scrollTop===0&&deltaY>0){e.preventDefault();}});}
20_this.detectItemVisibility(_this.state.selectedIdx);_this.utils.triggerCallback('Open',_this);}},close:function(){var _this=this;_this.utils.triggerCallback('BeforeClose',_this);_this.change();$doc.off(bindSufix);_this.elements.outerWrapper.removeClass(_this.classes.open);_this.state.opened=false;_this.utils.triggerCallback('Close',_this);},change:function(){var _this=this;_this.utils.triggerCallback('BeforeChange',_this);if(_this.state.currValue!==_this.state.selectedIdx){_this.$element.prop('selectedIndex',_this.state.currValue=_this.state.selectedIdx).data('value',_this.lookupItems[_this.state.selectedIdx].text);_this.setLabel();}
21_this.utils.triggerCallback('Change',_this);},select:function(index,close){var _this=this;if(index===undefined){return;}
22if(!_this.lookupItems[index].disabled){_this.$li.filter('[data-index]').removeClass('selected').eq(_this.state.selectedIdx=index).addClass('selected');_this.detectItemVisibility(index);if(close){_this.close();}}},destroy:function(preserveData){var _this=this;if(_this.state&&_this.state.enabled){_this.elements.items.add(_this.elements.wrapper).add(_this.elements.input).remove();if(!preserveData){_this.$element.removeData(pluginName).removeData('value');}
23_this.$element.prop('tabindex',_this.originalTabindex).off(bindSufix).off(_this.eventTriggers).unwrap().unwrap();_this.state.enabled=false;}}};$.fn[pluginName]=function(args){return this.each(function(){var data=$.data(this,pluginName);if(data&&!data.disableOnMobile){(typeof args==='string'&&data[args])?data[args]():data.init(args);}else{$.data(this,pluginName,new Selectric(this,args));}});};$.fn[pluginName].hooks={add:function(callbackName,hookName,fn){if(!this[callbackName]){this[callbackName]={};}
24this[callbackName][hookName]=fn;},remove:function(callbackName,hookName){delete this[callbackName][hookName];}};$.fn[pluginName].defaults={onChange:function(elm){$(elm).change();},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'<b class="button">&#x25be;</b>',disableOnMobile:true,openOnHover:false,hoverIntentTimeout:500,expandToItemText:false,responsive:false,preventWindowScroll:true,inheritOriginalWidth:false,allowWrap:true,customClass:{prefix:pluginName,camelCase:false},optionsItemBuilder:'{text}',labelBuilder:'{text}'};}));

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.