Repository navigation
feat(registry): add the loader line fold, loader iris ring and testimonial ring blocks - #26
Merged
Merged
Conversation
Two first-load preloaders, both dressed as Tween UI and opening onto a white placeholder hero. Loader Line Fold: the wordmark rises letter by letter while a lime hairline fills with a counter riding its tip. The counter holds at 90% until fonts and every image inside have decoded, then the line travels to the middle, folds into a point, and the page opens out of it through an even-odd clip-path hole, width leading height. Loader Iris Ring: a ring gauge sweeps through uneven steps in one continuous tween while tech photos flash through its lens and four corner counters sync on Number Flow. An iris mask opens from the lens and the ring flies into the nav mark, measured at the page's settled scale and taking on the mark's colours as it lands. Both fill their own section for the docs preview, or cover the viewport and lock scroll with `fullscreen`. Under reduced motion there is no loader and `onComplete` fires at once. Includes the demos, docs pages, tests and sidebar icon motion.
Testimonial cards stood on a 3D ring over a reflecting grid floor that slides as the ring turns. Drag it and it spins with the hand, carries the flick's inertia and snaps to the card it would land on; the arrow buttons, the arrow keys, clicking a side card and scrolling the page turn it too. Cards darken as they turn away, and whichever reaches the front blurs its quote, name and label in while the metric rolls on Number Flow. A lime "Drag" plate replaces the cursor while a mouse is over a card, squeezes to "Spin" when the ring is grabbed and leans like jelly into the pull. It is checked every frame, so it follows a ring that turns under a still pointer, and touch screens keep the native cursor. Ported from the Kairo template with two fixes: click-to-front now hit tests under the pointer, since pointer capture retargets the release to the stage, and scroll rotation counts from the load position, so the first card always starts in front. The radius is solved from the card width in container units, and testimonials repeat until the ring has at least ten cards. Under reduced motion it steps straight to each card and nothing spins, blurs or rolls. Includes the demo, docs page, tests and sidebar icon motion.
Poster and hover clip for Loader Iris Ring, Loader Line Fold and Testimonial Ring. 1280x800, 30fps, H.264 High, no audio track. The recordings were wider than 16:10, so each keeps its full width and the top and bottom are extended from the edge pixels rather than cropping the loader's corner counters. The system pointer, the Next.js dev badge, the route loading bar and the recording's rounded border are removed. The testimonial clip is trimmed from 20.9s to 8.1s and ends on its opening state so the loop is seamless. Clips: 129 KB, 72 KB and 465 KB, down from 2.3 MB, 3.3 MB and 28 MB.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Oct 7, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds three blocks: two first-load preloaders ported from the Prisma and Kairo templates, and Kairo's 3D testimonial ring. All three are dressed in the Tween UI palette and ship with gallery media.
Loader Line Fold
minDuration, then waits forready(by defaultdocument.fontsplus adecode()of every image inside, capped at 6s) before running the last 10%.clip-pathhole, width leading height, while the content settles from a dim 125% zoom.fold-horizontal, with a newsqueezehover motion.Loader Iris Ring
IrisRingMarkis exported; any element withdata-loader-targetworks. Without a target the ring swells and fades instead. Sidebar iconloader-circle(spin).Testimonial Ring
cylinder(flip).Worth calling out in review
fullscreencovers the viewport and locks page scroll for a real first load.onCompletereplaces the source templates' hero gates.pointerupto the stage (it now hit-tests under the pointer), and a section that loaded already in view started on the second card (scroll rotation now counts from the load position).Under
prefers-reduced-motion: reduce: no loader at all (onCompletefires at once); the ring steps straight to each card with no spin, blur, roll or drag plate.Checks
Typecheck is clean,
registry:buildpasses and the full test suite passes (899 tests, 36 new across the three blocks). Each block was checked in headless Chrome at desktop and phone widths.next buildwas not run locally.