PageSourceSearch

https://ngrok.com/assets/logo-loop-Oh0ihhVA.js

js ngrok.com collected 2026-09-24 06:49:40 UTC 3,199 bytes, 1 lines download raw bytes

1import{K as e,Y as t,i as n,o as r}from"./icon-BT8FnkkJ-BXNRZ6YI.js";import{t as i}from"./use-prefers-reduced-motion-Cj9tJ181-qAhyIwDp.js";import{t as a}from"./types-D85fCNV3-DOc6skV4.js";var o=t(e(),1),s=n(),c=[{src:`/assets/home/logo/calendly.svg`,alt:`Calendly`,width:170,height:48},{src:`/assets/home/logo/cyera.svg`,alt:`Cyera`,width:149,height:48},{src:`/assets/home/logo/databricks.svg`,alt:`Databricks`,width:194,height:48},{src:`/assets/home/logo/github.svg`,alt:`GitHub`,width:48,height:48},{src:`/assets/home/logo/grafana.svg`,alt:`Grafana`,width:227,height:48},{src:`/assets/home/logo/harvey.svg`,alt:`Harvey`,width:118,height:48},{src:`/assets/home/logo/huggingface.svg`,alt:`Hugging Face`,width:179,height:48},{src:`/assets/home/logo/mercor.png`,alt:`Mercor`,width:45,height:48},{src:`/assets/home/logo/microsoft.svg`,alt:`Microsoft`,width:144,height:48},{src:`/assets/home/logo/okta.svg`,alt:`Okta`,width:86,height:48},{src:`/assets/home/logo/openai.svg`,alt:`Open AI`,width:47,height:48},{src:`/assets/home/logo/perplexity.svg`,alt:`Perplexity`,width:170,height:48},{src:`/assets/home/logo/ramp.svg`,alt:`Ramp`,width:157,height:48},{src:`/assets/home/logo/schneider.svg`,alt:`Schneider Electric`,width:116,height:48},{src:`/assets/home/logo/twilio.svg`,alt:`Twilio`,width:119,height:48},{src:`/assets/home/logo/vercel.svg`,alt:`Vercel`,width:140,height:48},{src:`/assets/home/logo/windsurf.svg`,alt:`Windsurf`,width:189,height:48},{src:`/assets/home/logo/zoom.svg`,alt:`Zoom`,width:100,height:48}],l=e=>`src`in e;function u({item:e}){return l(e)?(0,s.jsx)(`img`,{className:`pointer-events-none block h-(--logoloop-logoHeight) [-webkit-user-drag:none] [image-rendering:-webkit-optimize-contrast]`,style:e.width?{width:`${e.width}px`}:void 0,src:e.src,srcSet:e.srcSet,sizes:e.sizes,width:e.width,height:e.height,alt:e.alt??``,title:e.title,loading:`lazy`,decoding:`async`,draggable:!1}):(0,s.jsx)(`span`,{className:`inline-flex items-center`,children:e.node})}var d=({logos:e,copyIndex:t})=>(0,s.jsx)(`ul`,{className:`flex items-center`,"aria-hidden":t>0,children:e.map((e,n)=>(0,s.jsx)(`li`,{className:`mr-(--logoloop-gap) flex-none text-(length:--logoloop-logoHeight) leading-none`,children:(0,s.jsx)(u,{item:e})},`${t}-${n}`))}),f=(0,o.memo)(({speed:e=30,logoHeight:t=48,gap:n=50,paused:u=!1,className:f,style:p,"aria-label":m=`Partner logos`,...h})=>{let g=i(),_=c,v=(0,o.useMemo)(()=>{let r=_.reduce((e,n)=>e+(l(n)?n.width??t:t),0),i=_.length*n;return r>0&&Math.abs(e)>0?(r+i)/Math.abs(e):0},[_,t,n,e]),y=!g&&v>0,b=a({"--logoloop-gap":`${n}px`,"--logoloop-logoHeight":`${t}px`,"--logoloop-duration":`${v}s`,...p});return(0,s.jsx)(`section`,{"aria-label":m,className:r(`relative overflow-x-hidden`,f),style:b,...h,children:(0,s.jsx)(`div`,{className:`relative z-0 flex w-max will-change-transform select-none motion-reduce:transform-none`,style:y?{animationName:`logo-loop-scroll`,animationDuration:`var(--logoloop-duration)`,animationTimingFunction:`linear`,animationIterationCount:`infinite`,animationDirection:e<0?`reverse`:`normal`,animationPlayState:u?`paused`:`running`}:void 0,children:Array.from({length:2},(e,t)=>(0,s.jsx)(d,{logos:_,copyIndex:t},t))})})});export{f as t};

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.