"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[19],{53:(e,t,r)=>{r.d(t,{a:()=>M});var a=r(0),i=r(24),n=r(2),o=r(5),s=r(104),l=r(3),c=r(45),d=r(28),u=r(11),p=r(29),h=r(37),m=r(4),g=r(39),x=r(71),v=r(6);function f({disruptor:e}){return"bite_disruptor"===e.type?(0,a.jsx)(b,{disruptor:e}):(0,a.jsx)(y,{disruptor:e})}function b({disruptor:e}){return e.biteHtml?(0,a.jsx)("div",{style:{display:"grid"},dangerouslySetInnerHTML:{__html:e.biteHtml}}):(0,a.jsx)(m.Fragment,{})}function y({disruptor:e}){var t;return(0,a.jsxs)("div",{class:g.a.card,style:{color:e.text_color},children:[(0,a.jsx)(j,{media:e.media}),(0,a.jsx)("div",{class:g.a.title,dangerouslySetInnerHTML:{__html:e.title}}),(0,a.jsx)("div",{class:g.a.body,dangerouslySetInnerHTML:{__html:null!==(t=e.body_text)&&void 0!==t?t:""}}),(0,a.jsx)(C,{disruptor:e})]})}function j({media:e}){var t,r;return"image"===e.type&&e.url?(0,a.jsx)(o.a,{src:(0,v.b)(e.url),alt:null!==(t=e.altText)&&void 0!==t?t:"",initialWidth:null!==(r=e.width)&&void 0!==r?r:400,cssClass:g.a.media}):"video"===e.type&&e.sources.length>0?(0,a.jsx)("div",{class:g.a.media,children:(0,a.jsx)(x.a,{sources:e.sources,className:g.a.mediaVideo})}):(0,a.jsx)(m.Fragment,{})}const _={primary:g.a.cta_primary,secondary:g.a.cta_secondary,tertiary:g.a.cta_tertiary};function C({disruptor:e}){var t;if(!e.cta_url||!e.cta_label||!e.cta_style)return(0,a.jsx)(m.Fragment,{});const r=null!==(t=_[e.cta_style])&&void 0!==t?t:g.a.cta_primary;return(0,a.jsx)("a",{href:e.cta_url,class:`${g.a.cta} ${r}`,children:e.cta_label})}var P=r(108),S=r(109),I=r(128),w=r(101),O=r(38),T=r(41),N=r(110),k=r(54),A=r(44),V=r(27),B=r(7);function H({isOpen:e,onClose:t,title:r,products:i,buttonMessage:o,addToCartProperties:s,initialVariantId:l}){const[c,d]=(0,n.useState)(0),u=(0,n.useRef)(null),p=(0,n.useRef)(null),h=(0,n.useMemo)((()=>i.filter(B.c)),[i]),m=()=>{const e=u.current,t=p.current;if(!e||!t)return;const r=e.scrollLeft/(e.scrollWidth-e.clientWidth);t.style.setProperty("--scroll-progress",r.toString())},g=()=>{const e=u.current;if(!e)return;m();const t=e.getBoundingClientRect(),r=Array.from(e.children),a=r[r.length-1];if(!a)return;const i=a.getBoundingClientRect().right-t.right<45;let n=1/0;r.forEach(((e,r)=>{const a=e.getBoundingClientRect();if(i&&a.left<0)return;const o=Math.abs(a.left-t.left)+(a.left<0?20:0);o{const e=u.current;if(e)return e.addEventListener("scroll",g),m(),()=>{e.removeEventListener("scroll",g)}}),[u.current,h.length]),0===h.length)return null;const x=1===h.length;return(0,a.jsx)(T.a,{isOpen:e,onClose:t,variant:"bottomSheet",title:r,size:"large",children:(0,a.jsxs)("div",{className:V.a.modalContent,"data-single-product":x,children:[(0,a.jsx)("button",{type:"button",className:V.a.closeButton,onClick:t,"aria-label":"Close modal",children:(0,a.jsx)(A.a,{size:"20px",iconClass:V.a.closeIcon})}),(0,a.jsxs)("div",{className:V.a.sliderContainer,ref:p,children:[h.length>1&&(0,a.jsx)(k.a,{direction:"left",onClick:()=>{const e=u.current;if(!e)return;const t=.8*e.offsetWidth;e.scrollBy({left:-t,behavior:"smooth"})},className:V.a.arrowLeft,ariaLabel:"Previous products"}),(0,a.jsx)("div",{className:V.a.productsSlider,ref:u,"data-slider":"true","data-single-product":x,children:h.map((e=>(0,a.jsx)(N.a,{product:e,onClose:t,buttonMessage:o,addToCartProperties:s,initialVariantId:l},e.handle)))}),h.length>1&&(0,a.jsx)(k.a,{direction:"right",onClick:()=>{const e=u.current;if(!e)return;const t=.8*e.offsetWidth;e.scrollBy({left:t,behavior:"smooth"})},className:V.a.arrowRight,ariaLabel:"Next products"})]}),h.length>1&&(0,a.jsx)("div",{className:V.a.sliderDots,children:h.map(((e,t)=>(0,a.jsx)("button",{type:"button",className:[V.a.dot,t===c&&V.a.dotActive].join(" "),onClick:()=>(e=>{const t=u.current;if(!t)return;const r=Array.from(t.children)[e];r&&r.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})})(t),"aria-label":`Go to product ${t+1}`},t)))})]})})}const L=300;function M({product:e,collectionHandle:t,replaceStateEnabled:r,initialVariantId:i}){return(null==e?void 0:e.handle)?!("type"in(n=e))||"disruptor"!==n.type&&"bite_disruptor"!==n.type?(0,a.jsx)(R,{product:e,collectionHandle:t,replaceStateEnabled:r,initialVariantId:i}):(0,a.jsx)(f,{disruptor:e}):null;var n}function R({product:e,collectionHandle:t,replaceStateEnabled:r,initialVariantId:u}){var m;const{getHexForOptionColor:g,findProductVariantWithOption:x,EXCLUDE_TAGS:v,promo_prefix_tag:f,product_image_height:b,product_image_width:y,disable_color_swatches:j,showVendor:_,cardPriceDisplay:C,soldOutBadgeText:I,onSaleBadgeText:T,quickshopButton:N}=(0,l.c)((e=>({getHexForOptionColor:e.getHexForOptionColor,findProductVariantWithOption:e.findProductVariantWithOption,EXCLUDE_TAGS:e.config.exclude_tags,promo_prefix_tag:e.config.promo_prefix_tag,product_image_width:e.config.product_image_width,product_image_height:e.config.product_image_height,disable_color_swatches:e.config.disable_color_swatches,showVendor:e.showVendor,cardPriceDisplay:e.cardPriceDisplay,soldOutBadgeText:e.soldOutBadgeText,onSaleBadgeText:e.onSaleBadgeText,quickshopButton:e.quickshopButton}))),[k,A]=(0,n.useState)(!1),V=!0===e.isPack,B=N&&"disabled"!==N&&!V,M=e.options.find((e=>"Color"===e.name)),{pricePrefix:R,priceText:F,showCompareAtPrice:$,onSaleDataAttribute:q,compareAtPriceText:z,priceClassName:U,ssrStyle:G}=function(e,t){var r;const{country:a,internationalPricing:i}=(0,l.c)((e=>({country:e.country,internationalPricing:e.internationalPricing}))),o="US"===a||!i,s=(0,n.useMemo)((()=>{const t=[e.handle];if(e.preorderSiblingHandle&&t.push(e.preorderSiblingHandle),e.combinedKey){const r=e.variants.map((e=>{var t;return null===(t=e.selectedOptions)||void 0===t?void 0:t.childProductHandle})).filter((e=>!!e));t.push(...r)}return[...new Set(t)]}),[e.handle,e.preorderSiblingHandle,e.combinedKey,e.variants]),{data:c,classNamesByHandle:d,ssrStylesByHandle:u}=(0,w.a)(s),p=(null===(r=c[s[0]])||void 0===r?void 0:r.currency)||"USD",h=(0,O.b)({currency:p});return(0,n.useMemo)((()=>e.priceTextOverride?{priceText:e.priceTextOverride,pricePrefix:"",showCompareAtPrice:!1,onSaleDataAttribute:{},compareAtPriceText:void 0,priceClassName:d[e.handle]||"",ssrStyle:u[e.handle]}:o?function(e,t){const{minPrice:r,maxPrice:a}=e.priceRange,i=D(r,a,e.compareAtRange.maxPrice,t,E);return Object.assign(Object.assign({},i),{priceClassName:"",ssrStyle:void 0})}(e,t):function(e,t,r,a,i,n,o){var s,l,c,d;const u=null!==(s=e.priceRange.variantIds)&&void 0!==s?s:[],p=[],h=[],m=[];for(const e of a){const t=null!==(c=null===(l=r[e])||void 0===l?void 0:l.variants)&&void 0!==c?c:[];for(const e of t)null!=e.price.amount&&h.push(e.price.amount),null!=(null===(d=e.compareAtPrice)||void 0===d?void 0:d.amount)&&m.push(e.compareAtPrice.amount),u.includes(e.id)&&null!=e.price.amount&&p.push(e.price.amount)}const g=p.length>0?p:h;if(0===g.length){const r=D(e.priceRange.minPrice,e.priceRange.maxPrice,e.compareAtRange.maxPrice,t,i);return Object.assign(Object.assign({},r),{priceClassName:n[e.handle]||"",ssrStyle:o[e.handle]})}const x=D(Math.min(...g),Math.max(...g),m.length>0?Math.max(...m):void 0,t,i);return Object.assign(Object.assign({},x),{priceClassName:n[e.handle]||"",ssrStyle:o[e.handle]})}(e,t,c,s,h,d,u)),[o,e,t,c,s,h,d,u])}(e,C),K=null!=u?u:e.defaultVariantId,X=e.variants.find((e=>e.variantId===K)),[Q,J]=(0,n.useState)(null!=X?X:e.variants[0]),Y=(0,d.a)(e.imageMap,Q)[0],Z=(0,h.b)(e,Q);if(!Y)return null;const ee=(0,n.useMemo)((()=>{var t,r,a;return v&&(null==v?void 0:v.length)>0?null!==(t=Q.badge)&&void 0!==t?t:e.badge:Q.oos&&!Q.preorderVariant?I||null:Q.compareAtPrice&&parseFloat(Q.price){r&&(e.preventDefault(),location.replace(Z))},class:i.a.link,"data-orly-type":t,"data-orly-handle":e.handle,children:[(0,a.jsxs)("div",{className:i.a.heroImageContainer,children:[ee&&(0,a.jsx)("div",{class:i.a.bestSeller,"data-badge":ee,children:ee}),(0,a.jsx)(o.a,{src:Y.src,initialWidth:L,cssClass:i.a.heroImage,alt:`${te}: ${Y.model}`,height:b,width:y,fullSizeWidth:ie}),B&&(0,a.jsx)(W,{mode:N,onClick:e=>{e.preventDefault(),e.stopPropagation(),A(!0)}})]}),(0,a.jsxs)("div",{class:i.a.textWrapper,children:[_&&(0,a.jsx)("div",{class:i.a.vendor,children:e.vendor}),(0,a.jsx)("div",{class:i.a.title,children:re}),ae&&(0,a.jsx)("div",{class:i.a.subtitle,children:ae}),(0,a.jsx)("div",{class:i.a.price,children:(0,a.jsx)("span",{class:U,style:G,children:(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{class:i.a.originalPrice,style:$&&z?void 0:"visibility:hidden",children:z})," ",R,(0,a.jsx)("span",Object.assign({},q,{style:i.a.productCardPrice,children:F}))]})})}),(0,a.jsx)(S.a,{reviewCount:e.reviewCount,reviewRating:e.reviewRating}),f&&e.plpPromoText&&(0,a.jsx)("div",{class:i.a.plpPromoText,children:e.plpPromoText})]})]}),(0,a.jsx)("div",{class:i.a.colorSwatchContainer,children:!j&&M&&(0,a.jsx)(c.a,{product:e,small:!0,maxItems:12,hideLabel:!0,option:M,getHexForOptionColor:g,selectedVariant:Q,findProductVariantWithOption:t=>x(t,e,X),setSelectedVariantId:t=>{const r=e.variants.find((e=>e.variantId===t));r&&J(r)}})}),B&&(0,a.jsx)(H,{isOpen:k,onClose:()=>A(!1),products:[e],initialVariantId:Q.variantId})]})}function W({mode:e,onClick:t}){return"cartButton"===e?(0,a.jsx)("button",{type:"button",className:i.a.quickshopIconButton,onClick:t,"aria-label":"Quick add to cart",children:(0,a.jsx)("div",{className:i.a.quickshopIcon})}):(0,a.jsx)("button",{type:"button",className:i.a.quickshopOverlay,onClick:t,"aria-label":e,children:e})}function D(e,t,r,a,i){const n=null!=t&&e!==t,o="range"===a&&n,s=o?"":n?"From ":"",l=o?`${i(e)} – ${i(t)}`:i(e),c=null!=r&&r>e,d=(0,I.a)(c);let u;return c&&null!=r&&(u=i(r)),{pricePrefix:s,priceText:l,showCompareAtPrice:c,onSaleDataAttribute:d,compareAtPriceText:u}}const E=e=>`$${(0,u.c)(e)}`},71:(e,t,r)=>{r.d(t,{a:()=>n});var a=r(0),i=r(2);function n({sources:e,className:t,preload:r="metadata"}){const n=(0,i.useRef)(null);return(0,i.useEffect)((()=>{n.current&&n.current.load()}),[e]),(0,a.jsx)("video",{ref:n,class:t,preload:r,playsInline:!0,muted:!0,loop:!0,autoPlay:!0,children:e.map((e=>(0,a.jsx)("source",{src:e.url,type:e.mimeType,width:e.width,height:e.height},e.url)))})}},108:(e,t,r)=>{r.d(t,{a:()=>n});var a=r(2),i=r(7);function n(){const e=(0,i.h)("maxFullSizeWidth","1200","300")();return(0,a.useMemo)((()=>{if(!e)return 1200;try{const t=parseInt(e);if(Number.isNaN(t))return;return t}catch(e){return}}),[e])}}}]);