PageSourceSearch

https://tesana.com/assets/deckTracking-Bv0Mro3v.js

js tesana.com collected 2026-10-09 22:42:54 UTC 5,352 bytes, 1 lines download raw bytes

1import{j as s,u as c,m as f}from"./vendor-motion-hRg_q8lq.js";import{d as r,aQ as u}from"./index-BKzE8EQ8.js";import{a as m}from"./DeckLineChart-BQ6-1cM1.js";import{r as o}from"./vendor-react-E98sgxjj.js";const p="p-6 sm:p-8 lg:p-10 xl:p-14",h=i=>String(i).padStart(2,"0");function q({index:i,children:e,fixedAspect:t=!0,alwaysAspect:n=!1,bleed:a=!1,surface:l=!1,contentClassName:d}){return s.jsx("section",{"data-slide":i,id:`slide-${i}`,className:"flex scroll-mt-24 justify-center px-3 py-4 sm:px-6 lg:px-8 lg:py-7",children:s.jsxs("div",{className:r("relative w-full max-w-[1180px] overflow-hidden rounded-xl border border-border shadow-card md:rounded-2xl",l?"bg-surface":"bg-card",n?"aspect-[16/9]":t?"lg:aspect-[16/9]":"lg:min-h-[640px]"),children:[s.jsx("div",{className:r("relative z-10 flex h-full w-full flex-col",!a&&p,d),children:e}),s.jsxs("span",{className:"pointer-events-none absolute bottom-4 right-5 z-20 select-none text-xs font-medium tabular-nums text-muted-foreground/70",children:[h(i)," ",s.jsxs("span",{className:"text-muted-foreground/40",children:["/ ",h(m)]})]})]})})}function S({children:i,className:e}){return s.jsx("span",{className:r("inline-flex w-fit items-center rounded-md bg-secondary px-2.5 py-1 text-xs font-semibold uppercase tracking-wider text-secondary-foreground/80",e),children:i})}function j({children:i,className:e}){return s.jsx("h2",{className:r("text-[1.75rem] font-normal leading-[1.1] tracking-tight text-foreground md:text-4xl",e),children:i})}const v=[.22,1,.36,1];function w({children:i,className:e,delay:t=0,y:n=18,amount:a=.2}){const l=c();return s.jsx(f.div,{className:e,initial:{opacity:0,y:l?0:n},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:a},transition:{duration:.55,ease:v,delay:t},children:i})}function D({children:i,className:e,stagger:t=.09,delayChildren:n=0,amount:a=.2}){return s.jsx("div",{className:e,children:o.Children.map(i,(l,d)=>o.isValidElement(l)?o.cloneElement(l,{delay:n+d*t,amount:a}):l)})}function A({children:i,className:e,delay:t=0,amount:n=.2,y:a=14}){return s.jsx(w,{className:e,delay:t,amount:n,y:a,children:i})}function I({children:i,className:e}){return s.jsx("div",{className:e,children:i})}function M({text:i,className:e,speedMs:t=18}){return c()?s.jsx("span",{className:e,children:i}):s.jsx("span",{className:e,"aria-label":i,children:Array.from(i).map((a,l)=>s.jsx(f.span,{"aria-hidden":!0,initial:{opacity:0}
1,whileInView:{opacity:1},viewport:{once:!0,amount:0},transition:{duration:.04,delay:l*(t/1e3)},children:a},l))})}const x=1e4,b=5e3,k=15e3,T=25;class _{token=null;queue=[];slide=1;slideLabel="";active=!0;lastTickTs=0;heartbeatTimer=null;flushTimer=null;started=!1;start(e,t,n){this.started||typeof window>"u"||(this.started=!0,this.token=e,this.slide=t,this.slideLabel=n,this.active=this.isActive(),this.lastTickTs=Date.now(),this.enqueue({kind:"deck_open"}),this.enqueue({kind:"slide_enter",slide_index:t,slide_label:n}),document.addEventListener("visibilitychange",this.onVisibility),window.addEventListener("blur",this.onBlur),window.addEventListener("focus",this.onFocus),window.addEventListener("pagehide",this.onUnload),window.addEventListener("beforeunload",this.onUnload),this.heartbeatTimer=window.setInterval(this.tick,x),this.flushTimer=window.setInterval(()=>this.flush(!1),b))}setSlide(e,t){!this.started||e===this.slide||(this.tick(),this.enqueue({kind:"slide_leave",slide_index:this.slide,slide_label:this.slideLabel}),this.slide=e,this.slideLabel=t,this.enqueue({kind:"slide_enter",slide_index:e,slide_label:t}),this.flush(!1))}track(e,t){this.started&&this.enqueue({kind:e,slide_index:this.slide,slide_label:this.slideLabel,metadata:t})}stop(){this.started&&(this.tick(),this.enqueue({kind:"slide_leave",slide_index:this.slide,slide_label:this.slideLabel}),this.enqueue({kind:"deck_close"}),document.removeEventListener("visibilitychange",this.onVisibility),window.removeEventListener("blur",this.onBlur),window.removeEventListener("focus",this.onFocus),window.removeEventListener("pagehide",this.onUnload),window.removeEventListener("beforeunload",this.onUnload),this.heartbeatTimer!==null&&window.clearInterval(this.heartbeatTimer),this.flushTimer!==null&&window.clearInterval(this.flushTimer),this.heartbeatTimer=null,this.flushTimer=null,this.flush(!0),this.started=!1,this.token=null,this.queue=[])}isActive(){return typeof document>"u"?!0:document.visibilityState==="visible"&&document.hasFocus()}tick=()=>{const e=Date.now();if(this.active){const t=Math.min(e-this.lastTickTs,k);t>0&&this.enqueue({kind:"heartbeat",slide_index:this.slide,slide_label:this.slideLabel,duration_ms:t})}this.lastTickTs=e};onVisibility=()=>{document.visibilityState==="hidden"?(this.tick(),this.active=!1,this.enqueue({kind:"idle"}),this.flush(!0)):(this.active=!0,this.lastTickTs=Date.now(),this.enqueue({kind:"resume"}))};onBlur=()=>{this.tick(),this.active=!1};onFocus=()=>{this.active=!0,this.lastTickTs=Date.now()};onUnload=()=>{this.tick(),this.enqueue({kind:"deck_close"}),this.flush(!0)};enqueue(e){this.queue.push({...e,client_ts:Date.now()}),this.queue.length>=T&&this.flush(!1)}flush(e){if(!this.token||this.queue.length===0)return;const t=this.queue;this.queue=[],e?u.sendEventsBeacon(this.token,t):u.sendEvents(this.token,t).catch(()=>{})}}const U=new _;export{q as D,I as M,w as R,S,M as T,j as a,D as b,A as c,U as d,p as e};

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.