1import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{S as n,w as r}from"./vendor-charts-BP9iDB8b.js";import{n as i}from"./vendor-i18n-Dt2lf0sE.js";import{r as a}from"./vendor-motion-Ehz3gsNa.js";import{Qt as o}from"./vendor-icons-DynaLYFr.js";import{r as s}from"./LinkButton-DDgWutLp.js";var c=t((e=>{function t(e){if(!e||typeof window>`u`)return;let t=document.createElement(`style`);return t.setAttribute(`type`,`text/css`),t.innerHTML=e,document.head.appendChild(t),e}Object.defineProperty(e,"__esModule",{value:!0});var n=r();function i(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var a=i(n);t(`.rfm-marquee-container { 2 overflow-x: hidden; 3 display: flex; 4 flex-direction: row; 5 position: relative; 6 width: var(--width); 7 transform: var(--transform); 8} 9.rfm-marquee-container:hover div { 10 animation-play-state: var(--pause-on-hover); 11} 12.rfm-marquee-container:active div { 13 animation-play-state: var(--pause-on-click); 14} 15 16.rfm-overlay { 17 position: absolute; 18 width: 100%; 19 height: 100%; 20} 21.rfm-overlay::before, .rfm-overlay::after { 22 background: linear-gradient(to right, var(--gradient-color), rgba(255, 255, 255, 0)); 23 content: ""; 24 height: 100%; 25 position: absolute; 26 width: var(--gradient-width); 27 z-index: 2; 28 pointer-events: none; 29 touch-action: none; 30} 31.rfm-overlay::after { 32 right: 0; 33 top: 0; 34 transform: rotateZ(180deg); 35} 36.rfm-overlay::before { 37 left: 0; 38 top: 0; 39} 40 41.rfm-marquee { 42 flex: 0 0 auto; 43 min-width: var(--min-width); 44 z-index: 1; 45 display: flex; 46 flex-direction: row; 47 align-items: center; 48 animation: scroll var(--duration) linear var(--delay) var(--iteration-count); 49 animation-play-state: var(--play); 50 animation-delay: var(--delay); 51 animation-direction: var(--direction); 52} 53@keyframes scroll { 54 0% { 55 transform: translateX(0%); 56 } 57 100% { 58 transform: translateX(-100%); 59 } 60} 61 62.rfm-initial-child-container { 63 flex: 0 0 auto; 64 display: flex; 65 min-width: auto; 66 flex-direction: row; 67 align-items: center; 68} 69 70.rfm-child { 71 transform: var(--transform); 72}`),e.default=n.forwardRef(function({style:e={},className:t=``,autoFill:r=!1,play:i=!0,pauseOnHover:o=!1,pauseOnClick:s=!1,direction:c=`left`,speed:l=50,delay:u=0,loop:d=0,gradient:f=!1,gradientColor:p=`white`,gradientWidth:m=200,onFinish:h,onCycleComplete:g,onMount:_,children:v},y){let[b,x]=n.useState(0),[S,C]=n.useState(0),[w,T]=n.useState(1),[E,D]=n.useState(!1),O=n.useRef(null),k=y||O,A=n.useRef(null),j=n.useCallback(()=>{if(A.current&&k.current){let e=k.current.getBoundingClientRect(),t=A.current.getBoundingClientRect(),n=e.width,i=t.width;(c===`up`||c===`down`)&&(n=e.height,i=t.height),T(r&&n&&i&&i<n?Math.ceil(n/i):1),x(n),C(i)}},[r,k,c]);n.useEffect(()=>{if(E&&(j(),A.current&&k.current)){let e=new ResizeObserver(()=>j());return e.observe(k.current),e.observe(A.current),()=>{e&&e.disconnect()}}},[j,k,E]),n.useEffect(()=>{j()},[j,v]),n.useEffect(()=>{D(!0)},[]),n.useEffect(()=>{typeof _==`function`&&_()},[]);let M=n.useMemo(()=>r?S*w/l:S<b?b/l:S/l,[r,b,S,w,l]),N=n.useMemo(()=>Object.assign(Object.assign({},e),{"--pause-on-hover":!i||o?`paused`:`running`,"--pause-on-click":!i||o&&!s||s?`paused`:`running`,"--width":c===`up`||c===`down`?`100vh`:`100%`,"--transform":c===`up`?`rotate(-90deg)`:c===`down`?`rotate(90deg)`:`none`}),[e,i,o,s,c]),P=n.useMemo(()=>({"--gradient-color":p,"--gradient-width":typeof m==`number`?`${m}px`:m}),[p,m]),F=n.useMemo(()=>({"--play":i?`running`:`paused`,"--direction":c===`left`?`normal`:`reverse`,"--duration":`${M}
72s`,"--delay":`${u}s`,"--iteration-count":d?`${d}`:`infinite`,"--min-width":r?`auto`:`100%`}),[i,c,M,u,d,r]),I=n.useMemo(()=>({"--transform":c===`up`?`rotate(90deg)`:c===`down`?`rotate(-90deg)`:`none`}),[c]),L=n.useCallback(e=>[...Array(Number.isFinite(e)&&e>=0?e:0)].map((e,t)=>a.default.createElement(n.Fragment,{key:t},n.Children.map(v,e=>a.default.createElement(`div`,{style:I,className:`rfm-child`},e)))),[I,v]);return E?a.default.createElement(`div`,{ref:k,style:N,className:`rfm-marquee-container `+t},f&&a.default.createElement(`div`,{style:P,className:`rfm-overlay`}),a.default.createElement(`div`,{className:`rfm-marquee`,style:F,onAnimationIteration:g,onAnimationEnd:h},a.default.createElement(`div`,{className:`rfm-initial-child-container`,ref:A},n.Children.map(v,e=>a.default.createElement(`div`,{style:I,className:`rfm-child`},e))),L(w-1)),a.default.createElement(`div`,{className:`rfm-marquee`,style:F},L(w))):null})})),l=e(r(),1),u=s(),d=a();function f(){let[e,t]=(0,l.useState)(!1),{t:r}=i(`landing`);return(0,l.useEffect)(()=>{let e=()=>{window.scrollY>300?t(!0):t(!1)};return window.addEventListener(`scroll`,e),e(),()=>window.removeEventListener(`scroll`,e)},[]),(0,d.jsxs)(`button`,{onClick:()=>{u.animateScroll.scrollToTop({duration:500,smooth:!0})},"aria-label":`Scroll to top`,className:n(`fixed bottom-3 right-20 z-50 flex transform items-center gap-2 rounded-full bg-white px-6 py-3 text-black transition-opacity duration-300 ease-in-out sm:right-24`,e?`opacity-100`:`pointer-events-none opacity-0`),children:[(0,d.jsx)(o,{className:`size-6`}),(0,d.jsx)(`span`,{className:`px-1 text-lg font-bold`,children:r(`button.scrollTop`)})]})}export{c as n,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.