1(()=>{"use strict";var t={102:(t,i,e)=>{e.r(i)},701:(t,i,e)=>{e.r(i),e.d(i,{default:()=>o});const s=t=>Math.max(t.offsetHeight,t.scrollHeight);class o{constructor(t={}){const i={content:t.viewport.children[0],direction:"all",pointerMode:"all",scrollMode:void 0,bounce:!0,bounceForce:.1,friction:.05,textSelection:!1,inputsFocus:!0,emulateScroll:!1,preventDefaultOnEmulateScroll:!1,preventPointerMoveDefault:!0,lockScrollOnDragDirection:!1,pointerDownPreventDefault:!0,dragDirectionTolerance:40,onPointerDown(){},onPointerUp(){},onPointerMove(){},onClick(){},onUpdate(){},onWheel(){},shouldScroll:()=>!0};if(this.props={...i,...t},!(this.props.viewport&&this.props.viewport instanceof Element))return void console.error('ScrollBooster init error: "viewport" config property must be present and must be Element');if(!this.props.content)return void console.error("ScrollBooster init error: Viewport does not have any content");this.isDragging=!1,this.isTargetScroll=!1,this.isScrolling=!1,this.isRunning=!1;const e={x:0,y:0};this.position={...e},this.velocity={...e},this.dragStartPosition={...e},this.dragOffset={...e},this.clientOffset={...e},this.dragPosition={...e},this.targetPosition={...e},this.scrollOffset={...e},this.rafID=null,this.events={},this.updateMetrics(),this.handleEvents()}updateOptions(t={}){this.props={...this.props,...t},this.props.onUpdate(this.getState()),this.startAnimationLoop()}updateMetrics(){var t;this.viewport={width:this.props.viewport.clientWidth,height:this.props.viewport.clientHeight},this.content={width:(t=this.props.content,Math.max(t.offsetWidth,t.scrollWidth)),height:s(this.props.content)},this.edgeX={from:Math.min(-this.content.width+this.viewport.width,0),to:0},this.edgeY={from:Math.min(-this.content.height+this.viewport.height,0),to:0},this.props.onUpdate(this.getState()),this.startAnimationLoop()}startAnimationLoop(){this.isRunning=!0,cancelAnimationFrame(this.rafID),this.rafID=requestAnimationFrame((()=>this.animate()))}animate(){if(!this.isRunning)return;this.updateScrollPosition(),this.isMoving()||(this.isRunning=!1,this.isTargetScroll=!1);const t=this.getState();this.setContentPosition(t),this.props.onUpdate(t),this.rafID=requestAnimationFrame((()=>this.animate()))}updateScrollPosition(){this.applyEdgeForce(),this.applyDragForce(),this.applyScrollForce(),this.applyTargetForce();const t=1-this.props.friction;this.velocity.x*=t,this.velocity.y*=t,"vertical"!==this.props.direction&&(this.position.x+=this.velocity.x),"horizontal"!==this.props.direction&&(this.position.y+=this.velocity.y),this.props.bounce&&!this.isScrolling||this.isTargetScroll||(this.position.x=Math.max(Math.min(this.position.x,this.edgeX.to),this.edgeX.from),this.position.y=Math.max(Math.min(this.position.y,this.edgeY.to),this.edgeY.from))}applyForce(t){this.velocity.x+=t.x,this.velocity.y+=t.y}applyEdgeForce(){if(!this.props.bounce||this.isDragging)return;const t=this.position.x<this.edgeX.from,i=this.position.x>this.edgeX.to,e=this.position.y<this.edgeY.from,s=this.position.y>this.edgeY.to,o=t||i,r=e||s;if(!o&&!r)return;const n=t?this.edgeX.from:this.edgeX.to,a=e?this.edgeY.from:this.edgeY.to,l=n-this.position.x,h=a-this.position.y,p={x:l*this.props.bounceForce,y:h*this.props.bounceForce},c=this.position.x+(this.velocity.x+p.x)/this.props.friction,d=this.position.y+(this.velocity.y+p.y)/this.props.friction;(t&&c>=this.edgeX.from||i&&c<=this.edgeX.to)&&(p.x=l*this.props.bounceForce-this.velocity.x),(e&&d>=this.edgeY.from||s&&d<=this.edgeY.to)&&(p.y=h*this.props.bounceForce-this.velocity.y),this.applyForce({x:o?p.x:0,y:r?p.y:0})}applyDragForce(){if(!this.isDragging)return;const t=this.dragPosition.x-this.position.x,i=this.dragPosition.y-this.position.y;this.applyForce({x:t-this.velocity.x,y:i-this.velocity.y})}applyScrollForce(){this.isScrolling&&(this.applyForce({x:this.scrollOffset.x-this.velocity.x,y:this.scrollOffset.y-this.velocity.y}),this.scrollOffset.x=0,this.scrollOffset.y=0)}applyTargetForce(){this.isTargetScroll&&this.applyForce({x:.08*(this.targetPosition.x-this.position.x)-this.velocity.x,y:.08*(this.targetPosition.y-this.position.y)-this.velocity.y})}isMoving(){return this.isDragging||this.isScrolling||Math.abs(this.velocity.x)>=.01||Math.abs(this.velocity.y)>=.01}scrollTo(t={}){this.isTargetScroll=!0,this.targetPosition.x=-t.x||0,this.targetPosition.y=-t.y||0,this.startAnimationLoop()}setPosition(t={}){this.velocity.x=0,this.velocity.y=0,this.position.x=-t.x||0,this.position.y=-t.y||0,this.startAnimationLoop()}getState(){return{isMoving:this.isMoving(),isDragging:!(!this.dragOffset.x&&!this.dragOffset.y),position:{x:-this.position.x,y:-this.position.y},dragOffset:this.dragOffset,dragAngle:this.getDragAngle(this.clientOffset.x,this.clientOffset.y),borderCollision:{left:this.position.x>=this.edgeX.to,right:this.position.x<=this.edgeX.from,top:this.position.y>=this.edgeY.to,bottom:this.position.y<=this.edgeY.from}}}getDragAngle(t,i){return Math.round(Math.atan2(t,i)*(180/Math.PI))}getDragDirection(t,i){return Math.abs(90-Math.abs(t))<=90-i?"horizontal":"vertical"}setContentPosition(t){"transform"===this.props.scrollMode&&(this.props.content.style.transform=`translate(${-t.position.x}px, ${-t.position.y}px)`),"native"===this.props.scrollMode&&(this.props.viewport.scrollTop=t.position.y,this.props.viewport.scrollLeft=t.position.x)}handleEvents(){const t={x:0,y:0},i={x:0,y:0};let e=null,s=null,o=!1;const r=s=>{if(!this.isDragging)return;const r=o?s.touches[0]:s,{pageX:n,pageY:a,clientX:l,clientY:h}=r;this.dragOffset.x=n-t.x,this.dragOffset.y=a-t.y,this.clientOffset.x=l-i.x,this.clientOffset.y=h-i.y,(Math.abs(this.clientOffset.x)>5&&!e||Math.abs(this.clientOffset.y)>5&&!e)&&(e=this.getDragDirection(this.getDragAngle(this.clientOffset.x,this.clientOffset.y),this.props.dragDirectionTolerance)),this.props.lockScrollOnDragDirection&&"all"!==this.props.lockScrollOnDragDirection?e===this.props.lockScrollOnDragDirection&&o?(this.dragPosition.x=this.dragStartPosition.x+this.dragOffset.x,this.dragPosition.y=this.dragStartPosition.y+this.dragOffset.y):o?(this.dragPosition.x=this.dragStartPosition.x,this.dragPosition.y=this.dragStartPosition.y):(this.dragPosition.x=this.dragStartPosition.x+this.dragOffset.x,this.dragPosition.y=this.dragStartPosition.y+this.dragOffset.y):(this.dragPosition.x=this.dragStartPosition.x+this.dragOffset.x,this.dragPosition.y=this.dragStartPosition.y+this.dragOffset.y)};this.events.pointerdown=e=>{o=!(!e.touches||!e.touches[0]),this.props.onPointerDown(this.getState(),e,o);const s=o?e.touches[0]:e,{pageX:n,pageY:a,clientX:l,clientY:h}=s,{viewport:p}=this.props,c=p.getBoundingClientRect();if(!(l-c.left>=p.clientLeft+p.clientWidth)&&!(h-c.top>=p.clientTop+p.clientHeight)&&this.props.shouldScroll(this.getState(),e)&&2!==e.button&&("mouse"!==this.props.pointerMode||!o)&&
1("touch"!==this.props.pointerMode||o)&&!(this.props.inputsFocus&&["input","textarea","button","select","label"].indexOf(e.target.nodeName.toLowerCase())>-1)){if(this.props.textSelection){const t=((t,i,e)=>{const s=t.childNodes,o=document.createRange();for(let t=0;t<s.length;t++){const r=s[t];if(3!==r.nodeType)continue;o.selectNodeContents(r);const n=o.getBoundingClientRect();if(i>=n.left&&e>=n.top&&i<=n.right&&e<=n.bottom)return r}return!1})(e.target,l,h);if(t)return;(()=>{const t=window.getSelection?window.getSelection():document.selection;t&&(t.removeAllRanges?t.removeAllRanges():t.empty&&t.empty())})()}this.isDragging=!0,t.x=n,t.y=a,i.x=l,i.y=h,this.dragStartPosition.x=this.position.x,this.dragStartPosition.y=this.position.y,r(e),this.startAnimationLoop(),!o&&this.props.pointerDownPreventDefault&&e.preventDefault()}},this.events.pointermove=t=>{!t.cancelable||"all"!==this.props.lockScrollOnDragDirection&&this.props.lockScrollOnDragDirection!==e||t.preventDefault(),r(t),this.props.onPointerMove(this.getState(),t,o)},this.events.pointerup=t=>{this.isDragging=!1,e=null,this.props.onPointerUp(this.getState(),t,o)},this.events.wheel=t=>{const i=this.getState();this.props.emulateScroll&&(this.velocity.x=0,this.velocity.y=0,this.isScrolling=!0,this.scrollOffset.x=-t.deltaX,this.scrollOffset.y=-t.deltaY,this.props.onWheel(i,t),this.startAnimationLoop(),clearTimeout(s),s=setTimeout((()=>this.isScrolling=!1),80),this.props.preventDefaultOnEmulateScroll&&this.getDragDirection(this.getDragAngle(-t.deltaX,-t.deltaY),this.props.dragDirectionTolerance)===this.props.preventDefaultOnEmulateScroll&&t.preventDefault())},this.events.scroll=()=>{const{scrollLeft:t,scrollTop:i}=this.props.viewport;Math.abs(this.position.x+t)>3&&(this.position.x=-t,this.velocity.x=0),Math.abs(this.position.y+i)>3&&(this.position.y=-i,this.velocity.y=0)},this.events.click=t=>{const i=this.getState(),e="vertical"!==this.props.direction?i.dragOffset.x:0,s="horizontal"!==this.props.direction?i.dragOffset.y:0;Math.max(Math.abs(e),Math.abs(s))>5&&(t.preventDefault(),t.stopPropagation()),this.props.onClick(i,t,o)},this.events.contentLoad=()=>this.updateMetrics(),this.events.resize=()=>this.updateMetrics(),this.props.viewport.addEventListener("mousedown",this.events.pointerdown),this.props.viewport.addEventListener("touchstart",this.events.pointerdown,{passive:!1}),this.props.viewport.addEventListener("click",this.events.click),this.props.viewport.addEventListener("wheel",this.events.wheel,{passive:!1}),this.props.viewport.addEventListener("scroll",this.events.scroll),this.props.content.addEventListener("load",this.events.contentLoad,!0),window.addEventListener("mousemove",this.events.pointermove),window.addEventListener("touchmove",this.events.pointermove,{passive:!1}),window.addEventListener("mouseup",this.events.pointerup),window.addEventListener("touchend",this.events.pointerup),window.addEventListener("resize",this.events.resize)}destroy(){this.props.viewport.removeEventListener("mousedown",this.events.pointerdown),this.props.viewport.removeEventListener("touchstart",this.events.pointerdown),this.props.viewport.removeEventListener("click",this.events.click),this.props.viewport.removeEventListener("wheel",this.events.wheel),this.props.viewport.removeEventListener("scroll",this.events.scroll),this.props.content.removeEventListener("load",this.events.contentLoad),window.removeEventListener("mousemove",this.events.pointermove),window.removeEventListener("touchmove",this.events.pointermove),window.removeEventListener("mouseup",this.events.pointerup),window.removeEventListener("touchend",this.events.pointerup),window.removeEventListener("resize",this.events.resize)}}},271:function(t,i,e){var s=this&&this.__awaiter||function(t,i,e,s){return new(e||(e=Promise))((function(o,r){function n(t){try{l(s.next(t))}catch(t){r(t)}}function a(t){try{l(s.throw(t))}catch(t){r(t)}}function l(t){var i;t.done?o(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(n,a)}l((s=s.apply(t,i||[])).next())}))},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(i,"__esModule",{value:!0}),i.AwardsList=void 0;const r=o(e(701));i.AwardsList=class{constructor(t,i,e,s=[],o=".block-peb-products-awards-list__nav-years-list-viewport",r=".block-peb-products-awards-list__nav-years-list-item",n=".block-peb-products-awards-list__nav-years-list-item-button",a=".block-peb-products-awards-list__nav-years-list-item-button--active",l="block-peb-products-awards-list__nav-years-list-item-button--active",h=".block-peb-products-awards-list__items",p=".block-peb-products-awards-list__items--loading",c="block-peb-products-awards-list__items--loading",d=".block-peb-products-awards-list__nav-years-nav--prev",v=".block-peb-products-awards-list__nav-years-nav--next"){this.navYearsListElement=t,this.apiUrl=i,this.apiAction=e,this.args=s,this.navYearsListViewportSelector=o,this.listItemSelector=r,this.listItemButtonSelector=n,this.listItemButtonActiveSelector=a,this.listItemButtonActiveClassName=l,this.listItemsSelector=h,this.listItemsLoadingSelector=p,this.listItemsLoadingClassName=c,this.prevButtonSelector=d,this.nextButtonSelector=v,this.initialize(t,s)}initialize(t,i){var e,o;return s(this,void 0,void 0,(function*(){const n=this,a=new r.default({viewport:t,scrollMode:"transform",direction:"horizontal"});$(this.listItemSelector,t).on("click",(function(){return s(this,void 0,void 0,(function*(){$(n.listItemButtonActiveSelector,t).removeClass(n.listItemButtonActiveClassName),$(n.listItemButtonSelector,this).addClass(n.listItemButtonActiveClassName);const e=$(this).attr("data_id");$(n.listItemsSelector).addClass(n.listItemsLoadingSelector),yield n.renderResults(e,i)}))}));const l=(null!==(e=$(this.navYearsListViewportSelector).width())&&void 0!==e?e:0)-(null!==(o=$(this.navYearsListElement).width())&&void 0!==o?o:0);$(this.prevButtonSelector).on("click",(()=>{let t=a.getState().position.x-300;t=t>0?t:0,a.scrollTo({x:t})})),$(this.nextButtonSelector).on("click",(()=>{let t=a.getState().position.x+300;t=t>l?l:t,a.scrollTo({x:t})}))}))}renderResults(t,i){return s(this,void 0,void 0,(function*(){const e=new URLSearchParams;e.append("action",this.apiAction),t&&e.append("id",t);for(const t of i)e.append(t.key,t.value);const s=$(this.listItemsSelector);s.addClass(this.listItemsLoadingClassName);const o=yield fetch(this.apiUrl,{method:"POST",body:e});s.empty();const r=yield o.json(),n=$(r.html);s.removeClass(this.listItemsLoadingClassName),s.append(n)}))}}}},i={};function e(s){var o=i[s];if(void 0!==o)return o.exports;
1var r=i[s]={exports:{}};return t[s].call(r.exports,r,r.exports,e),r.exports}e.d=(t,i)=>{for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},e.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{e(102);const t=e(271);$((()=>{const i=document.querySelector(".block-peb-products-awards-list__nav-years");let e=null,s=!1;i&&(e=i.dataset.award,s="1"===i.dataset.restaurant);const o=document.querySelector(".block-peb-products-awards-list__nav-years-list");if(o){const i=ajaxParams.url;new t.AwardsList(o,i,"product_awards",[{key:"award",value:e},{key:"restaurant",value:s}],".block-peb-products-awards-list__nav-years-list-viewport",".block-peb-products-awards-list__nav-years-list-item",".block-peb-products-awards-list__nav-years-list-item-button",".block-peb-products-awards-list__nav-years-list-item-button--active","block-peb-products-awards-list__nav-years-list-item-button--active",".block-peb-products-awards-list__items",".block-peb-products-awards-list__items--loading","block-peb-products-awards-list__items--loading",".block-peb-products-awards-list__nav-years-nav--prev",".block-peb-products-awards-list__nav-years-nav--next")}}))})()})()
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.