> ## Documentation Index
> Fetch the complete documentation index at: https://starrycodes.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Widget - Pulse & Attention Animations

> Add continuous scaling and click-response bounce effects to your widgets effortlessly to draw user attention.

{/*     title="⚡ Quick Usage" */}

{/* > */}

{/* // Continuous Subtle Pulse */}

{/* // One-off Bouncing Landing */}

{/* ``` */}

<Steps titleSize="h3">
  <Step title="🔁 Continuous Pulse">
    {/*  FadeIn */}

    <ResponseField name="pulseSimple" type="Widget">
      <Expandable title="Parameters">
        <ParamField body="scaleFactor" type="double" default="1.2">
          The maximum `scale` factor the widget will reach (e.g., 1.2 is 20% larger).
        </ParamField>

        <ParamField body="delay" type="int" default="0">
          The delay before the animation starts (in `milliseconds`).
        </ParamField>

        <ParamField body="duration" type="int" default="500">
          The `duration` of a single pulse cycle (in `milliseconds`).
        </ParamField>

        <ParamField body="repeat" type="bool" default="true">
          If `true`, the animation loops indefinitely.
        </ParamField>

        <ParamField body="reverse" type="bool" default="true">
          If `true`, the animation cycles back and forth (scale up, then scale down).
        </ParamField>

        <ParamField body="autoPlay" type="bool" default="true">
          If `true`, the animation starts automatically.
        </ParamField>

        <ParamField body="onInit" type="void Function(AnimationController)?" default="null">
          A callback fired when the `AnimationController` is initialized.
        </ParamField>
      </Expandable>

      Applies a continuous, simple scale-in/scale-out pulsing effect, ideal for drawing subtle attention.

      ```dart lines wrap theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
      Icon(Icons.favorite).pulseSimple(scaleFactor: 1.2);
      ```
    </ResponseField>
  </Step>

  <Step title="💥 Impact & Bounce">
    {/*  fade Out */}

    <ResponseField name="pulseAlt" type="Widget">
      <Expandable title="Parameters">
        <ParamField body="delay" type="int" default="0">
          The `delay` before the animation starts (in `milliseconds`).
        </ParamField>

        <ParamField body="duration" type="int" default="500">
          The `duration` of the initial scale-up phase (in `milliseconds`).
        </ParamField>

        <ParamField body="repeat" type="bool" default="true">
          If `true`, the entire two-stage animation sequence loops indefinitely.
        </ParamField>

        <ParamField body="onInit" type="void Function(AnimationController)?" default="null">
          A callback fired when the `AnimationController` is initialized.
        </ParamField>
      </Expandable>

      Applies a distinct two-stage bouncing scale animation (scale down -> scale up -> settle) simulating a click or impact.

      ```dart lines wrap theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
      // One-off Bouncing Entrance
      Text('Success!').pulseAlt(repeat: false);
      ```
    </ResponseField>
  </Step>
</Steps>
