Package-level declarations

Types

Link copied to clipboard
@Immutable
@Stable
data class JellyFabConfig(val expandStagger: Long = 150, val collapseStagger: Long = 100, val secondaryExpandStagger: Long = 150, val secondaryCollapseStagger: Long = 80, val shadowOpacity: Float = 0.55f, val shadowBlurFactor: Float = 0.2f, val bounceFactor: Float = 0.18f, val secondaryLayerSpacingMultiplier: Float = 1.8f, val layerDistance: Dp = 80.dp)

Configuration for JellyFab animation feel, layout spacing, and motion physics.

Link copied to clipboard
@Immutable
@Stable
data class JellyFabItem(val icon: ImageVector, val onClick: () -> Unit = {})
Link copied to clipboard
@Stable
class JellyFabState

Properties

Link copied to clipboard
val CloseIcon: ImageVector
Link copied to clipboard
val MoreHorizontal: ImageVector

Functions

Link copied to clipboard
actual fun createBlurPaint(color: Color, radius: Float): Paint
expect fun createBlurPaint(color: Color, radius: Float): Paint
actual fun createBlurPaint(color: Color, radius: Float): Paint
actual fun createBlurPaint(color: Color, radius: Float): Paint
actual fun createBlurPaint(color: Color, radius: Float): Paint
Link copied to clipboard
@Composable
fun JellyBlob(modifier: Modifier = Modifier, size: Dp, color: Color, bulges: List<Animatable<Float, AnimationVector1D>>, shadowOpacity: Float, shadowBlurFactor: Float, bulgeAngles: List<Double>, bounceFactor: Float)

Draws the main floating action button as a soft, organic "jelly" blob.

Link copied to clipboard
@Composable
fun JellyFab(modifier: Modifier = Modifier, state: JellyFabState = rememberJellyFabState(), fabSize: Dp = 72.dp, miniFabSize: Dp = 48.dp, fabColor: Color = Color(0xFFFF7F86), secondLayerFabColor: Color = Color(0xFF6BA5FF), primaryItems: List<JellyFabItem>, secondaryItems: List<JellyFabItem> = emptyList(), showScrim: Boolean = true, config: JellyFabConfig = JellyFabConfig())

Main JellyFab entry point — renders a floating action button with an expandable, jelly-like motion. The main FAB animates with a soft blob effect, primary actions fan out along an arc, and an optional secondary group can chain outward from the first primary action.

Link copied to clipboard
@Composable
fun rememberJellyFabState(initialExpanded: Boolean = false, initialSecondaryExpanded: Boolean = false): JellyFabState

Creates and remembers a JellyFabState for controlling the open/closed state of the JellyFab. Users may replace this with their own state to control it externally.

Link copied to clipboard