{"_id":"@arc-lang/arc-animations","_rev":"3-2188a18e6c76595a6beb08f226160d32","name":"@arc-lang/arc-animations","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@arc-lang/arc-animations","version":"0.1.0","keywords":["css","animations","keyframes","transitions","css-animations","animation-library","animate","effects","entrances","exits","loading","skeleton","scroll","scroll-driven","attention","glitch","neon","aurora","marquee","typewriter","flip-card","morph","zero-js","zero-dependencies","arc","arc-language","animate.css","web-animations"],"author":{"name":"Arc contributors"},"license":"MIT","_id":"@arc-lang/arc-animations@0.1.0","maintainers":[{"name":"kobecuppens","email":"kobecuppens@hotmail.com"}],"homepage":"https://github.com/arc-language/arc-animations#readme","bugs":{"url":"https://github.com/arc-language/arc-animations/issues"},"dist":{"shasum":"8d3c8d7c967a7f285f3e10f82eb90358e8337c69","tarball":"https://registry.npmjs.org/@arc-lang/arc-animations/-/arc-animations-0.1.0.tgz","fileCount":14,"integrity":"sha512-HhO0XkAPXk7XUar8m00AD42wWC2IiMv4qrqe6yvYBOtqjSgtwZkW9T2h95DzFRJ6NvuSq7Bby6ruV4Q+BIYVEw==","signatures":[{"sig":"MEYCIQDFiyXS2IewAu/KixoFPO4yAlhCBpzPVXtzISskuMHyAAIhAIJsWvAdUcS2cIfs8yQtTB8kkAwFYK4lAvmrRJ+g3dFX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63159},"main":"index.css","style":"index.css","engines":{"node":">=18.0.0"},"exports":{".":"./index.css","./src/*":"./src/*"},"gitHead":"1a0b9d405b8ad76b8c4efefa96bcb2cca4e373b7","scripts":{"lint":"npx stylelint \"src/*.css\"","validate":"node -e \"require('fs').readdirSync('src').forEach(f => { if(f.endsWith('.css')) console.log('✓', f) })\""},"_npmUser":{"name":"kobecuppens","email":"kobecuppens@hotmail.com"},"repository":{"url":"git+https://github.com/arc-language/arc-animations.git","type":"git"},"_npmVersion":"11.12.1","description":"71 famous CSS animations — zero JS, zero dependencies, tree-shakeable by category. Entrances, exits, attention effects, loaders, scroll-driven reveals, and special effects.","directories":{},"sideEffects":true,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/arc-animations_0.1.0_1779982275136_0.1166397408484765","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arc-lang/arc-animations","version":"0.1.1","keywords":["css","animations","keyframes","transitions","css-animations","animation-library","animate","effects","entrances","exits","loading","skeleton","scroll","scroll-driven","attention","glitch","neon","aurora","marquee","typewriter","flip-card","morph","zero-js","zero-dependencies","arc","arc-language","animate.css","web-animations"],"author":{"name":"Arc contributors"},"license":"MIT","_id":"@arc-lang/arc-animations@0.1.1","maintainers":[{"name":"kobecuppens","email":"kobecuppens@hotmail.com"}],"homepage":"https://github.com/arc-language/arc-animations#readme","bugs":{"url":"https://github.com/arc-language/arc-animations/issues"},"dist":{"shasum":"047bb5670831bd14d2ce31a53a3d31bff976cb24","tarball":"https://registry.npmjs.org/@arc-lang/arc-animations/-/arc-animations-0.1.1.tgz","fileCount":14,"integrity":"sha512-65UW/k3FHP0ydd21et9lscJqL9xXevChAhoXhXhSV773wSywws5SqpFeZ9Araqf45/LlxCXthMfaawCu6/a+dQ==","signatures":[{"sig":"MEUCIQCeonWsMP4xTOBoDZdjy0ZGJdkoyIZx2jGIF70UCm0OQQIgTzlfTpCJQc0yrwKsZ3pPz8M3IMt1Uib7tIEWhnqWTgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63159},"main":"index.css","style":"index.css","engines":{"node":">=18.0.0"},"exports":{".":"./index.css","./src/*":"./src/*"},"gitHead":"1a0b9d405b8ad76b8c4efefa96bcb2cca4e373b7","scripts":{"lint":"npx stylelint \"src/*.css\"","validate":"node -e \"require('fs').readdirSync('src').forEach(f => { if(f.endsWith('.css')) console.log('✓', f) })\""},"_npmUser":{"name":"kobecuppens","email":"kobecuppens@hotmail.com"},"repository":{"url":"git+https://github.com/arc-language/arc-animations.git","type":"git"},"_npmVersion":"11.12.1","description":"71 famous CSS animations — zero JS, zero dependencies, tree-shakeable by category. Entrances, exits, attention effects, loaders, scroll-driven reveals, and special effects.","directories":{},"sideEffects":true,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/arc-animations_0.1.1_1779990699899_0.9536210546905255","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@arc-lang/arc-animations","version":"0.1.2","description":"71 famous CSS animations — zero JS, zero dependencies, tree-shakeable by category. Entrances, exits, attention effects, loaders, scroll-driven reveals, and special effects.","main":"index.css","style":"index.css","exports":{".":"./index.css","./src/*":"./src/*"},"repository":{"type":"git","url":"git+https://github.com/arc-language/arc-animations.git"},"homepage":"https://github.com/arc-language/arc-animations#readme","bugs":{"url":"https://github.com/arc-language/arc-animations/issues"},"author":{"name":"Arc contributors"},"engines":{"node":">=18.0.0"},"scripts":{"lint":"npx stylelint \"src/*.css\"","validate":"node -e \"require('fs').readdirSync('src').forEach(f => { if(f.endsWith('.css')) console.log('✓', f) })\""},"keywords":["css","animations","keyframes","transitions","css-animations","animation-library","animate","effects","entrances","exits","loading","skeleton","scroll","scroll-driven","attention","glitch","neon","aurora","marquee","typewriter","flip-card","morph","zero-js","zero-dependencies","arc","arc-language","animate.css","web-animations"],"license":"MIT","sideEffects":true,"publishConfig":{"access":"public","provenance":false},"gitHead":"1a0b9d405b8ad76b8c4efefa96bcb2cca4e373b7","_id":"@arc-lang/arc-animations@0.1.2","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-PMjTUFE2e+t6vsYJgfbd5MX0gA6XmupV6MwWKK7+iNmWdhzSEDEoyyy0WD3iggNjROYzwWjkf2cA9DY4xt05cw==","shasum":"388d58794dc3b604e0d929b8c963cb73fc90391b","tarball":"https://registry.npmjs.org/@arc-lang/arc-animations/-/arc-animations-0.1.2.tgz","fileCount":14,"unpackedSize":62988,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCUIui9QtFq9A0du8FvhU7A9AmEHiiFTSNlua6jJyRx9QIgcRlJoacRLwlM4FC5nZ7zWKhbPTGdtYIhyG5CtUBuM8E="}]},"_npmUser":{"name":"kobecuppens","email":"kobecuppens@hotmail.com"},"directories":{},"maintainers":[{"name":"kobecuppens","email":"kobecuppens@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/arc-animations_0.1.2_1779993681677_0.3736548176205201"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T15:31:14.929Z","modified":"2026-05-28T18:41:21.978Z","0.1.0":"2026-05-28T15:31:15.269Z","0.1.1":"2026-05-28T17:51:40.045Z","0.1.2":"2026-05-28T18:41:21.868Z"},"bugs":{"url":"https://github.com/arc-language/arc-animations/issues"},"author":{"name":"Arc contributors"},"license":"MIT","homepage":"https://github.com/arc-language/arc-animations#readme","keywords":["css","animations","keyframes","transitions","css-animations","animation-library","animate","effects","entrances","exits","loading","skeleton","scroll","scroll-driven","attention","glitch","neon","aurora","marquee","typewriter","flip-card","morph","zero-js","zero-dependencies","arc","arc-language","animate.css","web-animations"],"repository":{"type":"git","url":"git+https://github.com/arc-language/arc-animations.git"},"description":"71 famous CSS animations — zero JS, zero dependencies, tree-shakeable by category. Entrances, exits, attention effects, loaders, scroll-driven reveals, and special effects.","maintainers":[{"name":"kobecuppens","email":"kobecuppens@hotmail.com"}],"readme":"<div align=\"center\">\n\n# arc-animations\n\n### 71 famous CSS animations. Zero JS. Zero dependencies. Tree-shakeable by category.\n\n<br>\n\n[![Animations](https://img.shields.io/badge/animations-71-brightgreen?style=flat-square)](#animation-catalog)\n[![Size](https://img.shields.io/badge/size-34%20KB-blue?style=flat-square)](#quick-start)\n[![Dependencies](https://img.shields.io/badge/dependencies-0-success?style=flat-square)](#)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)\n[![prefers-reduced-motion](https://img.shields.io/badge/a11y-prefers--reduced--motion-blueviolet?style=flat-square)](#accessibility)\n[![Part of Arc](https://img.shields.io/badge/part%20of-Arc-black?style=flat-square)](https://github.com/arc-language/arc-web)\n\n<br>\n\nA curated library of the most famous and useful CSS animations — entrances, exits, attention effects, loaders, scroll-driven reveals, and special effects. Apply with a single class. Customize with CSS variables. Import only what you need.\n\nPart of the **[Arc](https://github.com/arc-language/arc-web)** ecosystem — a full-stack web language that compiles to zero-dependency HTML, CSS, and JS.\n\n[Quick Start](#quick-start) • [Animation Catalog](#animation-catalog) • [Customization](#customization) • [Tree-Shaking](#tree-shaking) • [Browser Support](#browser-support) • [Arc Integration](#arc-integration)\n\n</div>\n\n---\n\n## Quick Start\n\n**CDN (no install):**\n```html\n<!-- Full bundle -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/arc-animations/index.css\">\n\n<!-- Or a single category -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/arc-animations/src/entrances.css\">\n```\n\n**npm:**\n```bash\nnpm install arc-animations\n```\n```css\n/* Full bundle */\n@import \"arc-animations\";\n\n/* Tree-shaken — only what you need */\n@import \"arc-animations/src/base.css\";\n@import \"arc-animations/src/attention.css\";\n```\n\n**Apply an animation:**\n```html\n<div class=\"animate-zoom-in\">Hello</div>\n<div class=\"animate-shake\">Error!</div>\n<div class=\"skeleton\" style=\"width:200px;height:20px\"></div>\n```\n\n---\n\n## Animation Catalog\n\n### Entrances (19)\nElements appearing. These complement [Arc's 9 built-in keyframes](#arc-integration) — no duplication.\n\n| Class | Description |\n|-------|-------------|\n| `.animate-zoom-in` | Zooms in from 50% scale |\n| `.animate-zoom-in-up` | Zooms in while rising from below |\n| `.animate-zoom-in-down` | Zooms in while dropping from above |\n| `.animate-zoom-in-left` | Zooms in from the left |\n| `.animate-zoom-in-right` | Zooms in from the right |\n| `.animate-slide-right` | Slides in from the right |\n| `.animate-flip-x` | Flips in around the X axis |\n| `.animate-flip-y` | Flips in around the Y axis |\n| `.animate-blur-in` | Fades in from blur |\n| `.animate-rotate-in` | Spins and scales in |\n| `.animate-bounce-in` | Overshoots then settles |\n| `.animate-back-in-up` | Enters from below with overshoot |\n| `.animate-back-in-down` | Enters from above with overshoot |\n| `.animate-back-in-left` | Enters from left with overshoot |\n| `.animate-back-in-right` | Enters from right with overshoot |\n| `.animate-roll-in` | Rolls in from the left with rotation |\n| `.animate-light-speed-in` | Fast horizontal sweep with skew |\n| `.animate-jack-in-the-box` | Spring pop from below, elastic overshoot |\n| `.animate-float-in` | Gentle drift upward with fade |\n\n### Exits (18)\nElements disappearing.\n\n| Class | Description |\n|-------|-------------|\n| `.animate-zoom-out` | Shrinks to 50% scale |\n| `.animate-zoom-out-up` | Shrinks and rises |\n| `.animate-zoom-out-down` | Shrinks and drops |\n| `.animate-zoom-out-left` | Shrinks and exits left |\n| `.animate-zoom-out-right` | Shrinks and exits right |\n| `.animate-slide-up-out` | Exits upward |\n| `.animate-slide-down-out` | Exits downward |\n| `.animate-slide-left-out` | Exits to the left |\n| `.animate-slide-right-out` | Exits to the right |\n| `.animate-flip-x-out` | Flips out around the X axis |\n| `.animate-flip-y-out` | Flips out around the Y axis |\n| `.animate-blur-out` | Fades out to blur |\n| `.animate-rotate-out` | Spins and shrinks out |\n| `.animate-bounce-out` | Shrinks with a bounce before disappearing |\n| `.animate-back-out-left` | Exits left with pull-back |\n| `.animate-back-out-right` | Exits right with pull-back |\n| `.animate-light-speed-out` | Fast sweep to the right |\n| `.animate-hinge` | Swings on top-left pivot and falls off the page (2s) |\n\n### Attention & Emphasis (14)\nDraw the user's eye to existing elements.\n\n| Class | Description |\n|-------|-------------|\n| `.animate-shake` | Rapid horizontal oscillation |\n| `.animate-shakeX` | Horizontal-only shake |\n| `.animate-shakeY` | Vertical-only shake |\n| `.animate-head-shake` | Subtle left-right with Y-axis rotation |\n| `.animate-wobble` | Figure-8 oscillation |\n| `.animate-flash` | Opacity blink |\n| `.animate-heartbeat` | Double-beat scale pulse |\n| `.animate-rubber-band` | Elastic stretch and compress |\n| `.animate-tada` | Scale pop with waggle |\n| `.animate-jello` | Gelatinous shear |\n| `.animate-swing` | Pendulum rotation around top-center |\n| `.animate-float` | Gentle infinite vertical hover (loops) |\n| `.animate-glow` | Pulsing box-shadow — customize via `--glow-color` (loops) |\n| `.animate-breathe` | Slow scale pulse — for CTAs and live indicators (loops) |\n\n### Loading & Progress (8)\nRequire specific HTML markup — see [HTML Patterns](#html-patterns).\n\n| Pattern | Class / Element | Description |\n|---------|-----------------|-------------|\n| Skeleton shimmer | `.skeleton` | Linear-gradient sweep |\n| Bouncing dots | `.dots > i × 3` | 3-dot staggered bounce |\n| Ping / ripple badge | `.ping` | Radial ripple for status indicators |\n| Indeterminate progress | `.progress-bar > .progress-bar__fill` | Sweeping bar |\n| Blink cursor | `.animate-blink` | Step-function blink |\n| Orbit loader | `.orbit > .orbit__dot` | Dot tracing a circle (pure CSS) |\n| Concentric ripple | `.ripple` | Material Design expanding rings |\n| Equalizer wave | `.wave > i × 5` | 5-bar audio equalizer |\n\n### Scroll-Driven (4 + stagger)\nUses `animation-timeline: view()` — Chrome 115+, Edge 115+. Falls back via IntersectionObserver pattern.\n\n| Class | Description |\n|-------|-------------|\n| `.reveal` | Fade + slide in as element enters viewport |\n| `.fade-in-viewport` | Opacity-only fade on scroll entry |\n| `.parallax-slow` | Element moves at 40% of scroll speed |\n| `.count-up` | Number animates from 0 to `data-target` on entry (needs 10-line JS — see scroll.css) |\n| `.stagger-children` | Apply to a list parent; children get staggered `--anim-delay` (up to 8 items) |\n\n### Effects (8)\nStructural patterns — require specific HTML or CSS setup.\n\n| Class | Description |\n|-------|-------------|\n| `.animate-glitch` | RGB channel-split text glitch |\n| `.animate-neon` | Flickering neon text glow — customize via `--neon-color` |\n| `.animate-aurora` | Animated mesh gradient background — customize via `--aurora-1/2/3` |\n| `.animate-gradient-shift` | Animated gradient background sweep — customize via `--grad-from/mid/to` |\n| `.animate-morph` | Clip-path polygon morph — customize via `--morph-from/to` |\n| `.typewriter` | Text reveals char-by-char — set `--chars` to character count |\n| `.marquee > .marquee__track` | Horizontal scrolling ticker, pauses on hover |\n| `.flip-card > .flip-card__inner > .flip-card__front + .flip-card__back` | 3D card flip on hover |\n\n---\n\n## Customization\n\nEvery animation reads from CSS custom properties with sensible defaults. Override at any scope:\n\n```css\n/* Global defaults */\n:root {\n  --anim-duration:   0.4s;\n  --anim-easing:     cubic-bezier(0.16, 1, 0.3, 1);  /* spring-like */\n  --anim-delay:      0s;\n  --anim-fill:       both;\n  --anim-iterations: 1;\n}\n\n/* Per-element override */\n.my-card {\n  --anim-duration: 0.7s;\n  --anim-delay:    0.1s;\n}\n\n/* Glow color */\n.my-button { --glow-color: #6366f1; }\n\n/* Neon color */\n.my-logo   { --neon-color: #0ff; }\n\n/* Aurora palette */\n.my-hero   {\n  --aurora-1: oklch(65% 0.25 290);\n  --aurora-2: oklch(65% 0.25 160);\n  --aurora-3: oklch(65% 0.25 20);\n}\n\n/* Gradient shift colors */\n.my-cta    {\n  --grad-from: oklch(55% 0.2 260);\n  --grad-mid:  oklch(55% 0.2 320);\n  --grad-to:   oklch(55% 0.2 200);\n}\n\n/* Morph shapes */\n.my-blob   {\n  --morph-from: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);\n  --morph-to:   polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);\n}\n\n/* Typewriter length */\n.my-heading { --chars: 20; }\n\n/* Marquee speed */\n.my-ticker  { --marquee-duration: 10s; }\n```\n\n---\n\n## Tree-Shaking\n\nImport only the categories you use. Each file is fully independent:\n\n```css\n/* Only include what you need */\n@import \"arc-animations/src/base.css\";       /* required — CSS vars + a11y reset */\n@import \"arc-animations/src/entrances.css\";  /* 19 entrance animations */\n@import \"arc-animations/src/exits.css\";      /* 18 exit animations */\n@import \"arc-animations/src/attention.css\";  /* 14 attention animations */\n@import \"arc-animations/src/loading.css\";    /* 8 loading patterns */\n@import \"arc-animations/src/scroll.css\";     /* 4 scroll-driven + stagger */\n@import \"arc-animations/src/effects.css\";    /* 8 special effects */\n```\n\n| File | Size | Animations |\n|------|------|------------|\n| `src/base.css` | 0.4 KB | CSS vars + a11y reset |\n| `src/entrances.css` | 6.2 KB | 19 |\n| `src/exits.css` | 5.8 KB | 18 |\n| `src/attention.css` | 5.1 KB | 14 |\n| `src/loading.css` | 5.0 KB | 8 |\n| `src/scroll.css` | 3.2 KB | 4 + stagger |\n| `src/effects.css` | 8.0 KB | 8 |\n| `index.css` (all) | **34 KB** | **71** |\n\n---\n\n## HTML Patterns\n\nSome animations require specific markup:\n\n```html\n<!-- Skeleton shimmer -->\n<div class=\"skeleton\" style=\"width:200px;height:20px;\"></div>\n\n<!-- Bouncing dots -->\n<span class=\"dots\"><i></i><i></i><i></i></span>\n<style>.dots i { background: currentColor; width:8px; height:8px; border-radius:50%; }</style>\n\n<!-- Ping badge -->\n<div class=\"ping\" style=\"width:12px;height:12px;border-radius:50%;background:#22c55e;color:#22c55e\"></div>\n\n<!-- Progress bar -->\n<div class=\"progress-bar\" style=\"color:#6366f1\">\n  <div class=\"progress-bar__fill\"></div>\n</div>\n\n<!-- Orbit loader -->\n<div class=\"orbit\" style=\"color:#6366f1\">\n  <div class=\"orbit__dot\"></div>\n</div>\n\n<!-- Equalizer wave -->\n<span class=\"wave\" style=\"color:#6366f1\"><i></i><i></i><i></i><i></i><i></i></span>\n<style>.wave i { background:currentColor; display:inline-block; }</style>\n\n<!-- Typewriter (monospace, set --chars to character count) -->\n<p class=\"typewriter\" style=\"--chars:24\">Your text here exactly 24 chars</p>\n\n<!-- Marquee (duplicate content for seamless loop) -->\n<div class=\"marquee\">\n  <div class=\"marquee__track\">Item · Item · Item · &nbsp;&nbsp;&nbsp;&nbsp; Item · Item · Item · &nbsp;&nbsp;&nbsp;&nbsp;</div>\n</div>\n\n<!-- Flip card -->\n<div class=\"flip-card\" style=\"width:200px;height:120px\">\n  <div class=\"flip-card__inner\">\n    <div class=\"flip-card__front\">Front side</div>\n    <div class=\"flip-card__back\">Back side</div>\n  </div>\n</div>\n\n<!-- Count-up (scroll entry triggers JS counting) -->\n<span class=\"count-up\" data-target=\"12500\">0</span>\n<!-- Requires 10-line JS snippet — see src/scroll.css for the full snippet -->\n```\n\n---\n\n## Browser Support\n\n| Feature | Chrome | Firefox | Safari | Edge |\n|---------|:------:|:-------:|:------:|:----:|\n| All `@keyframes` animations | 43+ | 16+ | 9+ | 79+ |\n| CSS custom properties | 49+ | 31+ | 9.1+ | 15+ |\n| `animation-timeline: view()` (scroll-driven) | 115+ | ✗ | ✗ | 115+ |\n| `clip-path` morph | 55+ | 54+ | 13.1+ | 79+ |\n| `backface-visibility` (flip-card) | 12+ | 10+ | 4+ | 12+ |\n| `filter: blur()` | 18+ | 35+ | 9.1+ | 79+ |\n\nScroll-driven animations (`reveal`, `fade-in-viewport`, `parallax-slow`) fall back gracefully: the CSS emits an IntersectionObserver-compatible pattern where adding `.is-visible` triggers the animation on any browser.\n\n---\n\n## Accessibility\n\n`src/base.css` automatically injects:\n\n```css\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n    scroll-behavior: auto !important;\n  }\n}\n```\n\nAll 71 animations collapse to instant on systems with reduced motion enabled. No per-animation opt-out needed.\n\n---\n\n## Arc Integration\n\n`arc-animations` is designed to complement [Arc](https://github.com/arc-language/arc-web)'s 9 built-in keyframes — not replace them. Arc ships `fade-in`, `fade-out`, `slide-up`, `slide-down`, `slide-in`, `scale-in`, `bounce`, `spin`, and `pulse` baked into its CSS emitter with automatic tree-shaking. This library adds the remaining 71 animations that Arc doesn't include.\n\n```arc\npage \"Hero\"\n  design\n    hero\n      animate: fade-in 0.4s ease   /* Arc's built-in */\n```\n\n```html\n<!-- Use arc-animations for everything else -->\n<link rel=\"stylesheet\" href=\"arc-animations/src/entrances.css\">\n<div class=\"animate-zoom-in\">...</div>\n```\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). Bug reports and animation requests welcome via [GitHub Issues](https://github.com/arc-language/arc-animations/issues).\n\n---\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n\n---\n\n<div align=\"center\">\n<sub>Part of the <a href=\"https://github.com/arc-language/arc-web\">Arc</a> ecosystem. Zero dependencies. Zero JS. Pure CSS.</sub>\n</div>\n","readmeFilename":"README.md"}