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

# layout:animate

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/4/app-studio/reference/tags/lightning.directive.layoutAnimate

[mintlify link]: https://doc.lucidworks.com/docs/4/app-studio/reference/tags/lightning.directive.layoutAnimate

[old doc.lw link]: https://doc.lucidworks.com/app-studio/4.2/1132

<LwTemplate />

## Description

Creates an animation when the value (on) is available.

## Usage

as element:

```xml wrap  theme={"dark"}
<layout:animate
       animation="{string}"
       on="{object}">
</layout:animate>
```

as attribute

```xml wrap  theme={"dark"}
<ANY layout-animate
     animation="{string}"
     on="{object}">
   ...
</ANY>
```

#### Parameters

| Param     | Type       | Details                                          |
| --------- | ---------- | ------------------------------------------------ |
| animation | **string** | The animation to use when the value is available |
| on        | **object** | The object to watch for a value                  |

## Example

#### Source

```xml wrap  theme={"dark"}
<button class="tk-stl-button" ng-click="fadeInUp()">Show Fade In Up Animation</button>
<layout:animate animation="animate-fadeInUp" on="fadeInUpValue">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</layout:animate>
<br /><br />
<button class="tk-stl-button" ng-click="fadeInDown()">Show Fade In Down Animation</button>
<layout:animate animation="animate-fadeInDown" on="fadeInDownValue">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</layout:animate>
```

```js wrap  theme={"dark"}
angular.module('lightning')
.controller('ExampleController', ['$scope', function($scope) {
            $scope.fadeInUp = undefined;

            $scope.fadeInUp = function(){
            if($scope.fadeInUpValue == undefined){
                $scope.fadeInUpValue = 'A Value';
            } else {
                $scope.fadeInUpValue = undefined;
            }
            }

            $scope.fadeInDown = function(){
            if($scope.fadeInDownValue == undefined){
                $scope.fadeInDownValue = 'A Value';
            } else {
                $scope.fadeInDownValue = undefined;
            }
            }
        }]);
```

#### Result

<img src="https://mintcdn.com/lucidworks/ENcE8K39c0iEpL8J/assets/images/app-studio/as-examples/tags/layoutAnimate.png?fit=max&auto=format&n=ENcE8K39c0iEpL8J&q=85&s=fb1221789b0ae23f4cabb23c43b3a0aa" alt="Result" width="1024" height="160" data-path="assets/images/app-studio/as-examples/tags/layoutAnimate.png" />
