// @bun
var{defineProperty:Z,getOwnPropertyNames:F,getOwnPropertyDescriptor:A}=Object,B=Object.prototype.hasOwnProperty;function M(z){return this[z]}var p=(z)=>{var j=(_??=new WeakMap).get(z),G;if(j)return j;if(j=Z({},"__esModule",{value:!0}),z&&typeof z==="object"||typeof z==="function"){for(var J of F(z))if(!B.call(j,J))Z(j,J,{get:M.bind(z,J),enumerable:!(G=A(z,J))||G.enumerable})}return _.set(z,j),j},_;var R=(z)=>z;function N(z,j){this[z]=R.bind(null,j)}var r=(z,j)=>{for(var G in j)Z(z,G,{get:j[G],enumerable:!0,configurable:!0,set:N.bind(j,G)})};var O=(z,j)=>()=>(z&&(j=z(z=0)),j);var i=import.meta.require;function x(z,j={}){let{duration:G,delay:J,ease:w,direction:H,custom:K}={...W,...j};if(z==="custom"&&K)return K;switch(z){case"fade":return`${H==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":H==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${H==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":H==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes slideOut { from { transform: translateY(0); opacity: 1; } to { transform: translateY(20px); opacity: 0; } }`;case"scale":return`${H==="in"?"transform: scale(0.95); opacity: 0; animation: scaleIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":H==="out"?"transform: scale(1); opacity: 1; animation: scaleOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: scale(1); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
@keyframes scaleIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes scaleOut { from { transform: scale(1); opacity: 1; } to { transform: scale(0.95); opacity: 0; } }`;case"flip":return`${H==="in"?"transform: perspective(400px) rotateX(-90deg); opacity: 0; animation: flipIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":H==="out"?"transform: perspective(400px) rotateX(0); opacity: 1; animation: flipOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: perspective(400px) rotateX(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
@keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${H==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":H==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function q(){return`
<script data-stx-scoped>
  // Motion preferences handling
  (function() {
    const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

    if (prefersReducedMotion) {
      // Apply reduced motion settings
      document.documentElement.style.setProperty('--stx-transition-duration', '0ms');
      document.documentElement.setAttribute('data-reduced-motion', 'true');
    }
else {
      document.documentElement.setAttribute('data-reduced-motion', 'false');
    }

    // Listen for changes in preference
    window.matchMedia('(prefers-reduced-motion: reduce)').addEventListener('change', (e) => {
      if (e.matches) {
        document.documentElement.style.setProperty('--stx-transition-duration', '0ms');
        document.documentElement.setAttribute('data-reduced-motion', 'true');
      }
else {
        document.documentElement.style.setProperty('--stx-transition-duration', '');
        document.documentElement.setAttribute('data-reduced-motion', 'false');
      }
    });
  })();
</script>
  `}function k(z){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((G)=>G.test(z))}function I(z=0.1,j="0px"){return`
<script data-stx-scoped>
  // Intersection Observer for scroll animations
  (function() {
    const initObserver = () => {
      if (!('IntersectionObserver' in window)) {
        // For browsers that don't support IntersectionObserver, show all elements immediately
        const elements = document.querySelectorAll('.stx-observe');
        elements.forEach(el => el.classList.remove('stx-out'));
        return;
      }

      // Create the observer
      const options = {
        root: null, // Use viewport
        rootMargin: '${j}',
        threshold: ${z}
      };

      const observer = new IntersectionObserver((entries) => {
        entries.forEach(entry => {
          if (entry.isIntersecting) {
            entry.target.classList.remove('stx-out');
            // Stop observing after animation is triggered
            observer.unobserve(entry.target);
          }
        });
      }, options);

      // Start observing elements
      const elements = document.querySelectorAll('.stx-observe');
      elements.forEach(el => observer.observe(el));
    };

    // Initialize observer when DOM is ready
    if (document.readyState === 'loading') {
      document.addEventListener('DOMContentLoaded', initObserver);
    }
else {
      initObserver();
    }
  })();
</script>
  `}function h(){return`
<style id="stx-animation-base">
  :root {
    --stx-transition-duration: 300ms;
    --stx-transition-delay: 0ms;
    --stx-transition-ease: ease;
  }

  @media (prefers-reduced-motion: reduce) {
    :root {
      --stx-transition-duration: 0ms;
    }
  }

  [data-animate="false"] * {
    --stx-transition-duration: 0ms !important;
    animation-duration: 0ms !important;
    transition-duration: 0ms !important;
  }

  /* Base transition classes */
  .stx-transition {
    transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
    backface-visibility: hidden; /* Improve animation performance */
    transform-style: preserve-3d; /* Better 3D transforms */
  }

  /* Fade animations */
  .stx-fade {
    transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
  }

  .stx-fade.stx-out {
    opacity: 0 !important;
  }

  /* Scale animations */
  .stx-scale {
    transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
  }

  .stx-scale.stx-out {
    transform: scale(0.85) !important;
    opacity: 0 !important;
  }

  /* Flip animations */
  .stx-flip {
    transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
    perspective: 600px;
  }

  .stx-flip.stx-out {
    transform: perspective(600px) rotateX(-90deg) !important;
    opacity: 0 !important;
  }

  /* Rotate animations */
  .stx-rotate {
    transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
  }

  .stx-rotate.stx-out {
    transform: rotate(-90deg) !important;
    opacity: 0 !important;
  }

  /* Direction-based animations */
  .stx-from-left, .stx-from-right, .stx-from-top, .stx-from-bottom {
    transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
  }

  .stx-from-left.stx-out {
    transform: translateX(-30px) !important;
    opacity: 0 !important;
  }

  .stx-from-right.stx-out {
    transform: translateX(30px) !important;
    opacity: 0 !important;
  }

  .stx-from-top.stx-out {
    transform: translateY(-30px) !important;
    opacity: 0 !important;
  }

  .stx-from-bottom.stx-out {
    transform: translateY(30px) !important;
    opacity: 0 !important;
  }

  /* Generic slide animations */
  .stx-slide {
    transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
  }

  .stx-slide.stx-out {
    transform: translateY(30px) !important;
    opacity: 0 !important;
  }

  /* Scroll animation observer class */
  .stx-observe {
    will-change: opacity, transform;
    transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
                transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
  }
</style>
  `}function S(z,j,G={}){let{staggerDelay:J=50,sequence:w=!1}=G;return`
<script data-stx-scoped>
  // Animation Group: ${z}
  (function() {
    const elements = ${JSON.stringify(j)};
    const staggerDelay = ${J};
    const sequence = ${w};

    function animateGroup() {
      elements.forEach((selector, index) => {
        const element = document.querySelector(selector);
        if (!element) return;

        const delay = sequence ? index * staggerDelay : 0;
        element.style.setProperty('--stx-transition-delay', delay + 'ms');

        // For elements using animation keyframes
        element.style.animationDelay = delay + 'ms';

        // If the element is initially hidden, show it
        if (element.classList.contains('stx-out')) {
          setTimeout(() => {
            element.classList.remove('stx-out');
          }, 10); // Small delay to ensure styles are applied
        }
      });
    }

    // Run when DOM is fully loaded
    if (document.readyState === 'loading') {
      document.addEventListener('DOMContentLoaded', animateGroup);
    }
else {
      animateGroup();
    }
  })();
</script>
  `}function e(z,j,G,J){let w=z;if(J.animation?.enabled===!1)return w;let H=G.includes("test")&&G.includes("animation");if(!k(w)&&!H)return w;if(!w.includes('<style id="stx-animation-base">')){let Q=h();w=w.replace("</head>",`${Q}
</head>`)}if(w.includes("stx-observe")){if(!w.includes("Intersection Observer for scroll animations")){let U=I(),L=w.lastIndexOf("</body>");if(L!==-1)w=w.slice(0,L)+U+`
`+w.slice(L)}}return w}function f(z,j){let G=j.map((J)=>{let w=J.offset!==void 0?`${J.offset*100}%`:"from",H=Object.entries(J.properties).map(([K,Q])=>`${K}: ${Q}`).join("; ");return`${w} { ${H} }`}).join(`
  `);return`@keyframes ${z} {
  ${G}
}`}function d(z,j,G,J,w){return`
<script data-stx-scoped>
(function() {
  const container = document.getElementById('${z}');
  if (!container) return;

  const children = container.querySelectorAll('${j}');
  children.forEach((child, index) => {
    const delay = ${G} + (index * ${J});
    child.style.setProperty('--stx-stagger-delay', delay + 'ms');
    child.style.animationDelay = delay + 'ms';
    child.classList.add('${w}');
  });
})();
</script>`}function l(z){let{stiffness:j,damping:G}=z,J=G/(2*Math.sqrt(j));if(J<0.5)return"cubic-bezier(0.175, 0.885, 0.32, 1.275)";else if(J<1)return"cubic-bezier(0.34, 1.56, 0.64, 1)";else return"cubic-bezier(0.25, 0.1, 0.25, 1)"}function s(z){let j=`stx-timeline-${Math.random().toString(36).slice(2,9)}`;return`
<script data-stx-scoped>
(function() {
  const timeline = ${JSON.stringify(z)};

  function runTimeline() {
    timeline.forEach((entry, index) => {
      const element = document.querySelector(entry.selector);
      if (!element) return;

      const keyframes = entry.keyframes.map(kf => {
        const frame = { ...kf.properties };
        if (kf.offset !== undefined) frame.offset = kf.offset;
        if (kf.easing) frame.easing = kf.easing;
        return frame;
      });

      const options = {
        duration: entry.options.duration || 1000,
        delay: entry.options.delay || 0,
        easing: entry.options.easing || 'ease',
        iterations: entry.options.iterations || 1,
        direction: entry.options.direction || 'normal',
        fill: entry.options.fill || 'forwards'
      };

      element.animate(keyframes, options);
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', runTimeline);
  }
else {
    runTimeline();
  }
})();
</script>`}function t(z,j,G){let J=f(z,j),w=`
.${z}-animation {
  animation-name: ${z};
  animation-duration: ${G.duration}ms;
  animation-timing-function: ${G.easing||"ease"};
  animation-delay: ${G.delay||0}ms;
  animation-iteration-count: ${G.iterations==="infinite"?"infinite":G.iterations||1};
  animation-direction: ${G.direction||"normal"};
  animation-fill-mode: ${G.fill||"forwards"};
}`;return`${J}
${w}`}function a(z){let j=z.trim().split(/\s+/),G={duration:300};for(let J=0;J<j.length;J++){let w=j[J];if(/^\d+(?:ms|s)?$/.test(w)){let H=Number.parseInt(w,10);if(J===0)G.duration=w.endsWith("s")&&!w.endsWith("ms")?H*1000:H;else G.delay=w.endsWith("s")&&!w.endsWith("ms")?H*1000:H}else if(w==="infinite"||/^\d+$/.test(w))G.iterations=w==="infinite"?"infinite":Number.parseInt(w,10);else if(["normal","reverse","alternate","alternate-reverse"].includes(w))G.direction=w;else if(["none","forwards","backwards","both"].includes(w))G.fill=w;else G.easing=w}return G}function jj(){return`
<script data-stx-scoped>
window.__stxAnimation = {
  // Registry of animations
  animations: new Map(),

  // Register a reusable animation
  register(name, keyframes, options) {
    this.animations.set(name, { keyframes, options });
  },

  // Run an animation on an element
  animate(element, nameOrKeyframes, options = {}) {
    if (typeof element === 'string') {
      element = document.querySelector(element);
    }
    if (!element) return null;

    let keyframes, defaultOptions;

    if (typeof nameOrKeyframes === 'string' && this.animations.has(nameOrKeyframes)) {
      const registered = this.animations.get(nameOrKeyframes);
      keyframes = registered.keyframes;
      defaultOptions = registered.options;
    }
else {
      keyframes = nameOrKeyframes;
      defaultOptions = {};
    }

    const finalOptions = { ...defaultOptions, ...options };
    return element.animate(keyframes, finalOptions);
  },

  // Animate multiple elements with stagger
  stagger(elements, keyframes, options = {}, staggerDelay = 100) {
    if (typeof elements === 'string') {
      elements = document.querySelectorAll(elements);
    }

    const animations = [];
    Array.from(elements).forEach((el, index) => {
      const elementOptions = {
        ...options,
        delay: (options.delay || 0) + (index * staggerDelay)
      };
      animations.push(this.animate(el, keyframes, elementOptions));
    });

    return animations;
  },

  // Chain animations sequentially
  async sequence(steps) {
    for (const step of steps) {
      const animation = this.animate(step.element, step.keyframes, step.options);
      if (animation) {
        await animation.finished;
      }
    }
  },

  // Run animations in parallel
  parallel(steps) {
    return Promise.all(
      steps.map(step => {
        const animation = this.animate(step.element, step.keyframes, step.options);
        return animation ? animation.finished : Promise.resolve();
      })
    );
  }
};
</script>`}function wj(z){let j=z.customDirectives||[];return j.push(v),j.push(C),j.push(T),j.push(D),j.push(g),j.push(y),j.push(u),{...z,customDirectives:j}}var b,E,P,W,v,D,C,T,$,g,y,u;var c=O(()=>{((K)=>{K.Fade="fade";K.Slide="slide";K.Scale="scale";K.Flip="flip";K.Rotate="rotate";K.Custom="custom"})(b||={});((J)=>{J.In="in";J.Out="out";J.Both="both"})(E||={});((K)=>{K.Linear="linear";K.Ease="ease";K.EaseIn="ease-in";K.EaseOut="ease-out";K.EaseInOut="ease-in-out";K.Spring="spring"})(P||={});W={duration:300,delay:0,ease:"ease",direction:"both"};v={name:"transition",handler:(z,j,G,J)=>{if(j.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${z}`;let w=j[0],H=j.length>1?Number.parseInt(j[1],10)||W.duration:W.duration,K=j.length>2?j[2]||W.ease:W.ease,Q=j.length>3?Number.parseInt(j[3],10)||W.delay:W.delay,U=j.length>4?j[4]||W.direction:W.direction,L=`stx-transition-${Math.random().toString(36).substr(2,9)}`,X=x(w,{duration:H,delay:Q,ease:K,direction:U}),V="stx-transition",Y="";if(w==="fade")Y="stx-fade";else if(w==="slide")Y="stx-slide";else if(w==="scale")Y="stx-scale";else if(w==="flip")Y="stx-flip";else if(w==="rotate")Y="stx-rotate";return`<div id="${L}" class="${V} ${Y} ${U==="out"?"stx-out":""}"
      style="--stx-transition-duration: ${H}ms; --stx-transition-ease: ${K}; --stx-transition-delay: ${Q}ms;">${z}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},D={name:"scrollAnimate",handler:(z,j,G,J)=>{if(j.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${z}`;let w=j[0],H=j.length>1?Number.parseInt(j[1],10)||300:300,K=j.length>2?j[2]||"ease":"ease",Q=j.length>3?Number.parseFloat(j[3])||0.2:0.2,U=j.length>4?Number.parseInt(j[4],10)||0:0,L=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,X=`--stx-transition-duration: ${H}ms; --stx-transition-ease: ${K}; --stx-transition-delay: ${U}ms; will-change: opacity, transform;`,V="stx-transition stx-observe stx-out";if(w==="fade")V+=" stx-fade";else if(w==="slide-up"||w==="slide")V+=" stx-from-bottom";else if(w==="slide-down")V+=" stx-from-top";else if(w==="slide-left")V+=" stx-from-right";else if(w==="slide-right")V+=" stx-from-left";else if(w==="scale")V+=" stx-scale";else if(w.includes("-"))V+=` stx-${w}`;else V+=` stx-${w}`;return`<div id="${L}" class="${V}" style="${X}" data-threshold="${Q}">${z}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},C={name:"animationGroup",handler:(z,j,G,J)=>{if(j.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${z}`;let w=j[0],H=j.slice(1).map((L)=>L.startsWith("#")||L.startsWith(".")?L:`#${L}`),K=G.staggerDelay||50,Q=G.sequence||!0,U=S(w,H,{staggerDelay:K,sequence:Q});return`${z}
${U}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},T={name:"motion",handler:(z,j,G,J)=>{let w=j.length>0?j[0].toLowerCase()==="true":!0,H=q();return`<div data-animate="${w?"auto":"true"}">${z}</div>${H}`},hasEndTag:!0,description:"Controls motion and animation preferences"};$={default:{stiffness:100,damping:10,mass:1},gentle:{stiffness:120,damping:14,mass:1},wobbly:{stiffness:180,damping:12,mass:1},stiff:{stiffness:210,damping:20,mass:1},slow:{stiffness:280,damping:60,mass:1},molasses:{stiffness:280,damping:120,mass:1}};g={name:"keyframe",hasEndTag:!0,handler:(z,j,G,J)=>{if(j.length<1)return`<div class="stx-error">@keyframe requires an animation name</div>${z}`;let w=j[0].replace(/['"`]/g,""),H=j[1]?Number.parseInt(j[1],10):1000,K=j[2]?.replace(/['"`]/g,"")||"ease",Q=j[3]||"1",U=j[4]?.replace(/['"`]/g,"")||"normal",L=j[5]?.replace(/['"`]/g,"")||"forwards",X=`stx-keyframe-${Math.random().toString(36).slice(2,9)}`,V=`
      animation-name: ${w};
      animation-duration: ${H}ms;
      animation-timing-function: ${K};
      animation-iteration-count: ${Q};
      animation-direction: ${U};
      animation-fill-mode: ${L};
    `.trim().replace(/\s+/g," ");return`<div id="${X}" style="${V}">${z}</div>`},description:"Applies a keyframe animation to an element"};y={name:"stagger",hasEndTag:!0,handler:(z,j,G,J)=>{let w=j[0]?.replace(/['"`]/g,"")||"> *",H=j[1]?Number.parseInt(j[1],10):100,K=j[2]?Number.parseInt(j[2],10):0,Q=j[3]?.replace(/['"`]/g,"")||"fade",U=`stx-stagger-${Math.random().toString(36).slice(2,9)}`,L="stx-stagger-item";if(Q==="fade")L+=" stx-fade";else if(Q==="slide")L+=" stx-from-bottom";else if(Q==="scale")L+=" stx-scale";let X=d(U,w,K,H,L);return`${`
<style>
  #${U} .stx-stagger-item {
    opacity: 0;
    animation: staggerIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-stagger-delay, 0ms) forwards;
  }
  @keyframes staggerIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
</style>`}<div id="${U}" class="stx-stagger-container">${z}</div>${X}`},description:"Applies staggered animations to child elements"};u={name:"spring",hasEndTag:!0,handler:(z,j,G,J)=>{let w=j[0]?.replace(/['"`]/g,"")||"default",H;if($[w])H=$[w];else H={stiffness:Number.parseInt(w,10)||100,damping:j[1]?Number.parseInt(j[1],10):10,mass:j[2]?Number.parseFloat(j[2]):1};let K=j[3]?Number.parseInt(j[3],10):500,Q=`stx-spring-${Math.random().toString(36).slice(2,9)}`,U=l(H),L=`
      transition: all ${K}ms ${U};
      --stx-spring-stiffness: ${H.stiffness};
      --stx-spring-damping: ${H.damping};
      --stx-spring-mass: ${H.mass};
    `.trim().replace(/\s+/g," ");return`<div id="${Q}" class="stx-spring" style="${L}">${z}</div>`},description:"Applies spring physics animations to an element"}});c();export{v as transitionDirective,y as staggerDirective,u as springDirective,D as scrollAnimateDirective,wj as registerAnimationDirectives,e as processAnimationDirectives,a as parseAnimationShorthand,T as motionDirective,g as keyframeDirective,jj as generateAnimationRuntime,t as generateAnimationCSS,s as createAnimationTimeline,C as animationGroupDirective,b as TransitionType,P as TransitionEase,E as TransitionDirection,$ as SPRING_PRESETS,W as DEFAULT_TRANSITION_OPTIONS};
