• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

humanspeak / svelte-motion / 26132191956
69%
main: 3%

Build:
Build:
LAST BUILD BRANCH: fix/release-cleanup-always-run
DEFAULT BRANCH: main
Ran 19 May 2026 11:47PM UTC
Jobs 1
Files 223
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 May 2026 11:45PM UTC coverage: 68.676%. First build
26132191956

push

github

web-flow
feat(layout): add <LayoutGroup> for scoping shared-layout animations (#311) (#354)

* feat(layout): add <LayoutGroup> for scoping shared-layout animations (#311)

Wrap a region in <LayoutGroup id="…"> so descendant motion components'
layoutId snapshots/consumes are prefixed by the group's id. Two sibling
groups containing identical layoutId values no longer cross-animate —
each instance keeps its own animation scope.

- New `src/lib/components/LayoutGroup.svelte` exposing `id` and
  `inherit` props (default `true`, mirrors framer-motion's id chaining
  so nested groups yield "outer-inner").
- New `layoutGroup.context.ts` with `setLayoutGroupContext`,
  `getLayoutGroupContext`, `chainLayoutGroupId`, and `scopeLayoutId`
  helpers — layoutId.ts stays untouched; scoping happens at the
  registry's snapshot/consume sites via the prefixed key.
- `_MotionContainer.svelte` reads the surrounding group id once and
  derives `scopedLayoutId` for both registry calls.
- Exported from `$lib` alongside `AnimatePresence` / `MotionConfig`.
- 12 unit tests for the pure helpers + Svelte context behaviour,
  including the parent-chain and `inherit={false}` cases.
- Regression route at `/tests/layout/group/` and e2e at
  `e2e/layout/group.spec.ts` proving B's underline never bridges
  across the page when A's previous selection unmounts.
- Docs: new section in `/docs/layout-animations`, live example at
  `/examples/layout-group`, and updates to README, llms.txt, and
  llms-full.txt; "Known gaps" no longer lists LayoutGroup.

Closes #311

* feat(layout): accept inherit="id" on <LayoutGroup> for framer-motion parity

Widen `inherit` from `boolean` to `boolean | 'id'`. In framer-motion,
`inherit="id"` inherits the parent group's id but breaks the internal
projection-tree group; we don't have a projection-tree group (our
snapshot/consume registry doesn't need sibling coordination), so `'id'`
and `true` behave identically here. Accepted so copy-pasted
framer-motion examples dr... (continued)

471 of 625 branches covered (75.36%)

Branch coverage included in aggregate %.

18 of 20 new or added lines in 3 files covered. (90.0%)

1785 of 2660 relevant lines covered (67.11%)

10.26 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
60.62
src/lib/html/_MotionContainer.svelte
Jobs
ID Job ID Ran Files Coverage
1 node-22 - 26132191956.1 19 May 2026 11:47PM UTC 223
68.68
GitHub Action Run
Source Files on build 26132191956
  • Tree
  • List 223
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26132191956
  • 2be8f4b4 on github
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc