---
title: "DroppyAnimation, DroppyKit"
description: "Droppy&#x27;s named animation presets."
canonical: "https://getdroppy.app/docs/droppykit/api/droppy-animation"
last-updated: "2026-09-09"
---

# DroppyAnimation

Droppy's named animation presets.

`enum DroppyAnimation`

Droppy's named animation presets. Read these on the UI thread.

## Type properties

### bounce

`static var bounce: Animation { get }`

Icon bounce: playful success feedback.

### controlMorph

`static var controlMorph: Animation { get }`

In-place control width and shape morphs (search field expand and similar).

### drag

`static var drag: Animation { get }`

Drag tracking, follows the pointer precisely.

### hover

`static var hover: Animation { get }`

Standard hover animation. Every hover-driven change (buttons, cards, list items) settles on this snappy clock.

### hoverQuick

`static var hoverQuick: Animation { get }`

Quick hover animation: instant feedback, no bounce. For small indicators and icons. Also the clock every native button animates its pressed state on.

### hoverScale

`static var hoverScale: Animation { get }`

Buttery hover scale. For "ready to expand" preview feedback.

### listChange

`static var listChange: Animation { get }`

List reordering, filtering, insertion, and removal.

### notchClose

`static var notchClose: Animation { get }`

The spring Droppy closes a notch surface on (DroppyKit 1.8.0): the shelf, and a card folding back up into the notch.

Hosted, this is the host's current `shelfSurfaceClose` read through [`DroppyKitMotionBridge`](https://getdroppy.app/docs/droppykit/api/droppy-kit-motion-bridge). Standalone it uses the host's Regular-shelf values: response 0.54, damping 0.90, so the surface does not bounce away from a dismissal.

### notchOpen

`static var notchOpen: Animation { get }`

The spring Droppy opens a notch surface on: the shelf, a HUD strip growing into its card, and compact content unfolding back out of the notch (DroppyKit 1.8.0).

Hosted, this is the host's current `shelfSurfaceOpen` read through [`DroppyKitMotionBridge`](https://getdroppy.app/docs/droppykit/api/droppy-kit-motion-bridge). Standalone it uses the host's values at the Regular shelf size (response 0.47, damping 0.76), display-tuned like every preset here; Reduce Motion settles critically damped on a short response, as the host does. [`DroppyTransition`](https://getdroppy.app/docs/droppykit/api/droppy-transition) rides it; reach for it directly only when your own content has to land on the shell's clock.

### panelSlide

`static var panelSlide: Animation { get }`

Panel slide inside a window (sidebar collapse and expand).

### press

`static var press: Animation { get }`

Press feedback, immediate response.

### pressSettle

`static var pressSettle: Animation { get }`

Two-phase press, phase 2: slower settle on release.

### pressSnap

`static var pressSnap: Animation { get }`

Two-phase press, phase 1: quick snap on press down.

### release

`static var release: Animation { get }`

Release feedback, natural bounce back.

### scaleHover

`static var scaleHover: Animation { get }`

Small hover scale for cards, the host's `scaleHover`.

### segmentedSelection

`static var segmentedSelection: Animation { get }`

Subtle grouped-button selection transition for settings tiles and segmented rows.

### state

`static var state: Animation { get }`

Standard state change: toggles, selection changes, mode switches, structural reveals.

Uses the host's current `state` through [`DroppyKitMotionBridge`](https://getdroppy.app/docs/droppykit/api/droppy-kit-motion-bridge). Standalone previews use the reference smooth 0.27-second cross-fade, adjusted for the display. Like the host, it carries no bounce.

### stateEmphasis

`static var stateEmphasis: Animation { get }`

Emphasized state change: favorites, flags, important switches.

### tabSelect

`static var tabSelect: Animation { get }`

Tab and segment selection slide.

### transition

`static var transition: Animation { get }`

View entrance and exit: sheets, popovers, panels.

## Type methods

### notchPressDown(for:)

`static func notchPressDown(for screen: NSScreen? = nil) -> Animation`

The spring the host drives the collapsed notch's press-down grow on (DroppyKit 0.4.2). Pair with `notchPressRelease(for:)`, resolving the direction at change time: the host picks the down spring while the press is held and the release spring on let-go, so each direction gets its own curve. Slow enough that the growth visibly travels, instant enough to feel 1:1 with the pointer.

### notchPressRelease(for:)

`static func notchPressRelease(for screen: NSScreen? = nil) -> Animation`

The settle-back spring on release or press-cancel (DroppyKit 0.4.2). Softer damping than the press so the surface relaxes back with a hint of elasticity instead of snapping.
