You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use `default` as a fallback for categories not explicitly listed:
253
255
@@ -267,7 +269,7 @@ When no `default` key is provided, the library default (timing 300ms easeInOut)
267
269
268
270
### Border Radius
269
271
270
-
`borderRadius` can be animated just like other properties. It uses hardware-accelerated platform APIs — `ViewOutlineProvider` + `clipToOutline` on Android and `layer.cornerRadius`+ `layer.masksToBounds`on iOS. Unlike RN's style-based `borderRadius` (which uses a Canvas drawable on Android), this clips children properly and is GPU-accelerated.
272
+
`borderRadius` can be animated just like other properties. It uses hardware-accelerated platform APIs — `ViewOutlineProvider` + `clipToOutline` on Android and `layer.cornerRadius` on iOS.
271
273
272
274
```tsx
273
275
<EaseView
@@ -302,6 +304,38 @@ On Android, background color uses `ValueAnimator.ofArgb()` (timing only — spri
302
304
303
305
When `backgroundColor` is in `animate`, any `backgroundColor` in `style` is automatically stripped to avoid conflicts.
304
306
307
+
### Border
308
+
309
+
`borderWidth` and `borderColor` can be animated. On iOS, these use Core Animation on the `CALayer` border properties. On Android, they use `BackgroundStyleApplicator` which updates the `BorderDrawable` each frame.
-`animate` — target values for animated properties
402
409
-`initialAnimate` — starting values (animates to `animate` on mount)
403
-
-`transition` — animation config: a single `SingleTransition` (timing/spring/none) OR a `TransitionMap` with category keys (`default`, `transform`, `opacity`, `borderRadius`, `backgroundColor`)
410
+
-`transition` — animation config: a single `SingleTransition` (timing/spring/none) OR a `TransitionMap` with category keys (`default`, `transform`, `opacity`, `borderRadius`, `backgroundColor`, `border`, `shadow`)
404
411
-`onTransitionEnd` — callback with `{ finished: boolean }`
405
412
-`transformOrigin` — pivot point as `{ x: 0-1, y: 0-1 }`, default center
-**Loop requires timing** (not spring) and `initialAnimate` must define the start value
412
-
-**Per-property transitions supported** — pass a `TransitionMap` with category keys (`default`, `transform`, `opacity`, `borderRadius`, `backgroundColor`) to use different configs per property group
419
+
-**Per-property transitions supported** — pass a `TransitionMap` with category keys (`default`, `transform`, `opacity`, `borderRadius`, `backgroundColor`, `border`, `shadow`) to use different configs per property group
413
420
-**No animation sequencing** — no equivalent to `withSequence`. Simple `withDelay` IS supported via the `delay` transition prop
414
421
-**No gesture/scroll-driven animations** — EaseView is state-driven only
415
422
-**Style/animate conflict** — if a property appears in both `style` and `animate`, the animated value wins
0 commit comments