Arc
ComponentsBlocksScreensDocsPricingTry the demo
Get Pro
Saved

Docs

IntroductionInstallationThemingMotionAI and MCPChangelog

Components136

ButtonAction buttonSplit buttonButton groupFloating button groupExpanding button groupCopy buttonAction swapIcon morphConfirm morphTheme switcher

Hold to confirmSwipe actionsReactions

Dropdown menuContext menuUser menu

InputTextareaPassword fieldPassword strengthSearch fieldExpanding searchInline edit

Number fieldMoney inputPhone inputScrub inputTag inputMention inputShortcut recorder

SelectComboboxMulti-selectMorph selectChip group

Radio cardsBilling toggleCheckboxRadio groupSwitchSegmented controlRatingToggle group

SliderElastic sliderRange histogram sliderRuler sliderWindow rangeNewProLens rangeNewPro

CalendarDate pickerDate range pickerTime pickerColor pickerEmoji pickerPro

Rich text editorSignature padFile dropzoneAvatar uploadPro

TabsBreadcrumbPaginationMega menu morphProTable of contents progressPro

Scroll areaAccordionExpandable cardResizable panelsExpandable text

DialogDrawerBottom sheetPopoverHover cardTooltipShare accessProConfirm popoverPro

AlertToastToast stackAnnouncement barCookie consentUndo toastPro

ProgressSkeletonStepperCountdownUsage meterOnboarding checklist

AvatarAvatar groupBadgePresence stackPro

CardMetric cardEmpty stateMetric tickerPro

Line chartBar chartDonut chartStreamgraphBrush chartWaffle chartSlope chartSparklineGaugeActivity heatmapAnimated counterRidgelineTreemapSplit barPro

SunburstProSankey flowProFunnel chartProRadar chartProRealtime streamProRace bar chartProData gridPro

Sortable data tableTree tableTree viewReorderable listFilter toolbarCode blockJSON viewer

TimelineComment threadChat thread

Image compareCarouselCard stack

Text revealIn-view titleText morphText shimmer

Blocks122

KPI drilldownProMetric explorerProRevenue explorerProMRR waterfallProCohort retentionProUsage forecastProJourney flowProUptime statusProPivot builderProChoropleth explorerProConnected scatterProHorizon chartProAccount healthPro

Budget variancePro

Small multiplesProLine replayPro

AI chatProAI composerProAI answerProModel pickerProModel arenaProPrompt studioProDocument extractionProAgent memoryProAI side panelProAI inline editProResearch runProAI insight cardProCatch upProAI feature launchProAI search barProAI setup wizardProCall insightsProLead scoringPro

Agent runProAgent tasksProAgent approvalsProAgent routinesProAgent orchestratorProMCP serversProKnowledge baseProEval suiteProAgent builderProAgent galleryPro

SidebarPro4Page headerCommand paletteNotification centerSelection toolbarProEmpty statesSearch resultsPro

Login and sign up5, free and Pro variantsOnboarding illustrationProOTP inputMulti-step formProTwo-factor setupProMagic linkPro

Settings pageProSettings commandProSecurity settingsProBilling overviewProUsage billingProCancel flowProOnboarding surveyProSpend alertPro

Team membersProInvite peopleProRoles and permissionsProProfile pagePro

API keysProWebhooksProIntegrationsProImport wizardNewProEnvironment variablesProDomain verifyProWebhook testerPro

Plan comparisonPricing calculatorProUsage pricingProCart drawerProCheckout summaryProLive checkoutProSeat managerProCredit top-upPro

Wallet cardProDelivery trackerProSeat mapPro

Activity feedProSupport widgetProFeature votingPro

File uploadMedia playerPro

Availability pickerProRelease readinessProFeedback boardProSmart schedulerProTask breakdownProGoal trackerPro

Hero sectionHero signupPro

Scroll storyProSpotlight gridProFeature bentoProComparison table

Logo marqueeStudio perspectivesProStats band

Changelog feedFAQ sectionContact sectionTeam showcaseProBlog grid

Site headerSite footerCTA sectionNewsletter signup

Activity terrainProRevenue globeProCustomer galaxyProSemantic zoomProLayout morphProExploded viewPro

Screens14

Metrics dashboardProMarket terminalPro

Kanban boardProProject boardProGantt timelinePro

Week calendarProMonth calendarNewPro

Team directoryPro

Inbox triageProSupport conversationProHelp centerPro

Product listingProProduct detailProInvoice studioPro

Special components106

Share sheetProAction morphProMorph navProDockProLiquid tab barProOrbit menuPro

Glass menuProGlass segmentedProGlass cardProGlass tab barPro

Sheet stackProWallet stackProControl centerProHolo cardProCard to articleProLink unfurlPro

Product galleryProLightbox galleryProPhoto gridProCover flowPro

Voice orbProNow playingProVoice recorderPro

Booking pillProActivity ringsProTime dialProDate reelPro

Keycap keyboardProSlot textSand textProTypewriter terminalPro

Stretch refreshProMorph loaderProSkeleton morphProBlack holeProCharge sessionPro

Sticker peelProTicket tearProPage curlProOrbit logosProPrize wheelPro

Dot gridProImage trailProGravity wellProInk fluidProCursor trail drawPro

Agent statusProTool callProAgent planProAgent timelineProContext windowProReasoning blockProSource cardsProModel cardProAI workflowProCode suggestionProGhost textProImage generationProDictation buttonProSpeech playerProMeeting summaryProReply draftProAgent handoffProPII redactionProResponse feedbackProLLM cost calculatorProProvider keysProGeneration statsProAI translateProTL;DR toggleProConnector setupProSmart form fillProEnrich columnProTicket routerProAsk your dataProAgent cursorProProvider statusProTraining runProAI commandProStarter promptsProAI mascotProImage revealProAI sparkProPixel mascotProGhost mascotProCube mascotProTone tunerProUpgrade promptProReferral cardProTrial bannerProTeam switcherProLive visitorsProSocial proof toastProInstall snippetPro

Data flowProPayment flowProDNS resolutionProModel trainingProMulti-region failoverProVector searchProBranch graphProAgent loopProMixture of expertsProSpeculative decodingProPrompt cacheProReasoning treePro
What’s new4 new
BlocksLayout morph

Layout morph

Pro

A 24 card gallery that flies between grid, masonry, list, fan, carousel and a 3D helix.

Live block · sample data

One collection, six ways to browse

The Kiln & Loom autumn edit: 14 pieces from 10 makers. Switch the view and every card travels to its new place.

Click a card to open it

Autumn editHover a card for its details
Pieces1401234567890123456789
Makers1001234567890123456789
Avg rating4.80123456789.0123456789
Kiln & Loom autumn edit
NameTypeMaker or craftPrice or piecesDetails
Travertine trayPieceJasmine Brooks$96Price: $96, Size: 32 × 18 cm, In stock: 17, Ships in: 3 days
Emma CollinsMakerCeramicist, Portland2 piecesPieces here: 2, Orders: 2,140, Rating: 4.9, Since: 2016
Opal table lampPieceDaniel Kim$248Price: $248, Size: 52 cm tall, In stock: 14, Ships in: 2 days
Sofia RamirezMakerWeaver, Oaxaca2 piecesPieces here: 2, Orders: 1,386, Rating: 4.9, Since: 2018
Stoneware mug pairPieceEmma Collins$58Price: $58, Size: 350 ml each, In stock: 41, Ships in: 2 days
Ava MitchellMakerGlassblower, Leeds1 piecePieces here: 1, Orders: 964, Rating: 4.8, Since: 2017
Wool floor cushionPieceOlivia Bennett$134Price: $134, Size: 60 cm round, In stock: 12, Ships in: 5 days
Oat linen throwPieceSofia Ramirez$186Price: $186, Size: 130 × 170 cm, In stock: 22, Ships in: 3 days
Marcus JohnsonMakerWoodworker, Asheville2 piecesPieces here: 2, Orders: 1,057, Rating: 4.8, Since: 2015
Oak serving boardPieceMarcus Johnson$72Price: $72, Size: 48 × 22 cm, In stock: 26, Ships in: 2 days
Jasmine BrooksMakerStonemason, Glasgow1 piecePieces here: 1, Orders: 402, Rating: 4.6, Since: 2021
Oak lounge chairPieceRyan Sullivan$1,240Price: $1,240, Size: 78 × 82 × 74 cm, In stock: 3, Ships in: 6 weeks
Ryan SullivanMakerUpholsterer, Copenhagen1 piecePieces here: 1, Orders: 312, Rating: 4.7, Since: 2019
Beeswax taper pairPieceHannah Walsh$24Price: $24, Size: 30 cm, 9 hour burn, In stock: 96, Ships in: 1 day
Daniel KimMakerMetalworker, Milan2 piecesPieces here: 2, Orders: 781, Rating: 4.8, Since: 2014
Linen napkin setPieceSofia Ramirez$42Price: $42, Size: 45 × 45 cm, In stock: 54, Ships in: 3 days
Night carafe setPieceAva Mitchell$64Price: $64, Size: 1 L with two tumblers, In stock: 38, Ships in: 2 days
Chloe NguyenMakerPhotographer, Lisbon1 piecePieces here: 1, Orders: 528, Rating: 5.0, Since: 2020
Brass bookendsPieceDaniel Kim$110Price: $110, Size: 14 cm tall, In stock: 9, Ships in: 2 days
Hannah WalshMakerChandler, Lagos1 piecePieces here: 1, Orders: 2,690, Rating: 4.9, Since: 2019
Walnut stoolPieceMarcus Johnson$390Price: $390, Size: 45 cm tall, In stock: 6, Ships in: 3 weeks
Dusk at BerlengaPieceChloe Nguyen$120Price: $120, Size: 50 × 50 cm, In stock: 25, Ships in: 4 days
Olivia BennettMakerFelter, Mexico City1 piecePieces here: 1, Orders: 645, Rating: 4.8, Since: 2018
Ash glaze vasePieceEmma Collins$84Price: $84, Size: 24 cm tall, In stock: 7, Ships in: 2 days

When to use

  • Catalogue, portfolio, or team pages where people browse the same set in different layouts.
  • Showcase galleries that fly between grid, masonry, list, fan, carousel, and a 3D helix.

When not to use

  • Use photo-grid for a simple gallery.
  • Use carousel or cover-flow for one horizontal browsing style.
  • Use lightbox-gallery when opening a full size image is the main job.

Installation

Pro source and install commands unlock with a Pro plan.

Usage

Use this for a catalogue, portfolio or team page where people browse the same set in different ways. Replace ITEMS in morph-data.ts with your own; layouts, captions, the open view and the numbers derive from it.

example.tsx
1import { LayoutMorph } from "@/components/arc/blocks/layout-morph/layout-morph";2 3export default function CataloguePage() {4  return (5    <main>6      <LayoutMorph />7    </main>8  );9}

API reference

LayoutMorph

A 24 card gallery that flies between grid, masonry, list, fan, carousel and a 3D helix, with an open view for each card. Takes no props; cards are sample data in ITEMS in morph-data.ts, using images from other blocks and public portraits.

No props.

Keyboard interactions

Arrow keysorHomeorEnd
On the view switch, picks the next, previous, first or last layout.
Arrow leftorArrow right
On a card, switches to the previous or next layout and keeps that card in focus.
Arrow uporArrow downorHomeorEnd
Moves focus between cards.
Enter
Opens the focused card.
Escape
Closes the open card.

Accessibility

  • The view switch is a role="radiogroup" with roving tabindex and labelled icon options.
  • The stage is a group with a gallery roledescription whose label explains the keys.
  • The open card is a role="dialog"; the gallery behind it is hidden and the closed dialog is inert.

Motion

  • Cards fly between layouts on springs, staggered outward from the chosen origin.
  • Opening a card morphs it into the detail view.
  • Reduced motion is passed to the engine and MotionConfig uses the user setting.

Responsive behavior

  • Below a 720px container the layout tabs become icon-only and the stage is 540px tall, shrinking to 500px and 460px below 480px and 360px.
  • In scrolling layouts the stage takes touch-action none; wheel only rotates the ring for horizontal or shift scrolls.

Performance

  • Cards are DOM elements moved with transforms, and the ring layouts spin one camera transform per frame instead of every card.
  • The loop pauses offscreen via IntersectionObserver and in hidden tabs; keep the set near the 24 sample cards.

Notes for AI

Give your coding assistant the Markdown reference instead of screenshots.

  • Use for a catalogue, portfolio or team page where people browse the same set in different ways.
  • Replace ITEMS in morph-data.ts with your own photos and profiles; layouts, captions and totals derive from it.
  • The save action in the open view is local state; connect it to your favourites API if needed.
/components/blocks/layout-morph/markdown

The full library index for assistants is at /llms.txt.

Related

Photo gridProComponentPinch through zoom levels and open any photo straight from its cell.CarouselComponentBrowse a row of slides by dragging, flicking, or arrowing through them.Cover flowProComponentA depth rail of images you can throw, with soft grounded shadows and a quiet reflection.Card stackComponentReview a deck one card at a time, with a throw and an undo.Segmented controlComponentSwitch between a small set of related views.
PreviousSemantic zoomNextAgent run
Arc · 122 block pagesllms.txt

On this page

  • Preview
  • When to use
  • When not to use
  • Installation
  • Usage
  • API reference
  • Keyboard
  • Accessibility
  • Motion
  • Responsive behavior
  • Performance
  • Notes for AI
  • Related
View as Markdown