1import{c as R,o as B,n as z,w as O,x as A,r as v}from"./vue.esm-bundler.js";import{u as U}from"./use-size-chart.js";import{e as V}from"./ScrollTrigger.js";import{B as $}from"./base-section.js";import"./use-scroll-lock.js";import"./use-viewport-size.js";class K extends ${constructor(){super('[data-section-type="product-size-chart"]')}init(C){const M=C.container;if(!M){V("[Allbirds section] - Product Size - init - Container not found",{},new Error("Container not found"));return}R({name:"ProductSizeChartManager",setup(){const{closeSizeChart:I,isSizeChartOpen:h}=U(),n=v(null),o=v(null),u=v(null),i=v(!1),m=v(0),w=v(0),l=v(!1),L=()=>{if(!n.value||!o.value||!u.value){l.value=!1;return}const e=n.value,t=o.value,a=u.value;if(e.offsetParent===null||a.offsetParent===null){l.value=!1;return}const s=e.clientWidth,r=e.scrollWidth;if(r<=s||s===0||r===0){l.value=!1,t&&(t.style.width="0px",t.style.left="0px");return}l.value=!0;const f=a.clientWidth;if(f>0&&r>0){const d=s/r,c=Math.max(f*d,20);t&&(t.style.width=`${c}px`)}else t&&(t.style.width="0px");x()},x=()=>{if(!l.value||!n.value||!o.value||!u.value)return;const e=n.value,t=o.value,a=u.value;if(e.offsetParent===null||t.offsetParent===null||a.offsetParent===null)return;const s=e.scrollWidth-e.clientWidth,r=a.clientWidth,f=t.offsetWidth,d=r-f;if(s>0&&d>=0){const c=e.scrollLeft/s,S=Math.max(0,Math.min(c*d,d));t.style.left=`${S}px`}else t.style.left="0px"},k=()=>{x()},y=(e=0)=>{if(!l.value||!n.value||!o.value||!u.value)return;const t=n.value,a=o.value,s=u.value,r=t.scrollWidth-t.clientWidth,f=s.clientWidth,d=a.offsetWidth,c=f-d;if(c>=0&&r>0){const S=Math.max(0,Math.min(e,c)),X=c>0?S/c:0;t.scrollLeft=X*r}else r<=0&&(t.scrollLeft=0)},D=e=>{!o.value||!n.value||!l.value||(e.preventDefault(),i.value=!0,m.value=e.clientX,w.value=o.value.offsetLeft,window.addEventListener("mousemove",p),window.addEventListener("mouseup",W))},p=e=>{if(!i.value)return;const t=e.clientX-m.value,a=w.value+t;y(a)},W=()=>{i.value&&(i.value=!1,window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",W))},g=e=>{!o.value||!n.value||!l.value||(i.value=!0,m.value=e.touches[0].clientX,w.value=o.value.offsetLeft,window.addEventListener("touchmove",E,{passive:!1}),window.addEventListener("touchend",b))},E=e=>{if(!i.value)return;e.preventDefault();const t=e.touches[0].clientX-m.value,a=w.value+t;y(a)},b=()=>{i.value&&(i.value=!1,window.removeEventListener("touchmove",E),window.removeEventListener("touchend",b))},P=e=>{e.key==="Escape"&&h.value&&I()},T=()=>{h.value&&L()};return B(()=>{window.addEventListener("keydown",P),window.addEventListener("resize",T),n.value&&(n.value.addEventListener("scroll",k),h.value&&z(()=>{setTimeout(()=>{L()},0)}))}),O(h,e=>{e?z(()=>{setTimeout(()=>{L(),n.value.scrollLeft=0},0)}):l.value=!1}),A(()=>{window.removeEventListener("keydown",P),window.removeEventListener("resize",T),n.value&&n.value.removeEventListener("scroll",k),window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",W),window.removeEventListener("touchmove",E),window.removeEventListener("touchend",b)}),{closeSizeChart:I,handleIndicatorMouseDown:D,handleIndicatorTouchStart:g,isScrollbarVisible:l,isSizeChartOpen:h,scrollIndicatorRef:o,scrollTrackRef:u,tableContainerRef:n}}}).mount(M)}}document.addEventListener("DOMContentLoaded",()=>{new K});
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.