Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Ani is a declarative animation library. You describe an animation once as an immutable tree, and a timeline plays it on any element, in plain TypeScript or with the React, Vue, Solid and Svelte bindings.
| Package | Purpose |
|---|---|
@freestylejs/ani-core | The engine: animation nodes, timelines, clock. |
@freestylejs/ani-react | React hooks. |
@freestylejs/ani-vue | Vue composables. |
@freestylejs/ani-solid | Solid primitives. |
@freestylejs/ani-svelte | Svelte actions and stores. |
@freestylejs/ani-codemod | Migrates ANI 1.x code to ANI 2. |
npm install @freestylejs/ani-core
import * as a from '@freestylejs/ani-core'
// 1. Describe the animation. Every duration is in seconds.
const reveal = a.parallel([
a.ani({ to: { opacity: 1 }, duration: 0.3 }),
a.ani({ to: { translateY: 0 }, duration: 0.4 }),
])
// 2. Create a timeline and bind it to an element.
const timeline = a.rafTimeline(reveal)
const card = document.createElement('div')
const unbind = timeline.bind(card)
// 3. Play it. The promise never rejects.
timeline.play({ from: { opacity: 0, translateY: 16 } }).then((result) => {
// result is 'ended', 'interrupted', 'skipped', 'reset' or 'disposed'
unbind()
timeline.dispose()
})
Animations honor prefers-reduced-motion by default: the timeline jumps to its end state. Pass { reducedMotion: 'ignore' } to rafTimeline for essential motion.
Visit ani to read the documentation.
ANI 2.0 removes the 1.x API and measures every delay in seconds. Run the codemod once on your 1.x code (commit before you do), read every warning it prints, then follow the migration guide.
npx @freestylejs/ani-codemod src
Please read contributing guide.
Licensed under the MIT License.