or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

animation-registry.mdbuiltin-animations.mdcomponent-creation.mdcustom-animations.mddeclarative-animation.mdimperative-animation.mdindex.mdprebuilt-components.md

builtin-animations.mddocs/

0

# Built-in Animations

1

2

Comprehensive collection of 50+ pre-built animations across 11 categories, heavily inspired by Animate.css. All animations are ready to use by name with any animatable component.

3

4

## Capabilities

5

6

### Attention Seekers

7

8

Animations designed to catch the user's attention and draw focus to specific elements.

9

10

```javascript { .api }

11

type AttentionSeekerAnimations =

12

| 'bounce' // Bouncing effect animation

13

| 'flash' // Flashing opacity animation

14

| 'jello' // Jello-like skew animation

15

| 'pulse' // Pulsing scale animation

16

| 'rotate' // Full 360-degree rotation

17

| 'rubberBand' // Rubber band stretch effect

18

| 'shake' // Horizontal shaking motion

19

| 'swing' // Pendulum swing rotation

20

| 'tada' // Celebration-style scale and rotation

21

| 'wobble'; // Wobbling translation and rotation

22

```

23

24

**Usage Examples:**

25

26

```javascript

27

// Continuous pulse for heart icon

28

<Animatable.Text

29

animation="pulse"

30

easing="ease-out"

31

iterationCount="infinite"

32

style={{ textAlign: 'center' }}

33

>

34

❤️

35

</Animatable.Text>

36

37

// Shake on error

38

<Animatable.View animation="shake" duration={500}>

39

<Text style={{ color: 'red' }}>Invalid input!</Text>

40

</Animatable.View>

41

42

// Celebrate success

43

<Animatable.View animation="tada" duration={1000}>

44

<Text>🎉 Success!</Text>

45

</Animatable.View>

46

```

47

48

### Bouncing Entrances

49

50

Entrance animations with bouncing effects, ideal for creating playful entry transitions.

51

52

```javascript { .api }

53

type BouncingEntranceAnimations =

54

| 'bounceIn' // Bounce in from scale

55

| 'bounceInDown' // Bounce in from top

56

| 'bounceInUp' // Bounce in from bottom

57

| 'bounceInLeft' // Bounce in from left

58

| 'bounceInRight'; // Bounce in from right

59

```

60

61

### Bouncing Exits

62

63

Exit animations with bouncing effects for smooth element removal.

64

65

```javascript { .api }

66

type BouncingExitAnimations =

67

| 'bounceOut' // Bounce out with scale

68

| 'bounceOutDown' // Bounce out to bottom

69

| 'bounceOutUp' // Bounce out to top

70

| 'bounceOutLeft' // Bounce out to left

71

| 'bounceOutRight'; // Bounce out to right

72

```

73

74

### Fading Entrances

75

76

Smooth fade-in animations with optional directional movement, perfect for content reveals.

77

78

```javascript { .api }

79

type FadingEntranceAnimations =

80

| 'fadeIn' // Simple fade in

81

| 'fadeInDown' // Fade in from top with translation

82

| 'fadeInUp' // Fade in from bottom with translation

83

| 'fadeInLeft' // Fade in from left with translation

84

| 'fadeInRight' // Fade in from right with translation

85

| 'fadeInDownBig' // Fade in from far top

86

| 'fadeInUpBig' // Fade in from far bottom

87

| 'fadeInLeftBig' // Fade in from far left

88

| 'fadeInRightBig'; // Fade in from far right

89

```

90

91

**Usage Examples:**

92

93

```javascript

94

// Simple fade in for modal

95

<Animatable.View animation="fadeIn" duration={300}>

96

<Modal>

97

<Text>Modal content</Text>

98

</Modal>

99

</Animatable.View>

100

101

// Staggered list item entrances

102

{items.map((item, index) => (

103

<Animatable.View

104

key={item.id}

105

animation="fadeInUp"

106

delay={index * 100}

107

duration={600}

108

>

109

<ListItem data={item} />

110

</Animatable.View>

111

))}

112

```

113

114

### Fading Exits

115

116

Smooth fade-out animations with optional directional movement for element removal.

117

118

```javascript { .api }

119

type FadingExitAnimations =

120

| 'fadeOut' // Simple fade out

121

| 'fadeOutDown' // Fade out to bottom with translation

122

| 'fadeOutUp' // Fade out to top with translation

123

| 'fadeOutLeft' // Fade out to left with translation

124

| 'fadeOutRight' // Fade out to right with translation

125

| 'fadeOutDownBig' // Fade out to far bottom

126

| 'fadeOutUpBig' // Fade out to far top

127

| 'fadeOutLeftBig' // Fade out to far left

128

| 'fadeOutRightBig'; // Fade out to far right

129

```

130

131

### Flippers

132

133

3D flip animations around X and Y axes for card-like transitions.

134

135

```javascript { .api }

136

type FlipperAnimations =

137

| 'flipInX' // Flip in around X axis

138

| 'flipInY' // Flip in around Y axis

139

| 'flipOutX' // Flip out around X axis

140

| 'flipOutY'; // Flip out around Y axis

141

```

142

143

**Usage Examples:**

144

145

```javascript

146

// Card flip animation

147

<Animatable.View

148

animation={this.state.showBack ? "flipInY" : "flipOutY"}

149

duration={600}

150

style={styles.card}

151

>

152

{this.state.showBack ? <BackContent /> : <FrontContent />}

153

</Animatable.View>

154

```

155

156

### Lightspeed

157

158

High-speed entrance and exit animations with skew effects for dynamic movement.

159

160

```javascript { .api }

161

type LightspeedAnimations =

162

| 'lightSpeedIn' // Light speed entrance with skew

163

| 'lightSpeedOut'; // Light speed exit with skew

164

```

165

166

### Sliding Entrances

167

168

Directional slide-in animations for smooth content presentation.

169

170

```javascript { .api }

171

type SlidingEntranceAnimations =

172

| 'slideInDown' // Slide in from top

173

| 'slideInUp' // Slide in from bottom

174

| 'slideInLeft' // Slide in from left

175

| 'slideInRight'; // Slide in from right

176

```

177

178

### Sliding Exits

179

180

Directional slide-out animations for clean content removal.

181

182

```javascript { .api }

183

type SlidingExitAnimations =

184

| 'slideOutDown' // Slide out to bottom

185

| 'slideOutUp' // Slide out to top

186

| 'slideOutLeft' // Slide out to left

187

| 'slideOutRight'; // Slide out to right

188

```

189

190

**Usage Examples:**

191

192

```javascript

193

// Drawer animation

194

<Animatable.View

195

animation={this.state.drawerOpen ? "slideInLeft" : "slideOutLeft"}

196

duration={300}

197

style={styles.drawer}

198

>

199

<DrawerContent />

200

</Animatable.View>

201

202

// Page transitions

203

<Animatable.View

204

animation="slideInRight"

205

duration={400}

206

style={styles.page}

207

>

208

<PageContent />

209

</Animatable.View>

210

```

211

212

### Zooming Entrances

213

214

Scale-based entrance animations with optional directional movement.

215

216

```javascript { .api }

217

type ZoomingEntranceAnimations =

218

| 'zoomIn' // Zoom in from scale

219

| 'zoomInDown' // Zoom in from top

220

| 'zoomInUp' // Zoom in from bottom

221

| 'zoomInLeft' // Zoom in from left

222

| 'zoomInRight'; // Zoom in from right

223

```

224

225

### Zooming Exits

226

227

Scale-based exit animations with optional directional movement.

228

229

```javascript { .api }

230

type ZoomingExitAnimations =

231

| 'zoomOut' // Zoom out to scale

232

| 'zoomOutDown' // Zoom out to bottom

233

| 'zoomOutUp' // Zoom out to top

234

| 'zoomOutLeft' // Zoom out to left

235

| 'zoomOutRight'; // Zoom out to right

236

```

237

238

**Usage Examples:**

239

240

```javascript

241

// Button press feedback

242

<Animatable.TouchableOpacity

243

animation="zoomIn"

244

duration={150}

245

onPress={this.handlePress}

246

>

247

<Text>Press me!</Text>

248

</Animatable.TouchableOpacity>

249

250

// Image gallery entrance

251

<Animatable.Image

252

source={{ uri: imageUrl }}

253

animation="zoomInUp"

254

duration={800}

255

style={styles.galleryImage}

256

/>

257

```

258

259

## Complete Animation Type

260

261

```javascript { .api }

262

type Animation =

263

| AttentionSeekerAnimations

264

| BouncingEntranceAnimations

265

| BouncingExitAnimations

266

| FadingEntranceAnimations

267

| FadingExitAnimations

268

| FlipperAnimations

269

| LightspeedAnimations

270

| SlidingEntranceAnimations

271

| SlidingExitAnimations

272

| ZoomingEntranceAnimations

273

| ZoomingExitAnimations;

274

```

275

276

## Animation Usage Patterns

277

278

### Entrance Sequences

279

280

```javascript

281

// Stagger multiple elements

282

const items = ['item1', 'item2', 'item3'];

283

284

{items.map((item, index) => (

285

<Animatable.View

286

key={item}

287

animation="fadeInUp"

288

delay={index * 150}

289

duration={600}

290

>

291

<Text>{item}</Text>

292

</Animatable.View>

293

))}

294

```

295

296

### Page Transitions

297

298

```javascript

299

// Screen transition

300

<Animatable.View

301

animation={this.state.entering ? "slideInRight" : "slideOutLeft"}

302

duration={300}

303

style={{ flex: 1 }}

304

>

305

<ScreenContent />

306

</Animatable.View>

307

```

308

309

### Loading States

310

311

```javascript

312

// Loading indicator

313

<Animatable.View

314

animation="pulse"

315

iterationCount="infinite"

316

easing="ease-in-out"

317

>

318

<ActivityIndicator size="large" />

319

</Animatable.View>

320

```

321

322

### Error Feedback

323

324

```javascript

325

// Shake on validation error

326

{this.state.hasError && (

327

<Animatable.View animation="shake" duration={500}>

328

<Text style={styles.error}>Please fix the errors above</Text>

329

</Animatable.View>

330

)}

331

```