var t=`
  const style = document.createElement('style');
  style.textContent = \`
    @keyframes zibby-ripple {
      0% {
        transform: scale(0);
        opacity: 0.7;
      }
      100% {
        transform: scale(4);
        opacity: 0;
      }
    }
    .zibby-ripple {
      position: absolute;
      border-radius: 50%;
      background: rgba(59, 130, 246, 0.7);
      pointer-events: none;
      animation: zibby-ripple 0.6s ease-out;
      z-index: 999999;
    }
    .zibby-typing-indicator {
      position: absolute;
      border-radius: 50%;
      border: 2px solid rgba(59, 130, 246, 0.8);
      background: rgba(59, 130, 246, 0.1);
      pointer-events: none;
      z-index: 999999;
      animation: zibby-pulse 1s ease-in-out infinite;
    }
    @keyframes zibby-pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.5; }
    }
  \`;
  
  document.addEventListener('DOMContentLoaded', () => {
    if (document.head && !document.getElementById('zibby-ripple-style')) {
      style.id = 'zibby-ripple-style';
      document.head.appendChild(style);
    }
  });
  
  if (document.head && !document.getElementById('zibby-ripple-style')) {
    style.id = 'zibby-ripple-style';
    document.head.appendChild(style);
  }

  window.__zibbyShowRipple = function(x, y, isTyping = false) {
    const ripple = document.createElement('div');
    ripple.className = 'zibby-ripple';
    ripple.style.left = (x - 10) + 'px';
    ripple.style.top = (y - 10) + 'px';
    ripple.style.width = '20px';
    ripple.style.height = '20px';
    
    if (document.body) {
      document.body.appendChild(ripple);
      setTimeout(() => ripple.remove(), 600);
    }
  };
`;function i(e){return e.addInitScript(t)}function o(){return`
async function showRipple(page, locator) {
  const box = await locator.boundingBox().catch(() => null);
  if (box) {
    const x = box.x + box.width / 2;
    const y = box.y + box.height / 2;
    await page.evaluate((coords) => {
      if (window.__zibbyShowRipple) {
        window.__zibbyShowRipple(coords.x, coords.y, false);
      }
    }, { x, y }).catch(() => {});
  }
}
`.trim()}export{t as RIPPLE_EFFECT_SCRIPT,o as generateRippleHelperCode,i as injectRippleEffect};
