UI Motion Prompts Pack $19

Tab Bar Part 1

6 tab bar animations. Copy any short prompt for free, and open full prompt 1 to see how detailed they are. Full prompts 2–6 are in the pack.

1  Sliding Pill
A violet→cyan pill springs to the tapped tab, stretching as it slides.
Full prompt (free sample)
A bottom tab bar animation on a 470×240 stage with a dark #13131C background (clip to the stage). It plays by itself in a seamless 4s loop: a tap lands every 1.0s, at 0, 1, 2 and 3s (times are seconds from the loop start), selecting the tabs 4, 2, 3, 1 in that order (tab 1 is the leftmost), so the moves are 3, 2, 1 and 2 tabs long. Treat the taps as an endless cycle: whatever is still running from the 2s and 3s taps (springs, late bubbles or pops) carries on into the next loop, and frame 0 already shows it. Tab 1 is the one selected before the 0s tap.
- Bar: 410×92px, corner radius 30px, centered horizontally, its center 160px from the stage top. Fill #1B1A28, a soft shadow (black 45%, canvas shadowBlur 18, 6px down), and a 1px border white 8% stroked 1px inside the edge. Four tabs split the bar into equal quarters; tab i (0–3 from the left) has its center x = barLeft + 102.5·(i + 0.5). Tabs 1–4 are Home, Search, Likes (heart) and Profile.
- Icons (drawn by hand, no icon font): in units where 1 = 17px (so each icon is about 25–30px wide), centered on the tab, stroked with round caps and joins, 2.8px wide, color #8C8AA8 when not selected. The line width stays 2.8px when an icon is scaled, unless a prompt says otherwise. A gradient "across the icon" spans its box from (−1, −1) to (1, 1) in icon units.
  - Home: closed polygon (−0.72, 0.78) (−0.72, −0.12) (0, −0.78) (0.72, −0.12) (0.72, 0.78), plus a door, an open line (−0.2, 0.78)→(−0.2, 0.28)→(0.2, 0.28)→(0.2, 0.78).
  - Search: a circle at (−0.12, −0.12) with radius 0.56, plus a handle line (0.29, 0.29)→(0.78, 0.78).
  - Heart: M(0, 0.78) C(−0.35, 0.5)(−0.92, 0.12)(−0.88, −0.3) C(−0.84, −0.74)(−0.24, −0.86)(0, −0.42) C(0.24, −0.86)(0.84, −0.74)(0.88, −0.3) C(0.92, 0.12)(0.35, 0.5)(0, 0.78) Z.
  - Profile: a head circle at (0, −0.4) with radius 0.34, plus a body M(−0.78, 0.8) C(−0.78, 0.08)(0.78, 0.08)(0.78, 0.8) Z.
  - Labels (where used): Home, Search, Likes, Profile.
- Spring: x(t) = 1 − e^(−ζω₀t)·(cos ω_d t + (ζω₀/ω_d)·sin ω_d t), ω_d = ω₀√(1−ζ²), t = seconds since the tap (x = 0 before). An indicator "position" p is measured in tabs: p = from + (to − from)·x(t), where from is the previously selected tab and to the tapped one (every spring has settled to well under 1px by the next tap, so restarting from the tab rather than the exact current position is fine).
- Text: a sans-serif such as Inter or Segoe UI.
- Colors: violet #6E5BFF, cyan #38C6FF, gray #8C8AA8. "Mix A→B by k" means each RGB channel linearly, k clamped to 0–1. easeOutCubic(k) = 1 − (1 − k)³ with k clamped to 0–1.
- Tap indicator (draw it last, on top): a 23px-radius circle, fill white 38%, 3.5px white border, soft dark shadow (black 35%, canvas shadowBlur 10), over the tab that is about to be tapped, at the bar's vertical center (even where a prompt lifts or lowers the icons). Time a = seconds relative to the tap (negative = before). From a = −0.42 to −0.1 it scales 125% → 100% (ease-out cubic) while fading in over the first 0.18s; from −0.1 to 0 it presses down to 80% (linear); from 0 to 0.2 it grows back to 100% (ease-out cubic); its opacity stays 1 until a = 0.12 and fades to 0 by a = 0.37. Ripple: from a = 0 to 0.4 a 3px white ring grows from radius 23px to 52px, opacity 0.7 → 0, drawn under the circle. All of these fades and the ripple are linear unless an ease is named; the shadow has no offset and applies to the fill only. The indicator stays where the tap happened (it does not follow content that moves afterwards).

(Common block above, then:)
- Highlight pill: 86×64px at rest, fully rounded, vertically centered in the bar, filled with a horizontal gradient violet → cyan across its own width, with a violet glow (rgba(110,91,255,0.65), canvas shadowBlur 20). Draw it on the bar, under the icons.
- Its two edges move on separate springs, both from the old tab to the new one: the leading edge (the side it moves toward; the right edge when moving right) uses a fast spring (ω₀ = 19, ζ = 0.55) and the trailing edge a slower one (ω₀ = 11, ζ = 0.72). Left edge = center x of the left-edge position − 43px, right edge = center x of the right-edge position + 43px (positions in tabs, as in the common block). Clamp both edges to 6px inside the bar's ends (so at rest it is 86px wide at every tab, but an overshooting edge flattens against the end). So the pill stretches while it travels and snaps back to 86px when it lands; for a moment the two springs can cross and make it a little narrower than 86px, which is fine.
- Icons: each icon's color mixes gray → white by c = clamp(1 − |pill middle x − tab center x| / 80px), so the icon under the pill turns white.
2  Liquid Bulge
The bar bulges like liquid under the active tab, and the bulge flows over.
Full prompt · 5,334 characters
(Common block above, then — this one replaces the plain bar:) - The whole bar is one blob of liquid. Draw these white shapes on an offscreen canvas …
🔒 Unlock all 6 in the pack — $19
3  Floating Notch
A floating ball rides a curved notch to the new tab, hopping on the way.
Full prompt · 5,497 characters
(Common block above, then — this one replaces the plain bar:) - Tabs are pulled in from the ends here so the dip never cuts a rounded corner: tab i …
🔒 Unlock all 6 in the pack — $19
4  Icon Fill
The tapped icon fills violet→cyan from its center, pops, and gains a dot.
Full prompt · 4,637 characters
(Common block above, then:) - Each icon has a fill amount a: the tapped tab rises a = easeOutCubic(dt / 0.28); the tab that loses the selection drops …
🔒 Unlock all 6 in the pack — $19
5  Expanding Label
The active tab grows into a pill and its label slides out. Others shrink.
Full prompt · 4,603 characters
(Common block above, then:) - Each tab has an open amount a (not clamped, so it can overshoot): it follows a spring (ω₀ = 14, ζ = 0.68) up for the …
🔒 Unlock all 6 in the pack — $19
6  Bubble Float
The tapped icon lifts and glows while bubbles float up from it and pop.
Full prompt · 5,225 characters
(Common block above, then:) - Icons: each has an amount a (tapped tab: easeOutCubic(dt / 0.3) up; the old tab: 1 − easeOutCubic(dt / 0.25) down). The …
🔒 Unlock all 6 in the pack — $19

Get every full prompt — $19

One-time payment. Price goes up as new patterns are added. Buy once, get every update.
Team license (up to 5 people, client work): $49.
Lower price in many countries, applied automatically at checkout.
Get the pack on Gumroad
← Button Part 3Tab Bar Part 2 →
Full pack · $19438 prompts · 73 demos
Get the pack