Skip to content

feat: motion across the shell, overlays and controls (1.2.0) - #24

Merged
AmrMsCLL merged 1 commit into
mainfrom
feat/motion
Oct 20, 2026
Merged

AmrMsCLL merged 1 commit into
mainfrom
feat/motion

Conversation

@AmrMsCLL

Copy link
Copy Markdown
Member

Adds shared motion so apps feel smoother, with no new dependency. Everything is off under prefers-reduced-motion: reduce.

  • Page changes: new PageTransition export, a React 19.3 ViewTransition keyed by the page. The old page fades out, the root snapshot doesn't animate, so the header, sidebar and tab bar stay still. .page-enter is now a 4px rise as well as a fade.
  • Moving highlights: the Tabs underline morphs to the new tab across pages through a named view transition. The sidebar's active background is a single indicator that slides to the new row. The phone tab bar gets a pill behind the active icon that slides between tabs.
  • Header: its border and shadow appear once the page scrolls (scroll-driven where supported, otherwise the border stays as before).
  • Overlays: Popover and Menu default to Fade plus a small grow from the anchor, instead of MUI's Grow. Autocomplete lists get the same entrance. Dialogs (including CommandPalette) and snackbars rise in. MUI enter and leave durations are 220ms and 160ms.
  • Controls: buttons, icon buttons and clickable chips scale to 0.97 while pressed. Checkbox pops when the user checks it; it marks itself data-pressed on its first change, so pages don't pop every checked box on load.
  • Content: <details> opens and closes with a height animation. .panel-rows children fade in (opacity only, so skeleton swaps stay seamless). A new opt-in .stagger-in class cascades its children.

Breaking: the React peer is now ^19.3.0, the first version that exports ViewTransition.

Checked in Strata against a packed build: lint, build, and in the browser the view transition, tab underline morph, sidebar and tab bar slides, header, menu, dialog, palette, snackbar and habit animations.

@github-actions github-actions Bot added the size/l 201-600 changed lines, excluding lockfiles label Oct 20, 2026
@AmrMsCLL
AmrMsCLL merged commit f332716 into main Oct 20, 2026
4 checks passed
@AmrMsCLL
AmrMsCLL deleted the feat/motion branch October 20, 2026 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/l 201-600 changed lines, excluding lockfiles

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant