{
 "$schema": "https://ui.shadcn.com/schema/registry.json",
 "name": "weinc",
 "homepage": "https://we.inc/components",
 "items": [
  {
   "name": "accordion-collection-with-styled-details-summary-aria-and-react-plus-faq-schema",
   "type": "registry:block",
   "title": "Accordion Collection with Styled details and summary, ARIA and React, plus FAQ Schema",
   "description": "Free accordions to copy: five styled details and summary designs, an ARIA accordion with animated height, a React and Tailwind version and FAQ JSON-LD.",
   "files": [
    {
     "path": "components/we-inc/accordion-collection-with-styled-details-summary-aria-and-react-plus-faq-schema.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "agent-day-book-printer-with-jewel-lamps-for-each-tool-and-a-paper-tape-that-ratchets-out-what-was-done",
   "type": "registry:component",
   "title": "Agent Day Book Printer with Jewel Lamps for Each Tool and a Paper Tape That Ratchets Out What Was Done",
   "description": "An agent's activity log as a black desk printer: a lamp lights for each tool and paper tape feeds out the finished job. Free React code and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/agent-day-book-printer-with-jewel-lamps-for-each-tool-and-a-paper-tape-that-ratchets-out-what-was-done.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "agent-sorting-cabinet-that-reads-each-incoming-note-under-a-blue-light-and-files-it-in-the-right-pigeonhole",
   "type": "registry:component",
   "title": "Agent Sorting Cabinet That Reads Each Incoming Note Under a Blue Light and Files It in the Right Pigeonhole",
   "description": "Watch an agent sort a bike shop's messages: each note is read under a blue light, labelled and filed in a pigeonhole. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/agent-sorting-cabinet-that-reads-each-incoming-note-under-a-blue-light-and-files-it-in-the-right-pigeonhole.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "agent-switchboard-with-swaying-patch-cords-and-lamps-that-light-as-each-step-runs",
   "type": "registry:component",
   "title": "Agent Switchboard with Swaying Patch Cords and Lamps That Light as Each Step Runs",
   "description": "Agent steps drawn on a canvas as an enamel switchboard: patch cords hang with rope physics and a lamp lights per step. React code and HTML, free to copy.",
   "files": [
    {
     "path": "components/we-inc/agent-switchboard-with-swaying-patch-cords-and-lamps-that-light-as-each-step-runs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "anchor-link-navigation-with-motion-safe-smooth-scroll",
   "type": "registry:block",
   "title": "Anchor Link Navigation With Motion Safe Smooth Scroll",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/anchor-link-navigation-with-motion-safe-smooth-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "announcement-bar-marquee-with-linked-notices",
   "type": "registry:block",
   "title": "Announcement Bar Marquee With Linked Notices",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/announcement-bar-marquee-with-linked-notices.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "apothecary-drawer-wall-category-filter-with-brass-label-holders-and-oak-drawers-that-pull-out-over-dried-botanicals",
   "type": "registry:component",
   "title": "Apothecary Drawer Wall Category Filter with Brass Label Holders and Oak Drawers That Pull Out over Dried Botanicals",
   "description": "Category filter drawn as a walnut cabinet of oak drawers: tick one and it springs out to show the herbs inside. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/apothecary-drawer-wall-category-filter-with-brass-label-holders-and-oak-drawers-that-pull-out-over-dried-botanicals.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "app-landing-hero-with-phone-mockup",
   "type": "registry:block",
   "title": "App Landing Hero with Phone Mockup",
   "description": "App landing hero with a tilted phone mockup cycling bird photos, a live sound meter and download buttons. Copy the React and Tailwind code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/app-landing-hero-with-phone-mockup.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "app-sidebar-with-nested-groups-and-active-item",
   "type": "registry:component",
   "title": "App Sidebar With Nested Groups and Active Item",
   "description": "Free React sidebar in Tailwind with an HTML version: groups that open and close, an unread badge and a highlighted current page set with aria-current.",
   "files": [
    {
     "path": "components/we-inc/app-sidebar-with-nested-groups-and-active-item.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "arched-brass-ticket-window-prompt-box-with-a-sliding-tray-that-carries-a-typed-slip-under-the-glass-and-returns-a-ticket",
   "type": "registry:block",
   "title": "Arched Brass Ticket Window Prompt Box with a Sliding Tray That Carries a Typed Slip Under the Glass and Returns a Ticket",
   "description": "Prompt box staged as a brass ticket window: write on the slip, slide the tray under the glass and a ticket comes back. Free React code and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/arched-brass-ticket-window-prompt-box-with-a-sliding-tray-that-carries-a-typed-slip-under-the-glass-and-returns-a-ticket.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "arched-stained-glass-window-webgl-background-that-pours-coloured-light-across-a-stone-floor-as-the-sun-moves",
   "type": "registry:block",
   "title": "Arched Stained Glass Window WebGL Background That Pours Coloured Light Across a Stone Floor as the Sun Moves",
   "description": "WebGL background where leaded windows cast coloured light across a stone floor, sliding as the sun moves. Copy the React code or the HTML version free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/arched-stained-glass-window-webgl-background-that-pours-coloured-light-across-a-stone-floor-as-the-sun-moves.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "architect-footer-giant-start-a-project-link",
   "type": "registry:block",
   "title": "Architect Footer With Giant Project Link",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/architect-footer-giant-start-a-project-link.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "architect-house-elevation-sketch-that-draws-itself",
   "type": "registry:component",
   "title": "Architect House Elevation Sketch That Draws Itself",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/architect-house-elevation-sketch-that-draws-itself.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "architects-plan-chest-where-add-a-page-slides-a-cream-card-sheet-out-of-a-slot-onto-a-sunlit-stack-with-a-blue-tab",
   "type": "registry:block",
   "title": "Architects Plan Chest Where Add a Page Slides a Cream Card Sheet out of a Slot onto a Sunlit Stack with a Blue Tab",
   "description": "Free React and WebGL add page control: an ebonised plan chest feeds a cream card sheet out of its slot and lays it on a sunlit stack with a blue index tab.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/architects-plan-chest-where-add-a-page-slides-a-cream-card-sheet-out-of-a-slot-onto-a-sunlit-stack-with-a-blue-tab.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "area-chart-gains-a-year-of-data-per-step",
   "type": "registry:block",
   "title": "Area Chart Gains Data Per Step",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/area-chart-gains-a-year-of-data-per-step.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "arrow-button-where-a-twin-arrow-slides-in",
   "type": "registry:block",
   "title": "Arrow Button Where a Twin Arrow Slides In",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/arrow-button-where-a-twin-arrow-slides-in.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "article-rows-cascade-out-and-in-between-sections",
   "type": "registry:block",
   "title": "Article Rows Cascade Out and In Between Sections",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/article-rows-cascade-out-and-in-between-sections.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "asymmetric-editorial-bento-grid-one-column-on-phones",
   "type": "registry:block",
   "title": "Asymmetric Editorial Bento Grid",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/asymmetric-editorial-bento-grid-one-column-on-phones.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "auto-cycling-expanding-flower-panels-that-pause",
   "type": "registry:block",
   "title": "Auto Cycling Expanding Flower Panels That Pause",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/auto-cycling-expanding-flower-panels-that-pause.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "back-to-top-button-collection-with-progress-ring-pill-floating-label-and-smooth-scroll-snippets",
   "type": "registry:block",
   "title": "Back to Top Buttons and Smooth Scroll Snippets",
   "description": "Free back to top buttons in React and vanilla JS: progress ring, square, pill, floating label, reading bar and edge tab, plus CSS and JS smooth scroll.",
   "files": [
    {
     "path": "components/we-inc/back-to-top-button-collection-with-progress-ring-pill-floating-label-and-smooth-scroll-snippets.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bakery-footer-serif-wordmark-letters-rise-into-view",
   "type": "registry:block",
   "title": "Bakery Footer With Rising Serif Wordmark",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/bakery-footer-serif-wordmark-letters-rise-into-view.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bakery-hero-whose-headline-is-the-shadow-of-window-lettering-thrown-on-a-wall-by-a-moving-sun",
   "type": "registry:block",
   "title": "Bakery Hero Whose Headline Is the Shadow of Window Lettering Thrown on a Wall by a Moving Sun",
   "description": "Hero section where sun through a shop window warms a plaster wall and the headline is the shadow of lettering on the glass. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/bakery-hero-whose-headline-is-the-shadow-of-window-lettering-thrown-on-a-wall-by-a-moving-sun.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bakery-layered-lift-preloader-with-three-stacked-colours",
   "type": "registry:block",
   "title": "Bakery Layered Lift Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/bakery-layered-lift-preloader-with-three-stacked-colours.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bakery-menu-rows-with-photo-rising-through-a-mask",
   "type": "registry:block",
   "title": "Bakery Menu Rows With Rising Photo",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/bakery-menu-rows-with-photo-rising-through-a-mask.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bakery-stats-row-that-counts-up-with-an-ease-out",
   "type": "registry:component",
   "title": "Bakery Stats Row That Counts Up",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/bakery-stats-row-that-counts-up-with-an-ease-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bakery-weekly-sales-bar-chart-grows-from-the-axis",
   "type": "registry:component",
   "title": "Bakery Weekly Sales Bar Chart",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/bakery-weekly-sales-bar-chart-grows-from-the-axis.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "balanced-pebble-cluster-beside-opening-hours",
   "type": "registry:block",
   "title": "Balanced Pebble Cluster Beside Opening Hours",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/balanced-pebble-cluster-beside-opening-hours.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "banding-wheel-loader-that-throws-a-wet-terracotta-vase-up-to-a-brass-height-gauge",
   "type": "registry:component",
   "title": "Banding Wheel Loader That Throws a Wet Terracotta Vase up to a Brass Height Gauge",
   "description": "Loading animation on a canvas: wet terracotta turns on a wheel and rises into a vase as the percentage climbs. The React code and HTML are free to copy.",
   "files": [
    {
     "path": "components/we-inc/banding-wheel-loader-that-throws-a-wet-terracotta-vase-up-to-a-brass-height-gauge.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bar-magnet-cursor-that-combs-iron-filings-on-paper-into-field-lines",
   "type": "registry:block",
   "title": "Bar Magnet Cursor That Combs Iron Filings on Paper into Field Lines",
   "description": "Cursor effect with a bar magnet that follows the pointer over iron filings, which turn and chain into field lines. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/bar-magnet-cursor-that-combs-iron-filings-on-paper-into-field-lines.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "barbershop-appointment-card-rack-time-slot-picker-where-your-card-lifts-out-and-drops-into-a-free-hour-pocket",
   "type": "registry:component",
   "title": "Barbershop Appointment Card Rack Time Slot Picker Where Your Card Lifts Out and Drops into a Free Hour Pocket",
   "description": "Time slot picker drawn as a barbershop card rack: taken hours hold cards and yours drops into any free pocket. Free React and Tailwind code, plus HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/barbershop-appointment-card-rack-time-slot-picker-where-your-card-lifts-out-and-drops-into-a-free-hour-pocket.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "beehive-frame-progress-meter-whose-wax-cells-fill-with-honey-and-cap-over-as-the-job-finishes",
   "type": "registry:component",
   "title": "Beehive Frame Progress Meter Whose Wax Cells Fill with Honey and Cap Over as the Job Finishes",
   "description": "Progress meter on a canvas: wax cells in a hive frame fill with honey, then seal under pale caps as the job ends. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/beehive-frame-progress-meter-whose-wax-cells-fill-with-honey-and-cap-over-as-the-job-finishes.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bento-grid-collection-with-ten-tailwind-layouts-grid-template-areas-and-copyable-code",
   "type": "registry:block",
   "title": "Bento Grid Layouts: 10 Tailwind Designs with Copyable Code",
   "description": "Free bento grid layouts in Tailwind: feature, portfolio, stats and product designs. Copy Tailwind HTML, React JSX or plain CSS built on grid-template-areas.",
   "files": [
    {
     "path": "components/we-inc/bento-grid-collection-with-ten-tailwind-layouts-grid-template-areas-and-copyable-code.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bento-grid-six-tiles-with-one-large-feature-tile",
   "type": "registry:block",
   "title": "Bento Grid With Six Tiles and One Large Feature Tile",
   "description": "Free bento grid feature section in CSS and Tailwind: one large lead tile with a drawn invoice, five smaller tiles, and grid-template-areas for every breakpoint.",
   "files": [
    {
     "path": "components/we-inc/bento-grid-six-tiles-with-one-large-feature-tile.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "big-headline-hero-with-stats-row",
   "type": "registry:block",
   "title": "Big Headline Hero with Stats Row",
   "description": "Hero with a huge headline over a rooftop photo and a stats row whose numbers roll like meter drums. Copy the React and Tailwind code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/big-headline-hero-with-stats-row.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "black-glass-pill-navbar-with-a-mercury-drop-that-stretches-to-the-active-link",
   "type": "registry:component",
   "title": "Black Glass Pill Navbar with a Mercury Drop That Stretches to the Active Link",
   "description": "Pill navbar where a drop of liquid metal marks the current page and stretches into a thread as it travels. Free React code and an HTML version to copy.",
   "files": [
    {
     "path": "components/we-inc/black-glass-pill-navbar-with-a-mercury-drop-that-stretches-to-the-active-link.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "blind-embossed-paragraph-that-inks-in-under-a-passing-lamp",
   "type": "registry:block",
   "title": "Blind Embossed Paragraph That Inks In Under a Passing Lamp",
   "description": "Text reveal where a paragraph pressed blind into paper takes ink word by word as a lamp passes or your pointer moves. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/blind-embossed-paragraph-that-inks-in-under-a-passing-lamp.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "blob-from-three-crossfading-svg-outlines",
   "type": "registry:block",
   "title": "Blob From Three Crossfading SVG Outlines",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/blob-from-three-crossfading-svg-outlines.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "blueprint-compass-marks-trailing-the-cursor",
   "type": "registry:block",
   "title": "Blueprint Compass Marks Trailing the Cursor",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/blueprint-compass-marks-trailing-the-cursor.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "blueprint-of-a-wooden-side-chair-drawn-with-dimensions",
   "type": "registry:component",
   "title": "Blueprint of a Wooden Side Chair with Dimensions",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/blueprint-of-a-wooden-side-chair-drawn-with-dimensions.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "boarding-pass-call-to-action-that-tears-along-its-perforation-when-you-book-and-drops-the-stub",
   "type": "registry:block",
   "title": "Boarding Pass Call to Action That Tears along Its Perforation When You Book and Drops the Stub",
   "description": "Call to action shaped as a boarding pass: press it or pull the stub and it rips along the perforation and drops. Copy the React code or the HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/boarding-pass-call-to-action-that-tears-along-its-perforation-when-you-book-and-drops-the-stub.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "book-cover-tilt-with-spine-and-page-depth",
   "type": "registry:block",
   "title": "Book Cover Tilt With Spine and Page Depth",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/book-cover-tilt-with-spine-and-page-depth.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "booking-steps-push-up-with-a-filling-progress-bar",
   "type": "registry:block",
   "title": "Booking Steps Push Up With a Filling Progress Bar",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/booking-steps-push-up-with-a-filling-progress-bar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "botanical-olive-sprig-line-illustration-on-product-card",
   "type": "registry:component",
   "title": "Botanical Olive Sprig Line Illustration",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/botanical-olive-sprig-line-illustration-on-product-card.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-and-perspex-protractor-angle-input-with-a-swinging-arm-that-rules-the-angle-in-pencil",
   "type": "registry:component",
   "title": "Brass and Perspex Protractor Angle Input with a Swinging Arm That Rules the Angle in Pencil",
   "description": "Angle picker drawn as a clear protractor on squared paper: swing the brass arm and the angle is ruled underneath in pencil. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/brass-and-perspex-protractor-angle-input-with-a-swinging-arm-that-rules-the-angle-in-pencil.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-aneroid-barometer-gauge-with-blued-needle-and-a-set-hand-that-marks-the-target",
   "type": "registry:component",
   "title": "Brass Aneroid Barometer Gauge with Blued Needle and a Set Hand That Marks the Target",
   "description": "Gauge drawn as a brass wall barometer: a blued needle swings to the reading and a set hand marks the target. Copy the React code or an HTML version free.",
   "files": [
    {
     "path": "components/we-inc/brass-aneroid-barometer-gauge-with-blued-needle-and-a-set-hand-that-marks-the-target.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-armillary-sphere-background-with-nested-rings-that-turn-about-a-tilted-axis-and-catch-the-lamp",
   "type": "registry:block",
   "title": "Brass Armillary Sphere Background with Nested Rings That Turn About a Tilted Axis and Catch the Lamp",
   "description": "Canvas background of a brass armillary sphere whose inner rings revolve on a tilted axis while highlights slide round. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/brass-armillary-sphere-background-with-nested-rings-that-turn-about-a-tilted-axis-and-catch-the-lamp.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-balance-scale-price-builder-with-feature-weights-and-coins-that-drop-until-the-beam-levels",
   "type": "registry:component",
   "title": "Brass Balance Scale Price Builder with Feature Weights and Coins That Drop Until the Beam Levels",
   "description": "Pricing calculator drawn as a brass balance: add feature weights to one pan and coins drop into the other until it levels. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/brass-balance-scale-price-builder-with-feature-weights-and-coins-that-drop-until-the-beam-levels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-counter-bell-notification-that-rings-and-raises-a-message-card-from-a-slot-in-the-desk",
   "type": "registry:component",
   "title": "Brass Counter Bell Notification That Rings and Raises a Message Card from a Slot in the Desk",
   "description": "Notification drawn as a brass reception bell: press the plunger, the dome rings and a printed card rises with the next message. Free React code and HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/brass-counter-bell-notification-that-rings-and-raises-a-message-card-from-a-slot-in-the-desk.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-dolly-light-switch-toggle-on-a-fluted-rose-that-snaps-over-and-lights-a-filament-wall-lamp",
   "type": "registry:component",
   "title": "Brass Dolly Light Switch Toggle on a Fluted Rose That Snaps Over and Lights a Filament Wall Lamp",
   "description": "Toggle drawn on a canvas as a brass dolly switch that snaps over, bounces on its stop and lights a filament bulb. Copy the React code or HTML version free.",
   "files": [
    {
     "path": "components/we-inc/brass-dolly-light-switch-toggle-on-a-fluted-rose-that-snaps-over-and-lights-a-filament-wall-lamp.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-doorbell-push-notification-with-walnut-door-chime-tubes-that-swing-shimmer-and-knock-together",
   "type": "registry:component",
   "title": "Brass Doorbell Push Notification with Walnut Door Chime Tubes That Swing, Shimmer and Knock Together",
   "description": "Press an ivory bell push and brass chime tubes are struck in turn, swing and collide. A canvas notification piece with free React code and an HTML version.",
   "files": [
    {
     "path": "components/we-inc/brass-doorbell-push-notification-with-walnut-door-chime-tubes-that-swing-shimmer-and-knock-together.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-knife-switch-on-a-slate-base-that-closes-with-a-spark-and-lights-four-opal-lamps-spelling-live",
   "type": "registry:block",
   "title": "Brass Knife Switch on a Slate Base That Closes with a Spark and Lights Four Opal Lamps Spelling Live",
   "description": "Go-live control drawn as a brass knife switch on slate: throw it by the grip, it arcs as it lands and opal lamps come on in turn. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/brass-knife-switch-on-a-slate-base-that-closes-with-a-spark-and-lights-four-opal-lamps-spelling-live.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-letterbox-file-upload-with-a-sprung-flap-that-swallows-envelopes-and-rattles-shut",
   "type": "registry:component",
   "title": "Brass Letterbox File Upload with a Sprung Flap That Swallows Envelopes and Rattles Shut",
   "description": "File upload drawn as a brass letterbox on a painted door: drop a file and an envelope goes through the flap, which clacks shut. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/brass-letterbox-file-upload-with-a-sprung-flap-that-swallows-envelopes-and-rattles-shut.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-lift-floor-indicator-navigation-with-an-arrow-that-sweeps-an-enamel-dial-between-sections",
   "type": "registry:component",
   "title": "Brass Lift Floor Indicator Navigation with an Arrow That Sweeps an Enamel Dial Between Sections",
   "description": "Section navigation drawn as an old lift indicator: a blued arrow sweeps an enamel scale from floor to floor. Copy the React code or the HTML version free.",
   "files": [
    {
     "path": "components/we-inc/brass-lift-floor-indicator-navigation-with-an-arrow-that-sweeps-an-enamel-dial-between-sections.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-mixing-desk-fader-in-webgl-with-weighted-detents-an-engraved-decibel-plate-and-a-backlit-vu-needle",
   "type": "registry:block",
   "title": "Brass Mixing Desk Fader in WebGL with Weighted Detents, an Engraved Decibel Plate and a Backlit VU Needle",
   "description": "Free React volume slider: a heavy brass fader cap that clicks into engraved decibel marks, with a lamp-lit VU needle beside it, traced in a WebGL shader.",
   "files": [
    {
     "path": "components/we-inc/brass-mixing-desk-fader-in-webgl-with-weighted-detents-an-engraved-decibel-plate-and-a-backlit-vu-needle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-orrery-schedule-viewer-with-stone-planets-on-geared-arms-that-swing-under-a-due-pointer",
   "type": "registry:component",
   "title": "Brass Orrery Schedule Viewer with Stone Planets on Geared Arms That Swing Under a Due Pointer",
   "description": "Schedule widget drawn as a brass orrery: each repeating job is a stone planet, due when it swings under the pointer. React code and HTML, free to copy.",
   "files": [
    {
     "path": "components/we-inc/brass-orrery-schedule-viewer-with-stone-planets-on-geared-arms-that-swing-under-a-due-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-pendulum-wall-clock-that-beats-once-a-second-in-true-time-and-throws-a-moving-shadow",
   "type": "registry:component",
   "title": "Brass Pendulum Wall Clock That Beats Once a Second in True Time and Throws a Moving Shadow",
   "description": "Pendulum clock drawn on a canvas: a brass wall clock whose bob beats once every real second and casts a moving shadow. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/brass-pendulum-wall-clock-that-beats-once-a-second-in-true-time-and-throws-a-moving-shadow.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-seal-confirm-delete-dialog-in-webgl-where-a-heavy-card-slides-onto-a-leather-desk-mat-under-a-lamp-and-a-stamp-presses-red-wax",
   "type": "registry:block",
   "title": "Brass Seal Confirm Delete Dialog in WebGL Where a Heavy Card Slides onto a Leather Desk Mat Under a Lamp and a Stamp Presses Red Wax",
   "description": "Free React confirm delete dialog drawn in WebGL: a letterpress card slides onto a leather desk mat and a brass seal presses red wax when you confirm.",
   "files": [
    {
     "path": "components/we-inc/brass-seal-confirm-delete-dialog-in-webgl-where-a-heavy-card-slides-onto-a-leather-desk-mat-under-a-lamp-and-a-stamp-presses-red-wax.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-servants-bell-board-where-a-sprung-bell-rings-and-a-blue-pendulum-keeps-swinging-when-a-booking-order-or-message-arrives",
   "type": "registry:block",
   "title": "Brass Servants' Bell Board Where a Sprung Bell Rings and a Blue Pendulum Keeps Swinging When a Booking, Order or Message Arrives",
   "description": "A lacquered board of brass bells on coiled springs: one rings for each booking, order or message and its pendulum swings on. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/brass-servants-bell-board-where-a-sprung-bell-rings-and-a-blue-pendulum-keeps-swinging-when-a-booking-order-or-message-arrives.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brass-spinning-top-loader-that-chalks-a-spiral-and-stands-upright-when-done",
   "type": "registry:component",
   "title": "Brass Spinning Top Loader That Chalks a Spiral and Stands Upright When Done",
   "description": "A brass top wobbles round a green table, chalks a shrinking spiral and stands still when loading ends. Copy the React code or the HTML version free.",
   "files": [
    {
     "path": "components/we-inc/brass-spinning-top-loader-that-chalks-a-spiral-and-stands-upright-when-done.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "breathing-halftone-dot-field-print-texture-background",
   "type": "registry:block",
   "title": "Breathing Halftone Dot Field",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/breathing-halftone-dot-field-print-texture-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "breathing-letter-spacing-display-headline",
   "type": "registry:component",
   "title": "Breathing Letter Spacing Display Line",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/breathing-letter-spacing-display-headline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brick-wall-footer-with-screwed-on-street-name-plates-lit-by-a-torch-that-follows-the-pointer",
   "type": "registry:block",
   "title": "Brick Wall Footer with Screwed-On Street Name Plates Lit by a Torch That Follows the Pointer",
   "description": "Footer whose links are enamel street name plates on a brick wall at night, lit by a torch beam that follows the pointer. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/brick-wall-footer-with-screwed-on-street-name-plates-lit-by-a-torch-that-follows-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "broken-signal-word-glitching-every-few-seconds",
   "type": "registry:block",
   "title": "Broken Signal Word Glitch",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/broken-signal-word-glitching-every-few-seconds.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bronze-garden-sundial-whose-shadow-points-at-the-time-and-polished-arc-marks-opening-hours",
   "type": "registry:block",
   "title": "Bronze Garden Sundial Whose Shadow Points at the Time and Polished Arc Marks Opening Hours",
   "description": "Opening hours drawn as a bronze sundial: the shadow falls on the current hour and a polished arc shows when you are open. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/bronze-garden-sundial-whose-shadow-points-at-the-time-and-polished-arc-marks-opening-hours.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brushed-steel-plate-with-sliding-light-sheen-background",
   "type": "registry:block",
   "title": "Brushed Steel with a Sliding Sheen",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/brushed-steel-plate-with-sliding-light-sheen-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "brushed-titanium-membership-card-in-webgl-rocking-on-a-stone-tray-in-window-light-with-an-anisotropic-sheen-and-laser-etched-type",
   "type": "registry:block",
   "title": "Brushed Titanium Membership Card in WebGL Rocking on a Stone Tray in Window Light with an Anisotropic Sheen and Laser Etched Type",
   "description": "Free React WebGL card: brushed titanium with laser-etched type, rocking in a pale stone tray under window light. Tilt it to sweep the sheen, click to flip it.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/brushed-titanium-membership-card-in-webgl-rocking-on-a-stone-tray-in-window-light-with-an-anisotropic-sheen-and-laser-etched-type.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "bubble-wrap-sheet-over-a-photo-print-with-air-cells-that-magnify-the-picture-until-you-pop-them-flat",
   "type": "registry:block",
   "title": "Bubble Wrap Sheet over a Photo Print with Air Cells That Magnify the Picture until You Pop Them Flat",
   "description": "Waiting state of bubble wrap over a photo print: each air cell bends the picture like a lens until you pop it. Free React and Tailwind code, plus HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/bubble-wrap-sheet-over-a-photo-print-with-air-cells-that-magnify-the-picture-until-you-pop-them-flat.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "button-fill-rising-from-the-pointer-entry-point",
   "type": "registry:block",
   "title": "Button Fill Rising From the Pointer Entry Point",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/button-fill-rising-from-the-pointer-entry-point.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cafe-footer-giant-local-time-on-rolling-digits",
   "type": "registry:block",
   "title": "Cafe Footer With Giant Local Time",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/cafe-footer-giant-local-time-on-rolling-digits.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cafe-orders-by-channel-donut-chart-fills-in-turn",
   "type": "registry:component",
   "title": "Café Orders by Channel Donut Chart",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/cafe-orders-by-channel-donut-chart-fills-in-turn.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "calm-countdown-timer-to-a-date-in-days-hours-minutes",
   "type": "registry:component",
   "title": "Calm Countdown Timer to a Date",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/calm-countdown-timer-to-a-date-in-days-hours-minutes.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "calm-letter-decode-scramble-text-reveal",
   "type": "registry:block",
   "title": "Calm Letter Decode Scramble",
   "description": "Free text scramble effect in React and plain JavaScript: soft placeholder marks settle into a headline left to right, with no layout jump and a screen reader copy.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/calm-letter-decode-scramble-text-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "camera-lens-aperture-switch-with-iris-blades-that-stop-down-and-sharpen-the-background-of-a-portrait",
   "type": "registry:component",
   "title": "Camera Lens Aperture Switch with Iris Blades That Stop Down and Sharpen the Background of a Portrait",
   "description": "Aperture selector on a canvas: the iris blades of a camera lens close stop by stop while the background of a portrait sharpens. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/camera-lens-aperture-switch-with-iris-blades-that-stop-down-and-sharpen-the-background-of-a-portrait.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "canvas-tile-image-transition-drag-slider-with-momentum",
   "type": "registry:component",
   "title": "Canvas Tile Image Transition Drag Slider",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/canvas-tile-image-transition-drag-slider-with-momentum.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "card-accordion-with-icons",
   "type": "registry:block",
   "title": "Card Accordion With Icons",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/card-accordion-with-icons.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "card-tabs-with-content-panels",
   "type": "registry:component",
   "title": "Card Tabs With Content Panels",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/card-tabs-with-content-panels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cards-slide-in-alternating-sides-on-scroll",
   "type": "registry:block",
   "title": "Cards Slide In From Alternating Sides",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/cards-slide-in-alternating-sides-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cascading-chevron-pair-scroll-cue-on-split-hero",
   "type": "registry:block",
   "title": "Cascading Chevron Pair Scroll Cue on Split Hero",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/cascading-chevron-pair-scroll-cue-on-split-hero.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "case-study-photo-cards-stacking-with-settling-zoom",
   "type": "registry:block",
   "title": "Case Study Photo Cards Stacking With Settling Zoom",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/case-study-photo-cards-stacking-with-settling-zoom.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cast-glass-wordmark-footer-ray-marched-in-webgl-with-jewel-coloured-letters-that-throw-coloured-shadows-and-turn-on-their-pivots-when-pressed",
   "type": "registry:block",
   "title": "Cast Glass Wordmark Footer Ray-Marched in WebGL With Jewel-Coloured Letters That Throw Coloured Shadows and Turn on Their Pivots When Pressed",
   "description": "Free React footer: a giant wordmark cast in coloured glass, traced in a WebGL shader on a white studio floor, with link columns and a legal line set around it.",
   "files": [
    {
     "path": "components/we-inc/cast-glass-wordmark-footer-ray-marched-in-webgl-with-jewel-coloured-letters-that-throw-coloured-shadows-and-turn-on-their-pivots-when-pressed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cast-iron-bench-vice-lock-switch-with-a-tommy-bar-that-winds-the-jaws-shut-on-an-oak-block",
   "type": "registry:component",
   "title": "Cast Iron Bench Vice Lock Switch with a Tommy Bar That Winds the Jaws Shut on an Oak Block",
   "description": "On/off switch drawn as a blue engineer's vice: switching on winds the jaw along its slide until it bites an oak block. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/cast-iron-bench-vice-lock-switch-with-a-tommy-bar-that-winds-the-jaws-shut-on-an-oak-block.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cast-iron-finger-post-navigation-with-painted-arms-that-swing-round-the-post-to-point-at-the-chosen-page",
   "type": "registry:component",
   "title": "Cast Iron Finger Post Navigation with Painted Arms That Swing Round the Post to Point at the Chosen Page",
   "description": "Signpost menu with painted arms on a cast iron post: the one you pick swings round the post in 3D to point the way. Copy the React code or HTML free.",
   "files": [
    {
     "path": "components/we-inc/cast-iron-finger-post-navigation-with-painted-arms-that-swing-round-the-post-to-point-at-the-chosen-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ceramics-cards-revealed-through-falling-slats",
   "type": "registry:block",
   "title": "Ceramics Cards Revealed Through Falling Slats",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ceramics-cards-revealed-through-falling-slats.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "chalk-dust-cursor-trail-on-a-slate-menu-board",
   "type": "registry:block",
   "title": "Chalk Dust Cursor Trail",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/chalk-dust-cursor-trail-on-a-slate-menu-board.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "chalkboard-cafe-menu-where-a-felt-eraser-wipes-the-prices-and-chalk-writes-new-ones",
   "type": "registry:block",
   "title": "Chalkboard Cafe Menu Where a Felt Eraser Wipes the Prices and Chalk Writes New Ones",
   "description": "Chalkboard menu in an oak frame: switch the sitting and an eraser scrubs the prices before chalk writes new ones. Free React code and an HTML version.",
   "files": [
    {
     "path": "components/we-inc/chalkboard-cafe-menu-where-a-felt-eraser-wipes-the-prices-and-chalk-writes-new-ones.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "checkout-stepper-with-completed-checkmarks",
   "type": "registry:component",
   "title": "Checkout Stepper With Completed Checkmarks",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/checkout-stepper-with-completed-checkmarks.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cheese-wheel-pie-chart-on-a-marble-board-with-wedges-that-slide-out-and-toothpick-flag-labels",
   "type": "registry:component",
   "title": "Cheese Wheel Pie Chart on a Marble Board with Wedges That Slide Out and Toothpick Flag Labels",
   "description": "Pie chart drawn as a wheel of cheeses on a marble board: wedges slide out on a spring and paper flags carry the percentages. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/cheese-wheel-pie-chart-on-a-marble-board-with-wedges-that-slide-out-and-toothpick-flag-labels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "chrome-shop-rail-of-silk-scarves-on-clamp-hangers-that-slide-swing-and-settle-in-soft-pleats",
   "type": "registry:block",
   "title": "Chrome Shop Rail of Silk Scarves on Clamp Hangers That Slide, Swing and Settle in Soft Pleats",
   "description": "Product carousel on a canvas: printed silk scarves hang in pleats from a chrome rail and swing when you slide them along. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/chrome-shop-rail-of-silk-scarves-on-clamp-hangers-that-slide-swing-and-settle-in-soft-pleats.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "chrome-stomp-footswitch-toggle-with-jewel-lamp-on-a-powder-coated-pedal",
   "type": "registry:component",
   "title": "Chrome Stomp Footswitch Toggle with Jewel Lamp on a Powder-Coated Pedal",
   "description": "On and off toggle drawn as a guitar pedal: press the chrome footswitch and an amber jewel lamp lights above it. Copy the React code or HTML version free.",
   "files": [
    {
     "path": "components/we-inc/chrome-stomp-footswitch-toggle-with-jewel-lamp-on-a-powder-coated-pedal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cinema-marquee-headline-with-letter-tiles-that-slide-along-rails-and-chasing-bulbs",
   "type": "registry:component",
   "title": "Cinema Marquee Headline with Letter Tiles That Slide Along Rails and Chasing Bulbs",
   "description": "Cinema marquee on a canvas: letter tiles slide along rails and clack together inside a red frame of chasing bulbs. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/cinema-marquee-headline-with-letter-tiles-that-slide-along-rails-and-chasing-bulbs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cinema-projector-beam-with-drifting-dust-background",
   "type": "registry:block",
   "title": "Cinema Projector Beam with Drifting Dust",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/cinema-projector-beam-with-drifting-dust-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "circular-badge-spins-with-scroll-position",
   "type": "registry:block",
   "title": "Circular Badge That Spins With Scroll",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/circular-badge-spins-with-scroll-position.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "circular-seal-logo-with-ring-text-turning-into-place",
   "type": "registry:component",
   "title": "Circular Seal With Ring Text Turning Into Place",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/circular-seal-logo-with-ring-text-turning-into-place.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "circular-svg-progress-ring-with-percentage",
   "type": "registry:component",
   "title": "Circular SVG Progress Ring With Percentage",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/circular-svg-progress-ring-with-percentage.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "classic-css-typewriter-line-with-steps-and-blinking-caret",
   "type": "registry:component",
   "title": "Classic CSS Typewriter Line",
   "description": "Free CSS typing animation: one line typed with steps() and ch widths, a blinking block caret, an erase and retype loop, and a still line for reduced motion.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/classic-css-typewriter-line-with-steps-and-blinking-caret.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "clay-blind-slats-that-unroll-into-a-menu",
   "type": "registry:block",
   "title": "Clay Blind Slats That Unroll Into a Menu",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/clay-blind-slats-that-unroll-into-a-menu.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "clear-acrylic-id-passes-in-a-slotted-block-that-lift-out-and-turn-with-neon-edges-and-a-floating-print",
   "type": "registry:block",
   "title": "Clear Acrylic ID Passes in a Slotted Block That Lift out and Turn, with Neon Edges and a Floating Print",
   "description": "ID badges cut from clear acrylic stand in a slotted block and the one you pick lifts out and turns to face you. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/clear-acrylic-id-passes-in-a-slotted-block-that-lift-out-and-turn-with-neon-edges-and-a-floating-print.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "click-ripples-on-still-dark-water-canvas-background",
   "type": "registry:block",
   "title": "Click Ripples on Still Dark Water",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/click-ripples-on-still-dark-water-canvas-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "click-to-edit-page-with-inlaid-pieces-you-lift-out-of-lit-sockets-and-turn-over-in-the-air",
   "type": "registry:block",
   "title": "Click-to-Edit Page with Inlaid Pieces You Lift Out of Lit Sockets and Turn Over in the Air",
   "description": "Visual editing demo in 3D: lift the photo, headline or button out of a page and blue light shows in the empty socket. Free React code and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/click-to-edit-page-with-inlaid-pieces-you-lift-out-of-lit-sockets-and-turn-over-in-the-air.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "clip-path-typewriter-for-proportional-serif-headlines",
   "type": "registry:component",
   "title": "Clip-Path Typewriter for Serif Headlines",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/clip-path-typewriter-for-proportional-serif-headlines.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "clocking-in-card-rack-team-section-where-a-time-card-slides-out-with-a-stapled-portrait-and-is-stamped-with-the-hour",
   "type": "registry:block",
   "title": "Clocking in Card Rack Team Section Where a Time Card Slides out with a Stapled Portrait and Is Stamped with the Hour",
   "description": "Team section of manila time cards in a steel rack: pull one and it slides out with a stapled portrait and the hour stamped in. Free React and HTML code.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/clocking-in-card-rack-team-section-where-a-time-card-slides-out-with-a-stapled-portrait-and-is-stamped-with-the-hour.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cloth-bound-book-spine-chapter-menu-where-the-chosen-volume-leaves-the-shelf-and-opens-at-its-chapter",
   "type": "registry:block",
   "title": "Cloth Bound Book Spine Chapter Menu Where the Chosen Volume Leaves the Shelf and Opens at Its Chapter",
   "description": "Chapter menu drawn as a shelf of cloth bound books: pick a spine and that volume is pulled out and opened. Copy the React and Tailwind code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/cloth-bound-book-spine-chapter-menu-where-the-chosen-volume-leaves-the-shelf-and-opens-at-its-chapter.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "code-snippet-typing-animation-with-syntax-colours",
   "type": "registry:component",
   "title": "Code Snippet Typing with Syntax Colours",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/code-snippet-typing-animation-with-syntax-colours.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "coffee-cup-spot-illustration-with-slow-rising-steam",
   "type": "registry:component",
   "title": "Coffee Cup Spot Illustration with Rising Steam",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/coffee-cup-spot-illustration-with-slow-rising-steam.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "collapsible-icon-rail-sidebar-that-expands",
   "type": "registry:component",
   "title": "Collapsible Icon Rail Sidebar That Expands",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/collapsible-icon-rail-sidebar-that-expands.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "coloured-pencil-roll-colour-picker-where-the-chosen-pencil-slides-out-of-its-canvas-pocket-and-scribbles-a-swatch",
   "type": "registry:component",
   "title": "Coloured Pencil Roll Colour Picker Where the Chosen Pencil Slides out of Its Canvas Pocket and Scribbles a Swatch",
   "description": "Colour picker drawn as a canvas pencil roll: the pencil you choose slides out of its pocket and hatches a swatch on a card. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/coloured-pencil-roll-colour-picker-where-the-chosen-pencil-slides-out-of-its-canvas-pocket-and-scribbles-a-swatch.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "comet-cursor-trail-drawn-on-one-canvas",
   "type": "registry:block",
   "title": "Comet Cursor Trail on Canvas",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/comet-cursor-trail-drawn-on-one-canvas.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "community-garden-season-infographic-with-drawn-icons",
   "type": "registry:component",
   "title": "Community Garden Season Infographic",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/community-garden-season-infographic-with-drawn-icons.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "compact-dots-stepper-for-mobile",
   "type": "registry:component",
   "title": "Compact Dots Stepper for Mobile",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/compact-dots-stepper-for-mobile.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "concert-ticket-tilt-with-foil-seal-and-stub",
   "type": "registry:block",
   "title": "Concert Ticket Tilt With Foil Seal and Stub",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/concert-ticket-tilt-with-foil-seal-and-stub.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "concertina-fold-photo-book-carousel-that-opens-flat-at-the-centre",
   "type": "registry:block",
   "title": "Concertina Fold Photo Book Carousel That Opens Flat at the Centre",
   "description": "Carousel shaped like a concertina photo book: zigzag panels stand up and the one pulled to the middle opens flat. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/concertina-fold-photo-book-carousel-that-opens-flat-at-the-centre.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "constellation-network-particle-background-with-depth-fade",
   "type": "registry:block",
   "title": "Constellation Network with Depth Fade",
   "description": "Free constellation particle background in plain canvas: thin links between nearby points, depth fade and a pause off screen. React and vanilla versions.",
   "files": [
    {
     "path": "components/we-inc/constellation-network-particle-background-with-depth-fade.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "contact-form-with-floating-labels-html-css",
   "type": "registry:block",
   "title": "Contact Form With Floating Labels in HTML and CSS",
   "description": "Free contact form in HTML and CSS with floating labels, :user-invalid error styling, messages tied by aria-describedby, and a React and Tailwind version.",
   "files": [
    {
     "path": "components/we-inc/contact-form-with-floating-labels-html-css.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "context-cursor-caret-over-text-ring-over-buttons",
   "type": "registry:block",
   "title": "Context Cursor With Caret and Ring",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/context-cursor-caret-over-text-ring-over-buttons.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "copy-to-clipboard-icon-that-crossfades-into-a-check",
   "type": "registry:component",
   "title": "Copy to Clipboard Icon That Turns Into a Check",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/copy-to-clipboard-icon-that-crossfades-into-a-check.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cork-board-testimonials-with-pinned-portrait-postcards-that-swing-unpin-and-turn-over-to-a-handwritten-note",
   "type": "registry:block",
   "title": "Cork Board Testimonials with Pinned Portrait Postcards That Swing, Unpin and Turn over to a Handwritten Note",
   "description": "Testimonial board of portrait postcards on map pins: they sway when brushed, then unpin and turn over to a handwritten note. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/cork-board-testimonials-with-pinned-portrait-postcards-that-swing-unpin-and-turn-over-to-a-handwritten-note.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "corrugated-cardboard-parcel-with-printed-paper-tape-that-peels-back-and-four-flaps-that-fold-open-over-a-folded-jumper",
   "type": "registry:block",
   "title": "Corrugated Cardboard Parcel with Printed Paper Tape That Peels Back and Four Flaps That Fold Open over a Folded Jumper",
   "description": "Unboxing animation in CSS 3D: printed tape peels off a carton, the flaps fold open and tissue parts over a jumper. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/corrugated-cardboard-parcel-with-printed-paper-tape-that-peels-back-and-four-flaps-that-fold-open-over-a-folded-jumper.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "course-rows-with-a-photo-band-splitting-open",
   "type": "registry:block",
   "title": "Course Rows With A Splitting Photo Band",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/course-rows-with-a-photo-band-splitting-open.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cover-flow-record-slider-with-centre-focus",
   "type": "registry:block",
   "title": "Cover Flow Record Slider With Centre Focus",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/cover-flow-record-slider-with-centre-focus.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "crt-monitor-preview-frame-that-warms-up-with-scanlines-a-degauss-wobble-and-a-collapsing-power-off",
   "type": "registry:component",
   "title": "CRT Monitor Preview Frame That Warms Up with Scanlines, a Degauss Wobble and a Collapsing Power Off",
   "description": "Device frame shaped like a tube monitor: your page sits behind scan lines while the set warms up, degausses and powers down. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/crt-monitor-preview-frame-that-warms-up-with-scanlines-a-degauss-wobble-and-a-collapsing-power-off.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "crt-phosphor-flicker-headline-amber-terminal",
   "type": "registry:block",
   "title": "CRT Phosphor Flicker Headline",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/crt-phosphor-flicker-headline-amber-terminal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-animated-backgrounds-gradient-mesh-dot-grid-spotlight-aurora-and-grain",
   "type": "registry:block",
   "title": "CSS Animated Background Set: Gradient Mesh, Dot Grid Spotlight, Aurora and Grain",
   "description": "Free animated background set in pure CSS: drifting gradient mesh, dot grid spotlight, aurora bands and film grain. React and Tailwind, no canvas.",
   "files": [
    {
     "path": "components/we-inc/css-animated-backgrounds-gradient-mesh-dot-grid-spotlight-aurora-and-grain.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-button-styles-collection-with-copyable-html-and-css-for-every-button",
   "type": "registry:component",
   "title": "137 CSS Button Styles You Can Copy",
   "description": "Free collection of 137 CSS buttons in 18 families: 3D, glass, gradient, brutalist, loading and more. Each one copies as plain HTML and CSS.",
   "files": [
    {
     "path": "components/we-inc/css-button-styles-collection-with-copyable-html-and-css-for-every-button.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-gradient-backgrounds-collection-with-mesh-grain-patterns-and-copy-css",
   "type": "registry:block",
   "title": "100 CSS Gradient Backgrounds to Copy: Mesh, Grain, Patterns and Aurora",
   "description": "Free CSS gradient backgrounds: 108 linear, radial, conic, mesh, grain, pattern and aurora styles. Copy plain CSS or a Tailwind class in one click.",
   "files": [
    {
     "path": "components/we-inc/css-gradient-backgrounds-collection-with-mesh-grain-patterns-and-copy-css.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-gradient-border-collection-with-rounded-corners-animated-glow-and-copyable-css-or-tailwind",
   "type": "registry:block",
   "title": "CSS Gradient Border: 12 Techniques with Rounded Corners and Glow",
   "description": "Free CSS gradient border examples: border-image, padding-box, mask, SVG stroke, glow and rotating conic edges, plus Tailwind versions. Copy each one as shown.",
   "files": [
    {
     "path": "components/we-inc/css-gradient-border-collection-with-rounded-corners-animated-glow-and-copyable-css-or-tailwind.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-hamburger-menu-collection-with-12-animated-icons-and-accessible-mobile-nav",
   "type": "registry:block",
   "title": "CSS Hamburger Menu Collection with 12 Animated Icons and an Accessible Mobile Nav",
   "description": "Free CSS hamburger menu set: 12 animated icons, a slide-in drawer, a dropdown and a no-JavaScript checkbox menu, plus a React and Tailwind version to copy.",
   "files": [
    {
     "path": "components/we-inc/css-hamburger-menu-collection-with-12-animated-icons-and-accessible-mobile-nav.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-loaders-and-spinners-collection-with-copyable-html-and-css",
   "type": "registry:component",
   "title": "117 CSS Loaders and Spinners You Can Copy",
   "description": "Free collection of 117 pure CSS loaders in 10 families: spinners, dots, bars, progress bars, skeleton screens, text loaders and gradient rings.",
   "files": [
    {
     "path": "components/we-inc/css-loaders-and-spinners-collection-with-copyable-html-and-css.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-only-stacking-cards-with-scroll-timeline",
   "type": "registry:block",
   "title": "CSS Only Stacking Cards With Scroll Timeline",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/css-only-stacking-cards-with-scroll-timeline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-tabs-collection-with-radio-target-and-accessible-aria-tabs-in-six-styles",
   "type": "registry:block",
   "title": "CSS Tabs Collection with Radio, :target and Accessible ARIA Tabs in Six Styles",
   "description": "Free CSS tabs in six styles: radio button tabs and :target tabs with no JavaScript, plus WAI-ARIA tabs with arrow keys. Live demos and copyable HTML and CSS.",
   "files": [
    {
     "path": "components/we-inc/css-tabs-collection-with-radio-target-and-accessible-aria-tabs-in-six-styles.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-text-effects-and-hover-animations-collection-with-copyable-css-for-every-effect",
   "type": "registry:component",
   "title": "112 CSS Text Effects and Hover Animations",
   "description": "112 pure CSS text effects and hover animations: gradient text, outlines, 3D shadows, typewriters, underline, image and card hovers. Copy each one.",
   "files": [
    {
     "path": "components/we-inc/css-text-effects-and-hover-animations-collection-with-copyable-css-for-every-effect.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "css-toggle-switch-collection-with-15-styles-on-a-real-checkbox-sizes-disabled-and-rtl",
   "type": "registry:block",
   "title": "CSS Toggle Switch Collection with 15 Styles on a Real Checkbox, Sizes, Disabled and RTL",
   "description": "Free CSS toggle switches in 15 styles, each a native checkbox with role=switch. Pick small, medium or large, try disabled and right to left, then copy the code.",
   "files": [
    {
     "path": "components/we-inc/css-toggle-switch-collection-with-15-styles-on-a-real-checkbox-sizes-disabled-and-rtl.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "currency-total-counter-ticking-dollars-and-cents",
   "type": "registry:component",
   "title": "Currency Total Counter With Cents",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/currency-total-counter-ticking-dollars-and-cents.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "custom-scrollbar-css-collection-with-cross-browser-styles-hidden-scrollbar-and-tailwind",
   "type": "registry:block",
   "title": "Custom Scrollbar CSS: 11 Cross-Browser Styles",
   "description": "Free custom scrollbar CSS you can scroll and copy: thin, pill, floating, hover-reveal, dark, horizontal and hidden bars, plus Tailwind versions without a plugin.",
   "files": [
    {
     "path": "components/we-inc/custom-scrollbar-css-collection-with-cross-browser-styles-hidden-scrollbar-and-tailwind.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "cycle-shop-revenue-share-stacked-area-by-layers",
   "type": "registry:component",
   "title": "Revenue Share Stacked Area Chart",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/cycle-shop-revenue-share-stacked-area-by-layers.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-mode-toggle-light-dark-system-segmented",
   "type": "registry:component",
   "title": "Dark Mode Toggle Light Dark System Segmented",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dark-mode-toggle-light-dark-system-segmented.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-mode-toggle-morphing-sun-to-moon-icon-button",
   "type": "registry:component",
   "title": "Dark Mode Toggle Morphing Sun To Moon Icon Button",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dark-mode-toggle-morphing-sun-to-moon-icon-button.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-mode-toggle-sun-and-moon-switch",
   "type": "registry:component",
   "title": "Dark Mode Toggle Sun And Moon Switch",
   "description": "Free dark mode toggle switch with a sliding sun and moon knob that follows the device setting, recolours its block and works with the keyboard.",
   "files": [
    {
     "path": "components/we-inc/dark-mode-toggle-sun-and-moon-switch.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-mode-toggle-switch-in-react-and-tailwind-with-system-setting-and-four-styles",
   "type": "registry:component",
   "title": "Dark Mode Toggle Switch in React and Tailwind with System Setting and Four Styles",
   "description": "Free dark mode toggle switch for React and Tailwind: four styles, follows the system setting and remembers the choice. Copy the code and paste it.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/dark-mode-toggle-switch-in-react-and-tailwind-with-system-setting-and-four-styles.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-mode-toggle-with-live-page-preview",
   "type": "registry:component",
   "title": "Dark Mode Toggle With Live Page Preview",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dark-mode-toggle-with-live-page-preview.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-product-feature-cards-stacking-on-scroll",
   "type": "registry:block",
   "title": "Dark Product Feature Cards Stacking on Scroll",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/dark-product-feature-cards-stacking-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dark-sidebar-with-workspace-switcher-and-user-footer",
   "type": "registry:component",
   "title": "Dark Sidebar With Workspace Switcher and User Footer",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dark-sidebar-with-workspace-switcher-and-user-footer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dashboard-layouts-collection-with-ten-copyable-react-tailwind-admin-screens",
   "type": "registry:block",
   "title": "Dashboard UI Layouts: 10 Copyable React and Tailwind Admin Screens",
   "description": "Free Tailwind dashboard templates: ten full admin screens with sidebar, KPI cards, SVG charts and data tables. Copy a screen or one block as React or HTML.",
   "files": [
    {
     "path": "components/we-inc/dashboard-layouts-collection-with-ten-copyable-react-tailwind-admin-screens.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "data-corruption-text-resolving-into-headline",
   "type": "registry:block",
   "title": "Data Corruption Text Resolving",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/data-corruption-text-resolving-into-headline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dawn-blur-fade-word-by-word-reveal",
   "type": "registry:block",
   "title": "Dawn Blur Fade Word by Word",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dawn-blur-fade-word-by-word-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dawn-sky-gradient-slowly-brightening-background",
   "type": "registry:block",
   "title": "Dawn Sky Gradient That Slowly Brightens",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dawn-sky-gradient-slowly-brightening-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "deep-sea-teal-mesh-gradient-background",
   "type": "registry:block",
   "title": "Deep Sea Teal Mesh Gradient",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/deep-sea-teal-mesh-gradient-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "desert-heat-haze-background-with-a-shimmering-horizon-and-mesas",
   "type": "registry:block",
   "title": "Desert Heat Haze Horizon",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/desert-heat-haze-background-with-a-shimmering-horizon-and-mesas.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "desk-spike-testimonials-with-handwritten-note-slips-that-lift-off-one-steel-spindle-and-drop-onto-another",
   "type": "registry:block",
   "title": "Desk Spike Testimonials with Handwritten Note Slips That Lift off One Steel Spindle and Drop onto Another",
   "description": "Testimonial stack of handwritten slips with stapled portraits: each lifts off one desk spike, faces you, then drops onto another. Free React and HTML code.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/desk-spike-testimonials-with-handwritten-note-slips-that-lift-off-one-steel-spindle-and-drop-onto-another.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "details-summary-accordion-with-smooth-open-css",
   "type": "registry:block",
   "title": "Details Summary Accordion With Smooth Open",
   "description": "Free HTML and CSS accordion built on details and summary: no JavaScript, a smooth open with interpolate-size, a turning chevron and a React version.",
   "files": [
    {
     "path": "components/we-inc/details-summary-accordion-with-smooth-open-css.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "difference-blend-dot-cursor-inverting-big-type",
   "type": "registry:block",
   "title": "Difference Blend Dot Cursor",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/difference-blend-dot-cursor-inverting-big-type.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "docs-sidebar-with-section-headings",
   "type": "registry:component",
   "title": "Docs Sidebar With Section Headings",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/docs-sidebar-with-section-headings.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "document-toolbar-icons-that-animate-on-hover-focus-and-tap",
   "type": "registry:component",
   "title": "Document Toolbar Icons That Animate on Hover",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/document-toolbar-icons-that-animate-on-hover-focus-and-tap.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "domain-name-plate-marked-out-in-blue-then-hand-stamped-with-steel-punches-and-screwed-down",
   "type": "registry:block",
   "title": "Domain Name Plate Marked Out in Blue Then Hand-Stamped with Steel Punches and Screwed Down",
   "description": "Domain field on a canvas: the name is marked out in blue on a steel plate, punched letter by letter and screwed down. Copy the React code or HTML free.",
   "files": [
    {
     "path": "components/we-inc/domain-name-plate-marked-out-in-blue-then-hand-stamped-with-steel-punches-and-screwed-down.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dot-grid-fabric-background-that-presses-and-springs-under-the-pointer",
   "type": "registry:block",
   "title": "Dot Grid Fabric",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dot-grid-fabric-background-that-presses-and-springs-under-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dot-matrix-grid-with-a-travelling-band-of-light",
   "type": "registry:component",
   "title": "Dot Matrix with Travelling Light",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dot-matrix-grid-with-a-travelling-band-of-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "doughnut-box-product-grid-with-nine-photographed-doughnuts-in-paper-cases-and-a-windowed-lid-that-slides-off",
   "type": "registry:block",
   "title": "Doughnut Box Product Grid with Nine Photographed Doughnuts in Paper Cases and a Windowed Lid That Slides off",
   "description": "Product grid drawn as a bakery box: photographed doughnuts in paper cases, a windowed lid that slides off and a running total. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/doughnut-box-product-grid-with-nine-photographed-doughnuts-in-paper-cases-and-a-windowed-lid-that-slides-off.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "drag-to-scroll-weekly-timetable-row-with-snap",
   "type": "registry:block",
   "title": "Drag to Scroll Weekly Timetable Row with Snap",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/drag-to-scroll-weekly-timetable-row-with-snap.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "drifting-topographic-contour-lines-at-dawn-background",
   "type": "registry:component",
   "title": "Drifting Contour Lines at Dawn",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/drifting-topographic-contour-lines-at-dawn-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "drifting-wave-section-divider-top-and-bottom",
   "type": "registry:block",
   "title": "Drifting Wave Section Divider",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/drifting-wave-section-divider-top-and-bottom.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "dust-motes-drifting-in-a-shaft-of-sunlight-background",
   "type": "registry:block",
   "title": "Dust Motes in a Sunlight Shaft",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/dust-motes-drifting-in-a-shaft-of-sunlight-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "e-paper-display-key-that-flashes-and-redraws-its-own-label-when-pressed",
   "type": "registry:component",
   "title": "E-Paper Display Key That Flashes and Redraws Its Own Label When Pressed",
   "description": "Key cap with a simulated e-ink screen: press it and the panel flashes, redraws its label and fills a progress row. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/e-paper-display-key-that-flashes-and-redraws-its-own-label-when-pressed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "eased-inertia-scroll-inside-one-reading-panel",
   "type": "registry:block",
   "title": "Eased Inertia Scroll Inside One Reading Panel",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/eased-inertia-scroll-inside-one-reading-panel.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "eased-ring-cursor-that-grows-and-snaps-to-links",
   "type": "registry:block",
   "title": "Eased Ring Cursor That Snaps to Links",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/eased-ring-cursor-that-grows-and-snaps-to-links.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ebony-and-ivory-domino-spiral-that-topples-tile-by-tile-with-real-contact-physics-and-stands-back-up",
   "type": "registry:component",
   "title": "Ebony and Ivory Domino Spiral That Topples Tile by Tile with Real Contact Physics and Stands Back Up",
   "description": "Domino run on a canvas: tiles stand in a spiral, topple in a chain when you push one and rise again on request. Copy the React code or the HTML free.",
   "files": [
    {
     "path": "components/we-inc/ebony-and-ivory-domino-spiral-that-topples-tile-by-tile-with-real-contact-physics-and-stands-back-up.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "edit-sentence-that-gathers-into-a-bead-of-wet-paint-and-falls-onto-a-lacquered-page-model",
   "type": "registry:block",
   "title": "Edit Sentence That Gathers into a Bead of Wet Paint and Falls onto a Lacquered Page Model",
   "description": "Demo of editing a site by saying it: the sentence gathers into a bead of paint that falls onto a page model and spreads. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/edit-sentence-that-gathers-into-a-bead-of-wet-paint-and-falls-onto-a-lacquered-page-model.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "email-recipient-tag-input-that-validates-each-address",
   "type": "registry:component",
   "title": "Email Recipient Tag Input That Validates Each Address",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/email-recipient-tag-input-that-validates-each-address.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ember-glow-rising-mesh-gradient-background",
   "type": "registry:block",
   "title": "Ember Glow Rising Mesh",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ember-glow-rising-mesh-gradient-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "embossing-label-maker-with-a-letter-wheel-that-punches-status-badges-into-glossy-tape",
   "type": "registry:block",
   "title": "Embossing Label Maker with a Letter Wheel That Punches Status Badges into Glossy Tape",
   "description": "Status badges made by a label maker: a letter wheel spins to each characterand punches it into glossy tape. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/embossing-label-maker-with-a-letter-wheel-that-punches-status-badges-into-glossy-tape.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "empty-inbox-state-with-tray-and-paper-plane-drawing",
   "type": "registry:component",
   "title": "Empty Inbox State with Tray and Paper Plane",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/empty-inbox-state-with-tray-and-paper-plane-drawing.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "enamel-house-name-plate-screwed-to-a-sunlit-painted-door-where-a-typed-address-sets-letter-by-letter-and-a-blue-dot-lights",
   "type": "registry:block",
   "title": "Enamel House Name Plate Screwed to a Sunlit Painted Door Where a Typed Address Sets Letter by Letter and a Blue Dot Lights",
   "description": "Free React and WebGL domain input: each typed letter is set into a white enamel plate on a sunlit black door, then a brass screw drives home and a blue dot lights.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/enamel-house-name-plate-screwed-to-a-sunlit-painted-door-where-a-typed-address-sets-letter-by-letter-and-a-blue-dot-lights.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "enamel-kitchen-timer-you-twist-to-set-that-ticks-down-a-held-booking-and-rings",
   "type": "registry:block",
   "title": "Enamel Kitchen Timer You Twist to Set That Ticks Down a Held Booking and Rings",
   "description": "Countdown drawn as a wind-up kitchen timer: twist to set the minutes, watch it tick back to zero, then it shakes and rings. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/enamel-kitchen-timer-you-twist-to-set-that-ticks-down-a-held-booking-and-rings.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "enamel-lever-billing-switch-in-webgl-on-sunlit-terrazzo-that-throws-over-centre-between-monthly-and-yearly",
   "type": "registry:component",
   "title": "Enamel Lever Billing Switch in WebGL on Sunlit Terrazzo That Throws Over Centre Between Monthly and Yearly",
   "description": "Free React billing toggle: a red enamel lever on a cream plate, ray-marched in WebGL on sunlit terrazzo, that snaps over centre between monthly and yearly.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/enamel-lever-billing-switch-in-webgl-on-sunlit-terrazzo-that-throws-over-centre-between-monthly-and-yearly.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "enamel-platform-sign-breadcrumbs-hanging-from-rail-trolleys-that-roll-away-swinging-when-you-step-back-up-the-trail",
   "type": "registry:component",
   "title": "Enamel Platform Sign Breadcrumbs Hanging from Rail Trolleys That Roll Away Swinging When You Step Back Up the Trail",
   "description": "Breadcrumb trail of enamel signs on rail trolleys: step back a level and the deeper signs roll away, swinging on their chains. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/enamel-platform-sign-breadcrumbs-hanging-from-rail-trolleys-that-roll-away-swinging-when-you-step-back-up-the-trail.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "engraved-steel-membership-card-that-turns-on-its-edge-and-catches-a-fixed-lamp-in-its-lettering",
   "type": "registry:block",
   "title": "Engraved Steel Membership Card That Turns on Its Edge and Catches a Fixed Lamp in Its Lettering",
   "description": "Membership card in brushed steel: engraved lettering flares under a fixed lamp as you spin it on its edge. Copy the React code or the HTML version free.",
   "files": [
    {
     "path": "components/we-inc/engraved-steel-membership-card-that-turns-on-its-edge-and-catches-a-fixed-lamp-in-its-lettering.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "espresso-circle-preloader-that-shrinks-into-the-brand-dot",
   "type": "registry:block",
   "title": "Espresso Circle Shrink Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/espresso-circle-preloader-that-shrinks-into-the-brand-dot.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "expanding-bread-recipe-step-panels-with-notes",
   "type": "registry:block",
   "title": "Expanding Bread Recipe Step Panels With Notes",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/expanding-bread-recipe-step-panels-with-notes.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "expanding-class-panels-as-keyboard-tabs",
   "type": "registry:block",
   "title": "Expanding Class Panels as Keyboard Tabs",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/expanding-class-panels-as-keyboard-tabs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "expanding-product-colourway-panels-with-swatches",
   "type": "registry:block",
   "title": "Expanding Product Colourway Panels With Swatches",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/expanding-product-colourway-panels-with-swatches.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "expanding-team-portrait-panels-with-bios",
   "type": "registry:block",
   "title": "Expanding Team Portrait Panels With Bios",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/expanding-team-portrait-panels-with-bios.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "expanding-travel-destination-photo-panels",
   "type": "registry:block",
   "title": "Expanding Travel Destination Photo Panels",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/expanding-travel-destination-photo-panels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "eyeshadow-palette-trio-picker-with-pressed-powder-pans-that-keep-your-fingerprint-and-swipe-swatches-onto-a-card",
   "type": "registry:block",
   "title": "Eyeshadow Palette Trio Picker with Pressed Powder Pans That Keep Your Fingerprint and Swipe Swatches onto a Card",
   "description": "Eyeshadow palette on a canvas: pressed powder pans keep a fingerprint where you press, and your picks are swiped onto a card. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/eyeshadow-palette-trio-picker-with-pressed-powder-pans-that-keep-your-fingerprint-and-swipe-swatches-onto-a-card.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "falling-snow-particle-background-with-depth-and-wind-gusts",
   "type": "registry:block",
   "title": "Falling Snow with Depth and Gusts",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/falling-snow-particle-background-with-depth-and-wind-gusts.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "faq-accordion-in-react-beside-an-opal-glass-globe-lamp-in-webgl-that-glows-brighter-as-each-answer-opens",
   "type": "registry:block",
   "title": "FAQ Accordion in React Beside an Opal Glass Globe Lamp in WebGL That Glows Brighter as Each Answer Opens",
   "description": "Free React FAQ accordion with aria-expanded buttons, smooth height and one or many open, beside a WebGL opal glass lamp that brightens per answer.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/faq-accordion-in-react-beside-an-opal-glass-globe-lamp-in-webgl-that-glows-brighter-as-each-answer-opens.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "faq-accordion-with-plus-minus-icon",
   "type": "registry:block",
   "title": "FAQ Accordion With Plus Minus Icon",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/faq-accordion-with-plus-minus-icon.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "fashion-print-carousel-in-webgl-with-standing-prints-that-rock-on-their-corners-over-a-mirror-floor",
   "type": "registry:block",
   "title": "Fashion Print Carousel in WebGL with Standing Prints That Rock on Their Corners over a Mirror Floor",
   "description": "3D carousel in raw WebGL: tall fashion prints stand on a polished floor with reflections and soft shadows, and rock when moved. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/fashion-print-carousel-in-webgl-with-standing-prints-that-rock-on-their-corners-over-a-mirror-floor.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "feature-list-staggered-fade-up-on-scroll",
   "type": "registry:block",
   "title": "Feature List Staggered Fade Up",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/feature-list-staggered-fade-up-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "feedback-form-with-radio-rating-scale",
   "type": "registry:component",
   "title": "Feedback Form With Radio Rating Scale",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/feedback-form-with-radio-rating-scale.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "felt-letter-board-prompt-box-where-typed-plastic-letters-drop-out-of-the-grooves-and-a-homepage-is-set-in-their-place",
   "type": "registry:block",
   "title": "Felt Letter Board Prompt Box Where Typed Plastic Letters Drop Out of the Grooves and a Homepage Is Set in Their Place",
   "description": "Prompt box built as a felt letter board: each key pushes a plastic letter into the groovesand Enter sets a homepage. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/felt-letter-board-prompt-box-where-typed-plastic-letters-drop-out-of-the-grooves-and-a-homepage-is-set-in-their-place.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ferry-departure-board-rows-scramble-into-place",
   "type": "registry:block",
   "title": "Ferry Departure Board Rows Scramble Into Place",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ferry-departure-board-rows-scramble-into-place.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ferry-footer-wordmark-on-split-flap-tiles",
   "type": "registry:block",
   "title": "Ferry Footer With Split-Flap Wordmark",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ferry-footer-wordmark-on-split-flap-tiles.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "figure-badge-inside-layered-ink-blob",
   "type": "registry:block",
   "title": "Figure Badge Inside Layered Ink Blob",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/figure-badge-inside-layered-ink-blob.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "file-sync-status-icons-uploading-synced-offline-and-error",
   "type": "registry:component",
   "title": "File Sync Status Icons With Retry",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/file-sync-status-icons-uploading-synced-offline-and-error.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "file-upload-list-with-per-file-progress-bars",
   "type": "registry:component",
   "title": "File Upload List With Per File Progress Bars",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/file-upload-list-with-per-file-progress-bars.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "film-clapperboard-call-to-action-with-sticks-that-snap-shut-chalked-scene-details-and-a-running-timecode-countdown",
   "type": "registry:block",
   "title": "Film Clapperboard Call to Action with Sticks That Snap Shut, Chalked Scene Details and a Running Timecode Countdown",
   "description": "Clapperboard on a canvas: the stick snaps shut, chalk dust jumps and a timecode window counts down frame by frame. Copy the React code or the HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/film-clapperboard-call-to-action-with-sticks-that-snap-shut-chalked-scene-details-and-a-running-timecode-countdown.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "film-colour-wash-gradient-with-grain-background",
   "type": "registry:block",
   "title": "Film Colour Wash With Grain",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/film-colour-wash-gradient-with-grain-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "film-grain-and-flicker-over-a-foggy-photo-hero",
   "type": "registry:block",
   "title": "Film Grain and Flicker Over a Foggy Photo Hero",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/film-grain-and-flicker-over-a-foggy-photo-hero.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "film-rewind-bench-loader-that-winds-stock-between-two-reels-with-a-rolling-counter",
   "type": "registry:block",
   "title": "Film Rewind Bench Loader That Winds Stock Between Two Reels with a Rolling Counter",
   "description": "Film reel loader on a canvas: stock winds from one reel to the other while a mechanical drum counter rolls up. Free React code and an HTML version to copy.",
   "files": [
    {
     "path": "components/we-inc/film-rewind-bench-loader-that-winds-stock-between-two-reels-with-a-rolling-counter.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "finger-written-words-in-window-condensation-that-drip-fog-over-and-wipe-clear",
   "type": "registry:component",
   "title": "Finger-Written Words in Window Condensation That Drip, Fog Over and Wipe Clear",
   "description": "Canvas text effect: a line is written by fingertip on a misted window, drops run from the letters and dragging wipes the glass. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/finger-written-words-in-window-condensation-that-drip-fog-over-and-wipe-clear.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "fireflies-over-a-dusk-meadow-particle-background",
   "type": "registry:block",
   "title": "Fireflies over a Dusk Meadow",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/fireflies-over-a-dusk-meadow-particle-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "flick-away-stacked-card-deck-slider-with-momentum",
   "type": "registry:component",
   "title": "Flick Away Stacked Card Deck Slider",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/flick-away-stacked-card-deck-slider-with-momentum.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "floating-dandelion-seeds-and-pollen-particle-background",
   "type": "registry:block",
   "title": "Floating Dandelion Seeds and Pollen",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/floating-dandelion-seeds-and-pollen-particle-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "floating-product-photo-rising-over-its-backdrop-on-scroll",
   "type": "registry:block",
   "title": "Floating Product Photo Rising Over Its Backdrop on Scroll",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/floating-product-photo-rising-over-its-backdrop-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "floor-plan-lights-each-room-on-scroll",
   "type": "registry:block",
   "title": "Floor Plan Lights Each Room",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/floor-plan-lights-each-room-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "floppy-drive-save-indicator-with-a-disk-that-slides-in-a-flickering-busy-lamp-and-a-spring-eject",
   "type": "registry:component",
   "title": "Floppy Drive Save Indicator with a Disk That Slides In, a Flickering Busy Lamp and a Spring Eject",
   "description": "Save indicator on a canvas: a disk is pushed into a drive, a lamp flickers while it writes, then the disk springs back out. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/floppy-drive-save-indicator-with-a-disk-that-slides-in-a-flickering-busy-lamp-and-a-spring-eject.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "flower-words-in-a-sentence-opening-photo-windows",
   "type": "registry:block",
   "title": "Flower Words Opening Photo Windows",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/flower-words-in-a-sentence-opening-photo-windows.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "folded-paper-street-map-that-unfolds-panel-by-panel-with-creases-and-a-pin-that-drops-in",
   "type": "registry:block",
   "title": "Folded Paper Street Map That Unfolds Panel by Panel with Creases and a Pin That Drops In",
   "description": "Location section built as a pocket street plan: paper panels unfold on springs, keep their creases, and a red pin drops in. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/folded-paper-street-map-that-unfolds-panel-by-panel-with-creases-and-a-pin-that-drops-in.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "folded-paper-tag-faq-hung-on-brass-hooks-in-ray-marched-sunlight-where-each-tag-drops-open-to-show-its-printed-answer",
   "type": "registry:block",
   "title": "Folded Paper Tag FAQ Hung on Brass Hooks in Ray Marched Sunlight Where Each Tag Drops Open to Show Its Printed Answer",
   "description": "Free React FAQ: folded card tags on brass hooks in WebGL sunlight. Press one and its flap drops open on its crease to show the printed answer.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/folded-paper-tag-faq-hung-on-brass-hooks-in-ray-marched-sunlight-where-each-tag-drops-open-to-show-its-printed-answer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "footer-sign-off-logo-that-draws-on-entry",
   "type": "registry:component",
   "title": "Footer Sign-Off Logo That Draws on Entry",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/footer-sign-off-logo-that-draws-on-entry.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "forest-curtain-preloader-that-lifts-with-a-curved-edge",
   "type": "registry:block",
   "title": "Forest Curved Curtain Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/forest-curtain-preloader-that-lifts-with-a-curved-edge.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "forest-panels-that-slide-in-layer-by-layer-over-the-page",
   "type": "registry:block",
   "title": "Forest Panels That Slide In Layer by Layer",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/forest-panels-that-slide-in-layer-by-layer-over-the-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "form-error-and-warning-icons-that-draw-and-nudge-once",
   "type": "registry:component",
   "title": "Form Error and Warning Icons That Draw",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/form-error-and-warning-icons-that-draw-and-nudge-once.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "form-sent-envelope-that-seals-and-shows-a-check",
   "type": "registry:component",
   "title": "Form Sent Envelope That Seals With a Check",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/form-sent-envelope-that-seals-and-shows-a-check.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "four-digit-pin-input-with-masked-dots",
   "type": "registry:component",
   "title": "Four Digit PIN Input With Masked Dots",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/four-digit-pin-input-with-masked-dots.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "four-wheel-brass-combination-cable-lock-code-input-with-rings-that-click-round-and-a-cable-that-springs-free",
   "type": "registry:component",
   "title": "Four-Wheel Brass Combination Cable Lock Code Input with Rings That Click Round and a Cable That Springs Free",
   "description": "One-time-code input drawn as a bike cable lock: type, roll or drag the brass number rings and the cable springs free when right. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/four-wheel-brass-combination-cable-lock-code-input-with-rings-that-click-round-and-a-cable-that-springs-free.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "framed-homepage-print-hung-on-a-nail-by-picture-wire-that-swings-settles-crooked-and-is-straightened",
   "type": "registry:block",
   "title": "Framed Homepage Print Hung on a Nail by Picture Wire That Swings, Settles Crooked and Is Straightened",
   "description": "Showcase piece: a homepage print in an oak frame drops onto a nail, swings on its wire, rests crooked and is set level. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/framed-homepage-print-hung-on-a-nail-by-picture-wire-that-swings-settles-crooked-and-is-straightened.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "framed-portrait-testimonials-in-webgl-with-a-leaning-two-sided-frame-that-swings-on-its-corner-and-claps-back-onto-a-sunlit-wall",
   "type": "registry:block",
   "title": "Framed Portrait Testimonials in WebGL with a Leaning Two-Sided Frame That Swings on Its Corner and Claps Back onto a Sunlit Wall",
   "description": "Free testimonial section in raw WebGL: a framed portrait leans on a sunlit wall beside a huge quote, and swings round like a door to show the next speaker.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/framed-portrait-testimonials-in-webgl-with-a-leaning-two-sided-frame-that-swings-on-its-corner-and-claps-back-onto-a-sunlit-wall.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "free-scroll-plant-strip-that-coasts-then-springs",
   "type": "registry:block",
   "title": "Free Scroll Plant Strip That Coasts Then Springs",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/free-scroll-plant-strip-that-coasts-then-springs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "frosted-window-pane-over-a-photograph-that-thaws-under-a-warm-fingertip-and-freezes-over-again",
   "type": "registry:block",
   "title": "Frosted Window Pane over a Photograph That Thaws Under a Warm Fingertip and Freezes Over Again",
   "description": "Image reveal in WebGL: window frost hides a photograph, melts where the pointer rubs, beads with water and freezes over again. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/frosted-window-pane-over-a-photograph-that-thaws-under-a-warm-fingertip-and-freezes-over-again.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "full-bleed-hero-slider-with-parallax-photos",
   "type": "registry:block",
   "title": "Full Bleed Hero Slider With Parallax Photos",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/full-bleed-hero-slider-with-parallax-photos.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "full-width-snap-slides-with-project-name-tabs",
   "type": "registry:block",
   "title": "Full Width Snap Slides with Project Name Tabs",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/full-width-snap-slides-with-project-name-tabs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "furniture-restoration-timeline-with-stages-lighting-in-turn",
   "type": "registry:component",
   "title": "Restoration Timeline With Stages Lighting Up",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/furniture-restoration-timeline-with-stages-lighting-in-turn.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "garden-shop-orders-line-chart-that-draws-left-to-right",
   "type": "registry:component",
   "title": "Garden Shop Orders Line Chart That Draws",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/garden-shop-orders-line-chart-that-draws-left-to-right.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "geometric-block-mark-slides-together-in-hero-corner",
   "type": "registry:component",
   "title": "Geometric Block Mark Sliding Together",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/geometric-block-mark-slides-together-in-hero-corner.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gift-card-with-a-silver-scratch-off-panel-a-brass-coin-and-foil-crumbs-that-scatter-as-you-rub",
   "type": "registry:block",
   "title": "Gift Card with a Silver Scratch off Panel, a Brass Coin and Foil Crumbs That Scatter as You Rub",
   "description": "Scratch card on a canvas: rub the silver panel of a gift card with a brass coin and the foil comes off in streaks and crumbs. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/gift-card-with-a-silver-scratch-off-panel-a-brass-coin-and-foil-crumbs-that-scatter-as-you-rub.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gilt-edged-show-ticket-card-in-webgl-with-hot-foil-that-catches-a-softbox-as-it-tilts-over-blue-lacquer",
   "type": "registry:block",
   "title": "Gilt-Edged Show Ticket Card in WebGL with Hot Foil That Catches a Softbox as It Tilts over Blue Lacquer",
   "description": "Free React 3D card in raw WebGL: a thick show ticket with a fashion photograph, gold foil that lights up under a softbox, gilt edges, a shadow and a mirror floor.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/gilt-edged-show-ticket-card-in-webgl-with-hot-foil-that-catches-a-softbox-as-it-tilts-over-blue-lacquer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glass-prism-that-splits-a-beam-carrying-one-sentence-into-a-homepage-made-of-light",
   "type": "registry:block",
   "title": "Glass Prism That Splits a Beam Carrying One Sentence into a Homepage Made of Light",
   "description": "A torch holding one sentence fires a beam into a glass prism, and the fan of blue light paints a homepage band by band. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/glass-prism-that-splits-a-beam-carrying-one-sentence-into-a-homepage-made-of-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glass-rain-gauge-progress-meter-that-fills-drop-by-drop-with-a-meniscus-and-tips-out-when-full",
   "type": "registry:component",
   "title": "Glass Rain Gauge Progress Meter That Fills Drop by Drop with a Meniscus and Tips Out When Full",
   "description": "Progress meter drawn as a glass rain gauge: drops land, the water rises against a printed scale and a tap pours it out. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/glass-rain-gauge-progress-meter-that-fills-drop-by-drop-with-a-meniscus-and-tips-out-when-full.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glass-test-tube-rack-bar-chart-with-dyed-liquid-that-rises-sloshes-and-settles-on-each-value",
   "type": "registry:component",
   "title": "Glass Test Tube Rack Bar Chart with Dyed Liquid That Rises, Sloshes and Settles on Each Value",
   "description": "Bar chart drawn as glass test tubes in a rack: dyed liquid climbs to each value, sloshes, bubbles and settles. Copy the React code or the HTML free.",
   "files": [
    {
     "path": "components/we-inc/glass-test-tube-rack-bar-chart-with-dyed-liquid-that-rises-sloshes-and-settles-on-each-value.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glass-tube-border-feature-card-in-webgl-with-a-warm-bead-of-light-that-runs-the-edge-and-warms-the-sunlit-table",
   "type": "registry:block",
   "title": "Glass Tube Border Feature Card in WebGL with a Warm Bead of Light That Runs the Edge and Warms the Sunlit Table",
   "description": "Free animated border card: a bead of warm light runs through a glass tube bent around a feature card on a sunlit oak table, faster under the pointer.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/glass-tube-border-feature-card-in-webgl-with-a-warm-bead-of-light-that-runs-the-edge-and-warms-the-sunlit-table.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glassmorphism-card-css-with-frosted-navbar-login-panel-and-stat-chips-over-a-photo",
   "type": "registry:block",
   "title": "Glassmorphism Card CSS with Frosted Navbar, Login Panel and Stat Chips over a Photo",
   "description": "Free glassmorphism CSS in React and Tailwind: a frosted glass card, glass navbar, login panel and stat chips over a photo, with a solid fallback built in.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/glassmorphism-card-css-with-frosted-navbar-login-panel-and-stat-chips-over-a-photo.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glazed-celadon-ceramic-button-with-carved-lettering-that-rocks-under-the-finger",
   "type": "registry:component",
   "title": "Glazed Celadon Ceramic Button with Carved Lettering That Rocks Under the Finger",
   "description": "Button fired in celadon glaze on a canvas: carved letters where the green pools, a crackle net and a rock under the finger. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/glazed-celadon-ceramic-button-with-carved-lettering-that-rocks-under-the-finger.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glazed-ceramic-tile-tabs-in-webgl-leaning-on-a-sunlit-plaster-shelf-where-the-chosen-tile-rocks-upright-into-the-window-light",
   "type": "registry:block",
   "title": "Glazed Ceramic Tile Tabs in WebGL Leaning on a Sunlit Plaster Shelf Where the Chosen Tile Rocks Upright into the Window Light",
   "description": "Free React tabs drawn in WebGL: four thick glazed tiles lean on a sunlit plaster shelf and the one you pick rocks upright into the light.",
   "files": [
    {
     "path": "components/we-inc/glazed-ceramic-tile-tabs-in-webgl-leaning-on-a-sunlit-plaster-shelf-where-the-chosen-tile-rocks-upright-into-the-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glazed-stoneware-app-dock-in-webgl-on-a-milled-aluminium-tray-where-icons-magnify-lift-and-bounce-in-daylight",
   "type": "registry:component",
   "title": "Glazed Stoneware App Dock in WebGL on a Milled Aluminium Tray Where Icons Magnify Lift and Bounce in Daylight",
   "description": "Free React dock drawn in WebGL: six glazed stoneware icons in a milled aluminium tray that swell, lift and hop under the pointer in daylight.",
   "files": [
    {
     "path": "components/we-inc/glazed-stoneware-app-dock-in-webgl-on-a-milled-aluminium-tray-where-icons-magnify-lift-and-bounce-in-daylight.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glazed-stoneware-jar-pricing-in-webgl-where-the-chosen-jar-rocks-forward-on-a-pastel-shelf-and-fills-with-honey",
   "type": "registry:block",
   "title": "Glazed Stoneware Jar Pricing in WebGL Where the Chosen Jar Rocks Forward on a Pastel Shelf and Fills with Honey",
   "description": "Free React pricing section in raw WebGL: three glazed stoneware jars on a mint shelf in window light; the chosen jar rocks forward and fills with honey.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/glazed-stoneware-jar-pricing-in-webgl-where-the-chosen-jar-rocks-forward-on-a-pastel-shelf-and-fills-with-honey.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glossy-photo-print-that-peels-off-a-second-photograph-with-a-lit-curling-underside",
   "type": "registry:block",
   "title": "Glossy Photo Print That Peels Off a Second Photograph with a Lit Curling Underside",
   "description": "Page peel between photos: a glossy print curls up from its corner after the pointer, shows its lit back and comes away. Free React code and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/glossy-photo-print-that-peels-off-a-second-photograph-with-a-lit-curling-underside.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "glowing-plankton-in-deep-water-particle-background",
   "type": "registry:block",
   "title": "Glowing Plankton in Deep Water",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/glowing-plankton-in-deep-water-particle-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gold-powder-compact-that-opens-on-a-sprung-hinge-to-a-mirror-reflecting-a-portrait-over-embossed-pressed-powder",
   "type": "registry:block",
   "title": "Gold Powder Compact That Opens on a Sprung Hinge to a Mirror Reflecting a Portrait over Embossed Pressed Powder",
   "description": "Powder compact painted on a canvas: the gold lid swings up on a sprung hinge to a mirror with a portrait and pressed powder. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/gold-powder-compact-that-opens-on-a-sprung-hinge-to-a-mirror-reflecting-a-portrait-over-embossed-pressed-powder.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gradient-border-css-input-focus-ring",
   "type": "registry:component",
   "title": "Gradient Border CSS Input Focus Ring",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/gradient-border-css-input-focus-ring.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gradient-border-css-mask-composite-transparent-outline",
   "type": "registry:component",
   "title": "Gradient Border CSS Mask Composite Transparent Outline",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/gradient-border-css-mask-composite-transparent-outline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gradient-border-css-outline-buttons-with-gradient-text",
   "type": "registry:component",
   "title": "Gradient Border CSS Outline Buttons With Gradient Text",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/gradient-border-css-outline-buttons-with-gradient-text.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gradient-border-css-rotating-conic-animated-border",
   "type": "registry:component",
   "title": "Gradient Border CSS Rotating Conic Animated Border",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/gradient-border-css-rotating-conic-animated-border.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gradient-border-css-rounded-cards-with-padding-box-trick",
   "type": "registry:block",
   "title": "Gradient Border CSS Rounded Cards With Padding Box Trick",
   "description": "Free gradient border CSS that keeps border-radius: three course cards using the padding-box and border-box background trick, in plain CSS and Tailwind.",
   "files": [
    {
     "path": "components/we-inc/gradient-border-css-rounded-cards-with-padding-box-trick.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "graphite-shutter-preloader-for-an-architecture-practice",
   "type": "registry:block",
   "title": "Graphite Shutter Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/graphite-shutter-preloader-for-an-architecture-practice.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "graphite-split-halves-that-close-over-the-page",
   "type": "registry:block",
   "title": "Graphite Split Halves That Close Over the Page",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/graphite-split-halves-that-close-over-the-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "grid-thumbnail-grows-into-the-detail-photo",
   "type": "registry:block",
   "title": "Grid Thumbnail Grows Into the Detail Photo",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/grid-thumbnail-grows-into-the-detail-photo.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "grid-tiles-light-up-under-pointer",
   "type": "registry:block",
   "title": "Grid Tiles Light Up Under the Pointer",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/grid-tiles-light-up-under-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "grouped-otp-input-with-separator-and-resend-timer",
   "type": "registry:component",
   "title": "Grouped OTP Input With Separator and Resend Timer",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/grouped-otp-input-with-separator-and-resend-timer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "guarded-toggle-switch-row-with-red-flip-up-safety-covers-you-lift-before-each-switch-will-arm",
   "type": "registry:component",
   "title": "Guarded Toggle Switch Row with Red Flip-Up Safety Covers You Lift Before Each Switch Will Arm",
   "description": "Toggle row styled as a cockpit panel: each switch sits under a red hinged cover you must lift first, so nothing arms by accident. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/guarded-toggle-switch-row-with-red-flip-up-safety-covers-you-lift-before-each-switch-will-arm.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "guitar-fretboard-capo-slider-with-wound-strings-that-ring-as-standing-waves",
   "type": "registry:component",
   "title": "Guitar Fretboard Capo Slider with Wound Strings That Ring as Standing Waves",
   "description": "Stepped slider drawn as a guitar neck: slide a capo between frets and the strings ring as standing waves over a range input. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/guitar-fretboard-capo-slider-with-wound-strings-that-ring-as-standing-waves.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "gumball-machine-with-a-crank-you-turn-that-drops-a-glossy-ball-down-the-chute",
   "type": "registry:component",
   "title": "Gumball Machine with a Crank You Turn That Drops a Glossy Ball Down the Chute",
   "description": "Canvas gumball machine: turn the chrome handle a full circle and a gumball drops down the chute and rolls across the table. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/gumball-machine-with-a-crank-you-turn-that-drops-a-glossy-ball-down-the-chute.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hairline-rule-line-rise-text-reveal",
   "type": "registry:block",
   "title": "Hairline Rule Line Rise",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hairline-rule-line-rise-text-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hamburger-icon-that-morphs-into-an-x",
   "type": "registry:component",
   "title": "Hamburger Icon That Morphs Into an X",
   "description": "Free hamburger menu in HTML, CSS and React: three lines turn into an X on a real button with aria-expanded, the menu drops below and Escape closes it.",
   "files": [
    {
     "path": "components/we-inc/hamburger-icon-that-morphs-into-an-x.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hamburger-icon-with-two-line-asymmetric-morph",
   "type": "registry:component",
   "title": "Hamburger Icon With Two-Line Asymmetric Morph",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hamburger-icon-with-two-line-asymmetric-morph.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hamburger-menu-as-a-phone-bottom-sheet",
   "type": "registry:component",
   "title": "Hamburger Menu as a Phone Bottom Sheet",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hamburger-menu-as-a-phone-bottom-sheet.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hamburger-menu-with-full-width-dropdown-panel",
   "type": "registry:component",
   "title": "Hamburger Menu With Full-Width Dropdown Panel",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hamburger-menu-with-full-width-dropdown-panel.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hamburger-menu-with-slide-in-drawer-from-the-right",
   "type": "registry:component",
   "title": "Hamburger Menu With Slide-In Drawer From the Right",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hamburger-menu-with-slide-in-drawer-from-the-right.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hand-drawn-underline-drawing-under-one-word",
   "type": "registry:component",
   "title": "Hand-Drawn Underline Under One Word",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hand-drawn-underline-drawing-under-one-word.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hand-gilded-shop-fascia-headline-where-gold-leaf-is-laid-brushed-off-and-burnished",
   "type": "registry:component",
   "title": "Hand-Gilded Shop Fascia Headline Where Gold Leaf Is Laid, Brushed Off and Burnished",
   "description": "Canvas text effect: a painted shop fascia whose name is gilded as you watch, with gold leaf laid, brushed off and burnished. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/hand-gilded-shop-fascia-headline-where-gold-leaf-is-laid-brushed-off-and-burnished.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "handheld-catching-game-laid-out-in-parts-on-a-cutting-mat-that-slide-together-and-can-be-played",
   "type": "registry:component",
   "title": "Handheld Catching Game Laid out in Parts on a Cutting Mat That Slide Together and Can Be Played",
   "description": "A pocket LCD game laid out in parts on a cutting mat: shell, display, buttons and screws slide together, then you can play it. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/handheld-catching-game-laid-out-in-parts-on-a-cutting-mat-that-slide-together-and-can-be-played.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "handwritten-word-drawn-by-pen-stroke-svg",
   "type": "registry:block",
   "title": "Handwritten Word Drawn by Pen Stroke",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/handwritten-word-drawn-by-pen-stroke-svg.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hanging-garment-bag-scroll-reveal-with-a-brass-zip-that-parts-waxed-canvas-over-a-photograph",
   "type": "registry:block",
   "title": "Hanging Garment Bag Scroll Reveal with a Brass Zip That Parts Waxed Canvas over a Photograph",
   "description": "Scroll reveal on a canvas: a waxed canvas garment bag hangs from a peg and its brass zip opens as you scroll or drag. Copy the React code or HTML free.",
   "files": [
    {
     "path": "components/we-inc/hanging-garment-bag-scroll-reveal-with-a-brass-zip-that-parts-waxed-canvas-over-a-photograph.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hanging-photo-mobile-with-balanced-wire-arms-and-prints-that-turn-in-the-air",
   "type": "registry:block",
   "title": "Hanging Photo Mobile with Balanced Wire Arms and Prints That Turn in the Air",
   "description": "Photo mobile with prints on balanced wire arms: they sway and turn on their threads, and the whole thing tips when you pull one. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/hanging-photo-mobile-with-balanced-wire-arms-and-prints-that-turn-in-the-air.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "headline-lines-rise-from-masks-on-scroll",
   "type": "registry:block",
   "title": "Headline Lines Rise From Masks",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/headline-lines-rise-from-masks-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "headline-rows-skew-with-scroll-speed",
   "type": "registry:block",
   "title": "Headline Rows Skew With Scroll Speed",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/headline-rows-skew-with-scroll-speed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "heat-shimmer-desert-gradient-background",
   "type": "registry:block",
   "title": "Heat Shimmer Desert Gradient",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/heat-shimmer-desert-gradient-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "heavy-glass-perfume-bottle-you-tilt-with-amber-liquid-that-stays-level-and-a-gold-stopper-that-lifts-out",
   "type": "registry:block",
   "title": "Heavy Glass Perfume Bottle You Tilt with Amber Liquid That Stays Level and a Gold Stopper That Lifts Out",
   "description": "Perfume bottle on a canvas: tilt the thick glass and the amber liquid stays level and sloshes, while the gold stopper lifts out. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/heavy-glass-perfume-bottle-you-tilt-with-amber-liquid-that-stays-level-and-a-gold-stopper-that-lifts-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hero-corner-with-two-tinted-css-blobs",
   "type": "registry:block",
   "title": "Hero Corner With Two Tinted CSS Blobs",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hero-corner-with-two-tinted-css-blobs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hero-number-counter-with-motion-blur-on-fast-digits",
   "type": "registry:component",
   "title": "Hero Number Counter With Motion Blur",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/hero-number-counter-with-motion-blur-on-fast-digits.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hexagon-logo-settles-from-scattered-parts-on-sign-in",
   "type": "registry:component",
   "title": "Hexagon Logo Settling From Scattered Parts",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hexagon-logo-settles-from-scattered-parts-on-sign-in.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "highlighter-moves-down-a-recipe-card-per-step",
   "type": "registry:block",
   "title": "Highlighter Moves Down A Recipe Card",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/highlighter-moves-down-a-recipe-card-per-step.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "horizontal-card-deck-stacking-sideways-in-pinned-section",
   "type": "registry:block",
   "title": "Horizontal Card Deck Stacking Sideways in a Pinned Section",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/horizontal-card-deck-stacking-sideways-in-pinned-section.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "horizontal-numbered-stepper-with-back-and-next",
   "type": "registry:component",
   "title": "Horizontal Numbered Stepper With Back and Next",
   "description": "Free stepper component in React and plain HTML: numbered steps joined by lines that fill as you go, real Back and Next buttons and aria-current on the step.",
   "files": [
    {
     "path": "components/we-inc/horizontal-numbered-stepper-with-back-and-next.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hotel-do-not-disturb-door-hanger-card-that-swings-on-a-brass-knob-and-flips-to-make-up-my-room",
   "type": "registry:block",
   "title": "Hotel Do Not Disturb Door Hanger Card That Swings on a Brass Knob and Flips to Make up My Room",
   "description": "Door hanger card that swings from a brass knob as a pendulum, lifts clear when pressed and flips in 3D to its other message. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/hotel-do-not-disturb-door-hanger-card-that-swings-on-a-brass-knob-and-flips-to-make-up-my-room.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hotel-keycard-door-lock-switch-with-a-card-that-dips-into-the-reader-a-lamp-that-turns-green-and-a-lever-that-drops",
   "type": "registry:component",
   "title": "Hotel Keycard Door Lock Switch with a Card That Dips into the Reader, a Lamp That Turns Green and a Lever That Drops",
   "description": "Lock switch drawn as a hotel door lock: a key card dips into the reader, the lamp turns green and the chrome lever drops. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/hotel-keycard-door-lock-switch-with-a-card-that-dips-into-the-reader-a-lamp-that-turns-green-and-a-lever-that-drops.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hotel-room-cards-sliding-to-a-second-view",
   "type": "registry:block",
   "title": "Hotel Room Cards Sliding To A Second View",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/hotel-room-cards-sliding-to-a-second-view.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hotel-room-key-and-enamel-fob-on-a-brass-ring-that-swing-and-knock-together",
   "type": "registry:block",
   "title": "Hotel Room Key and Enamel Fob on a Brass Ring That Swing and Knock Together",
   "description": "Pendulum piece with a brass room key and an enamel fob on one ring: they swing at their own speeds and knock when they meet. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/hotel-room-key-and-enamel-fob-on-a-brass-ring-that-swing-and-knock-together.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "hover-and-focus-glitch-menu-links",
   "type": "registry:block",
   "title": "Hover and Focus Glitch Menu Links",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/hover-and-focus-glitch-menu-links.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-3d-pressed-button-with-solid-edge",
   "type": "registry:component",
   "title": "HTML CSS 3D Pressed Button With Solid Edge",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-3d-pressed-button-with-solid-edge.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-arrow-link-button-with-sliding-underline",
   "type": "registry:component",
   "title": "HTML CSS Arrow Link Button With Sliding Underline",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-arrow-link-button-with-sliding-underline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-button-set-with-primary-secondary-outline-ghost-icon-loading-and-destructive-styles",
   "type": "registry:component",
   "title": "HTML CSS Button Set with Primary, Secondary, Outline, Ghost, Icon, Loading and Destructive Styles",
   "description": "Free HTML CSS button set: primary, secondary, outline, ghost, destructive, icon and loading buttons in three sizes, with hover, press, focus and disabled states.",
   "files": [
    {
     "path": "components/we-inc/html-css-button-set-with-primary-secondary-outline-ghost-icon-loading-and-destructive-styles.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-button-solid-outline-ghost-with-hover-active-disabled-states",
   "type": "registry:component",
   "title": "HTML CSS Button Solid Outline Ghost With Hover Active Disabled States",
   "description": "Free HTML CSS buttons in solid, outline and ghost styles, each with hover, pressed, keyboard focus and disabled states, in commented CSS and React.",
   "files": [
    {
     "path": "components/we-inc/html-css-button-solid-outline-ghost-with-hover-active-disabled-states.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-gradient-border-button-on-dark",
   "type": "registry:component",
   "title": "HTML CSS Gradient Border Button On Dark",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-gradient-border-button-on-dark.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-loading-spinner-button-with-busy-state",
   "type": "registry:component",
   "title": "HTML CSS Loading Spinner Button With Busy State",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-loading-spinner-button-with-busy-state.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-pill-button-with-leading-icon-and-trailing-arrow",
   "type": "registry:component",
   "title": "HTML CSS Pill Button With Leading Icon And Trailing Arrow",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-pill-button-with-leading-icon-and-trailing-arrow.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-round-icon-only-buttons-in-a-player",
   "type": "registry:component",
   "title": "HTML CSS Round Icon Only Buttons In A Player",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-round-icon-only-buttons-in-a-player.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-css-segmented-button-group",
   "type": "registry:component",
   "title": "HTML CSS Segmented Button Group",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/html-css-segmented-button-group.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "html-form-examples-collection-with-every-input-type-and-copyable-html-css-or-tailwind",
   "type": "registry:block",
   "title": "HTML Form Examples with Every Input Type, Copyable as HTML + CSS or Tailwind",
   "description": "Free HTML form examples: contact, signup, login, checkout, booking, survey and more, covering every input type. Copy each as HTML with CSS or as Tailwind.",
   "files": [
    {
     "path": "components/we-inc/html-form-examples-collection-with-every-input-type-and-copyable-html-css-or-tailwind.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "image-card-zoom-with-caption-sliding-up",
   "type": "registry:block",
   "title": "Image Card Zoom With Caption Sliding Up",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/image-card-zoom-with-caption-sliding-up.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "index-card-checklist-where-a-pencil-draws-each-tick-in-graphite-and-its-eraser-rubs-it-out",
   "type": "registry:block",
   "title": "Index Card Checklist Where a Pencil Draws Each Tick in Graphite and Its Eraser Rubs It Out",
   "description": "Checklist on a ruled index card: a pencil ticks and strikes each line in grainy graphite, then turns round and rubs it out. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/index-card-checklist-where-a-pencil-draws-each-tick-in-graphite-and-its-eraser-rubs-it-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ink-bleed-on-paper-text-reveal",
   "type": "registry:block",
   "title": "Ink Bleed on Paper Reveal",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ink-bleed-on-paper-text-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ink-cloud-blooming-in-water-background",
   "type": "registry:block",
   "title": "Ink Cloud Blooming in Water",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ink-cloud-blooming-in-water-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ink-dot-cursor-trail-fading-over-stationery-hero",
   "type": "registry:block",
   "title": "Ink Dot Cursor Trail",
   "description": "Free cursor trail of fading ink dots behind a stationery hero. Plain HTML, CSS and JS or React, with touch ink blots, keyboard handling and reduced motion support.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/ink-dot-cursor-trail-fading-over-stationery-hero.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ink-drop-progress-indicator-that-blooms-through-a-glass-of-water-one-drop-per-step",
   "type": "registry:component",
   "title": "Ink Drop Progress Indicator That Blooms Through a Glass of Water, One Drop per Step",
   "description": "Progress indicator on a canvas: a dropper lets ink fall into a glass of water, each drop blooms and the water darkens per step. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/ink-drop-progress-indicator-that-blooms-through-a-glass-of-water-one-drop-per-step.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ink-editorial-section-with-grain-and-breathing-vignette",
   "type": "registry:block",
   "title": "Ink Editorial Section With Grain and Breathing Vignette",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ink-editorial-section-with-grain-and-breathing-vignette.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ink-overlay-with-numbered-rows-that-draw-their-rules",
   "type": "registry:block",
   "title": "Ink Overlay With Numbered Rows That Draw Their Rules",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ink-overlay-with-numbered-rows-that-draw-their-rules.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "inline-definition-tooltips-with-help-icon",
   "type": "registry:component",
   "title": "Inline Definition Tooltips With Help Icon",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/inline-definition-tooltips-with-help-icon.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "inline-newsletter-form-html-css",
   "type": "registry:block",
   "title": "Inline Newsletter Form in HTML and CSS",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/inline-newsletter-form-html-css.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "instant-camera-that-ejects-photos-you-shake-to-develop",
   "type": "registry:block",
   "title": "Instant Camera That Ejects Photos You Shake to Develop",
   "description": "Press the shutter and a photo feeds out of the camera, lands on the table and develops while you drag and shake it. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/instant-camera-that-ejects-photos-you-shake-to-develop.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "interior-room-gallery-with-captions-after-settle",
   "type": "registry:block",
   "title": "Interior Room Gallery With Captions After Settle",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/interior-room-gallery-with-captions-after-settle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "intro-card-where-logo-lifts-and-name-rises",
   "type": "registry:component",
   "title": "Intro Card Where the Logo Lifts and the Name Rises",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/intro-card-where-logo-lifts-and-name-rises.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "iridescent-pearl-sheen-gradient-background",
   "type": "registry:block",
   "title": "Iridescent Pearl Sheen",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/iridescent-pearl-sheen-gradient-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "isometric-cube-field-with-a-rolling-ripple-of-light",
   "type": "registry:component",
   "title": "Isometric Cube Field with Light Ripple",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/isometric-cube-field-with-a-rolling-ripple-of-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "jacket-layers-separate-into-exploded-view-on-scroll",
   "type": "registry:block",
   "title": "Jacket Layers Separate On Scroll",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/jacket-layers-separate-into-exploded-view-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "kinetic-type-line-stretching-with-scroll",
   "type": "registry:block",
   "title": "Kinetic Type Line Stretching With Scroll",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/kinetic-type-line-stretching-with-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "kitchen-order-rail-notifications-with-printed-paper-tickets-that-slide-under-a-steel-rail-swing-and-pull-off",
   "type": "registry:block",
   "title": "Kitchen Order Rail Notifications with Printed Paper Tickets That Slide Under a Steel Rail, Swing and Pull Off",
   "description": "Notification stack styled as a kitchen order rail: paper tickets slide under a steel rail, swing like paper and drop when pulled. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/kitchen-order-rail-notifications-with-printed-paper-tickets-that-slide-under-a-steel-rail-swing-and-pull-off.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "knitted-scarf-project-timeline-that-knits-one-wool-stripe-per-step-as-each-ball-of-yarn-runs-out",
   "type": "registry:component",
   "title": "Knitted Scarf Project Timeline That Knits One Wool Stripe per Step as Each Ball of Yarn Runs Out",
   "description": "Stepper on a canvas: a scarf on needles gains a wool stripe for every project step while that step's ball of yarn runs out. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/knitted-scarf-project-timeline-that-knits-one-wool-stripe-per-step-as-each-ball-of-yarn-runs-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "kpi-gauge-card-with-a-ray-marched-cream-enamel-dial-damped-red-needle-domed-glass-and-chrome-bezel-on-a-sunlit-desk",
   "type": "registry:block",
   "title": "KPI Gauge Card with a Ray-Marched Cream Enamel Dial, Damped Red Needle, Domed Glass and Chrome Bezel on a Sunlit Desk",
   "description": "Free React KPI card beside a WebGL desk gauge: cream enamel dial, red needle that swings with real damping, domed glass, chrome bezel and window sunlight.",
   "files": [
    {
     "path": "components/we-inc/kpi-gauge-card-with-a-ray-marched-cream-enamel-dial-damped-red-needle-domed-glass-and-chrome-bezel-on-a-sunlit-desk.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "label-cursor-reading-view-drag-or-play-on-cards",
   "type": "registry:block",
   "title": "Label Cursor for View, Drag and Play",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/label-cursor-reading-view-drag-or-play-on-cards.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "labelled-linear-progress-bar-with-value",
   "type": "registry:component",
   "title": "Labelled Linear Progress Bar With Value",
   "description": "Free Tailwind progress bar with a label, percentage and role progressbar, filled with a scaleX transform, in React and plain HTML, CSS and JavaScript.",
   "files": [
    {
     "path": "components/we-inc/labelled-linear-progress-bar-with-value.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "landing-page-hero-section-with-a-cast-resin-app-window-catching-a-shaft-of-sun-on-an-ultramarine-sweep",
   "type": "registry:block",
   "title": "Landing Page Hero Section with a Cast Resin App Window Catching a Shaft of Sun on an Ultramarine Sweep",
   "description": "Free React hero section: headline, two calls to action and a trust line beside a WebGL slab of amber resin shaped like an app window, lit by low sun.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/landing-page-hero-section-with-a-cast-resin-app-window-catching-a-shaft-of-sun-on-an-ultramarine-sweep.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "lathe-turned-metal-dial-switch-with-detents-and-light-that-stays-put",
   "type": "registry:component",
   "title": "Lathe-Turned Metal Dial Switch with Detents and Light That Stays Put",
   "description": "Rotary switch on a canvas: a turned aluminium dial with a knurled grip clicks between stops while the reflections hold still. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/lathe-turned-metal-dial-switch-with-detents-and-light-that-stays-put.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "lava-lamp-background-with-soft-wax-rising-and-sinking-in-warm-glass",
   "type": "registry:block",
   "title": "Lava Lamp Wax",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/lava-lamp-background-with-soft-wax-rising-and-sinking-in-warm-glass.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "layered-diagonal-stripe-bands-moving-at-three-depths",
   "type": "registry:component",
   "title": "Layered Diagonal Stripe Bands",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/layered-diagonal-stripe-bands-moving-at-three-depths.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "layered-mountain-landscape-hero-with-depth-parallax",
   "type": "registry:block",
   "title": "Layered Mountain Landscape Hero With Depth Parallax",
   "description": "Free parallax scrolling hero with drawn mountain ridges that slide at different depths behind the headline. React and plain HTML, CSS and JS versions.",
   "files": [
    {
     "path": "components/we-inc/layered-mountain-landscape-hero-with-depth-parallax.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "layered-paper-cut-word-with-a-photograph-drifting-behind-the-letters",
   "type": "registry:block",
   "title": "Layered Paper Cut Word with a Photograph Drifting Behind the Letters",
   "description": "Text effect with one word cut through stacked sheets of card, each cut a little wider, and a photograph drifting behind. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/layered-paper-cut-word-with-a-photograph-drifting-behind-the-letters.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "layered-plywood-relief-island-model-with-walking-routes-lit-bulb-by-bulb-on-a-walnut-plinth",
   "type": "registry:block",
   "title": "Layered Plywood Relief Island Model with Walking Routes Lit Bulb by Bulb on a Walnut Plinth",
   "description": "Relief model of an island cut from stacked plywood, drawn on a canvas, with walking routes that light up bulb by bulb. Free React code and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/layered-plywood-relief-island-model-with-walking-routes-lit-bulb-by-bulb-on-a-walnut-plinth.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "layered-sea-swell-waves-hero-with-foam-line",
   "type": "registry:block",
   "title": "Layered Sea Swell Waves with Foam Line",
   "description": "Free CSS wave animation: four layered sea swells roll along the bottom of a hero with a broken foam line. React, Tailwind and plain HTML, no canvas.",
   "files": [
    {
     "path": "components/we-inc/layered-sea-swell-waves-hero-with-foam-line.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "leather-luggage-tag-on-a-buckled-strap-with-rope-physics-you-can-drag-and-fling",
   "type": "registry:block",
   "title": "Leather Luggage Tag on a Buckled Strap with Rope Physics You Can Drag and Fling",
   "description": "Hanging card shaped as a leather luggage tag on a buckled strap: it swings from a peg, follows your drag and flies when flung. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/leather-luggage-tag-on-a-buckled-strap-with-rope-physics-you-can-drag-and-fling.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "letterpress-card-testimonials-in-webgl-pinned-with-brass-pins-to-a-linen-board-where-the-chosen-card-unpins-and-lifts-into-focus",
   "type": "registry:block",
   "title": "Letterpress Card Testimonials in WebGL Pinned with Brass Pins to a Linen Board Where the Chosen Card Unpins and Lifts into Focus",
   "description": "Free WebGL testimonial section: thick letterpress cards pinned to a sunlit linen board. The chosen card unpins and floats forward while the board falls soft.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/letterpress-card-testimonials-in-webgl-pinned-with-brass-pins-to-a-linen-board-where-the-chosen-card-unpins-and-lifts-into-focus.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "letterpress-footer-closing-line-leans-toward-pointer",
   "type": "registry:block",
   "title": "Letterpress Footer With Leaning Closing Line",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/letterpress-footer-closing-line-leans-toward-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "letters-cut-from-light-with-moving-rays",
   "type": "registry:block",
   "title": "Letters Cut From Light With Moving Rays",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/letters-cut-from-light-with-moving-rays.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "letters-flipping-into-place-in-3d",
   "type": "registry:component",
   "title": "Letters Flipping into Place in 3D",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/letters-flipping-into-place-in-3d.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "letters-rising-with-blur-to-sharp-text-animation",
   "type": "registry:component",
   "title": "Letters Rising with Blur to Sharp",
   "description": "Free CSS text animation where each letter rises from below and settles from a soft blur into sharp type. React and plain HTML versions, ready to paste.",
   "files": [
    {
     "path": "components/we-inc/letters-rising-with-blur-to-sharp-text-animation.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "library-date-due-card-and-pocket-event-list-that-a-self-inking-dater-stamps-row-by-row",
   "type": "registry:block",
   "title": "Library Date Due Card and Pocket Event List That a Self Inking Dater Stamps Row by Row",
   "description": "Event list drawn as a library date card in a manila pocket: a self-inking dater stamps each new date in rough ink. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/library-date-due-card-and-pocket-event-list-that-a-self-inking-dater-stamps-row-by-row.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "light-beams-through-fog-background-with-dust-glinting-in-the-shafts",
   "type": "registry:block",
   "title": "Light Beams Through Fog",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/light-beams-through-fog-background-with-dust-glinting-in-the-shafts.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "light-table-slide-gallery-with-a-glass-loupe-that-glides-between-mounted-transparencies",
   "type": "registry:block",
   "title": "Light Table Slide Gallery with a Glass Loupe That Glides Between Mounted Transparencies",
   "description": "Photo gallery laid out as slides on a light table: a loupe glides between them and enlarges what lies under it. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/light-table-slide-gallery-with-a-glass-loupe-that-glides-between-mounted-transparencies.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "lighthouse-beam-sweeping-through-sea-fog-background",
   "type": "registry:component",
   "title": "Lighthouse Beam Through Sea Fog",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/lighthouse-beam-sweeping-through-sea-fog-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "lighting-shop-footer-wordmark-tilts-under-a-pointer-lamp",
   "type": "registry:block",
   "title": "Lighting Shop Footer With Tilting Wordmark",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/lighting-shop-footer-wordmark-tilts-under-a-pointer-lamp.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "line-monogram-draws-then-fills-on-intro-card",
   "type": "registry:component",
   "title": "Line Monogram That Draws Then Fills",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/line-monogram-draws-then-fills-on-intro-card.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "linen-archive-box-photo-gallery-whose-lid-opens-into-an-easel-for-loose-prints",
   "type": "registry:block",
   "title": "Linen Archive Box Photo Gallery Whose Lid Opens into an Easel for Loose Prints",
   "description": "Photo gallery built as a cloth covered archive box: the hinged lid swings up and loose prints leave the tray to lean against it. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/linen-archive-box-photo-gallery-whose-lid-opens-into-an-easel-for-loose-prints.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "linen-mat-aperture-preloader-that-opens-to-the-edges",
   "type": "registry:block",
   "title": "Linen Mat Aperture Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/linen-mat-aperture-preloader-that-opens-to-the-edges.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "linen-weave-texture-under-slow-moving-lamp-background",
   "type": "registry:block",
   "title": "Linen Weave Under a Moving Lamp",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/linen-weave-texture-under-slow-moving-lamp-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "link-underline-sweeping-in-from-the-entry-side",
   "type": "registry:block",
   "title": "Link Underline Sweeping In From the Entry Side",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/link-underline-sweeping-in-from-the-entry-side.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "lipstick-shade-picker-with-a-bullet-that-twists-out-of-a-lacquer-and-gold-case-and-swipes-a-swatch-beside-it",
   "type": "registry:block",
   "title": "Lipstick Shade Picker with a Bullet That Twists Out of a Lacquer and Gold Case and Swipes a Swatch Beside It",
   "description": "Shade picker on a canvas: pick a colour and the bullet winds down into its gold case and returns to swipe a swatch. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/lipstick-shade-picker-with-a-bullet-that-twists-out-of-a-lacquer-and-gold-case-and-swipes-a-swatch-beside-it.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "liquid-fill-level-wave-background-with-progress-mask",
   "type": "registry:block",
   "title": "Liquid Fill Level Wave",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/liquid-fill-level-wave-background-with-progress-mask.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "liquid-fill-word-rising-to-a-level",
   "type": "registry:block",
   "title": "Liquid Fill Word Rising to a Level",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/liquid-fill-word-rising-to-a-level.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "list-rows-that-turn-into-marquee-bands-on-hover",
   "type": "registry:block",
   "title": "List Rows That Turn Into Marquee Bands On Hover",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/list-rows-that-turn-into-marquee-bands-on-hover.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "live-demo-counter-that-ticks-up-now-and-then",
   "type": "registry:component",
   "title": "Live Demo Counter That Ticks Up",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/live-demo-counter-that-ticks-up-now-and-then.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "logo-strip-marquee-with-soft-edge-fade",
   "type": "registry:block",
   "title": "Logo Strip Marquee With Soft Edge Fade",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/logo-strip-marquee-with-soft-edge-fade.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "louvred-window-shutters-toggle-that-tilt-their-slats-and-swing-open-onto-a-coastal-photograph",
   "type": "registry:component",
   "title": "Louvred Window Shutters Toggle That Tilt Their Slats and Swing Open onto a Coastal Photograph",
   "description": "Switch built as louvred shutters in a dark room: the slats tilt, the leaves swing out in 3D and daylight shows a photograph. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/louvred-window-shutters-toggle-that-tilt-their-slats-and-swing-open-onto-a-coastal-photograph.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "machined-aluminium-prompt-block-with-a-slot-that-swallows-a-typed-card-and-hands-back-a-printed-homepage",
   "type": "registry:block",
   "title": "Machined Aluminium Prompt Block with a Slot That Swallows a Typed Card and Hands Back a Printed Homepage",
   "description": "Prompt box drawn as an aluminium block: type on a card, the slot swallows it, a light pipe fills blue and a homepage rises out. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/machined-aluminium-prompt-block-with-a-slot-that-swallows-a-typed-card-and-hands-back-a-printed-homepage.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "magazine-stack-gallery-that-fans-out-across-the-table-and-lifts-the-chosen-issue-to-face-you",
   "type": "registry:block",
   "title": "Magazine Stack Gallery That Fans out Across the Table and Lifts the Chosen Issue to Face You",
   "description": "Gallery of magazines on a dark table: the pile slides into a fan and the issue you press is lifted and turned to face you. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/magazine-stack-gallery-that-fans-out-across-the-table-and-lifts-the-chosen-issue-to-face-you.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "magnetic-fridge-letters-you-can-drag-across-enamel-that-slide-back-to-spell-the-word",
   "type": "registry:component",
   "title": "Magnetic Fridge Letters You Can Drag Across Enamel That Slide Back to Spell the Word",
   "description": "Text effect with a word in plastic fridge magnets on an enamel door: drag a letter away and it skids, waits, then slides home. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/magnetic-fridge-letters-you-can-drag-across-enamel-that-slide-back-to-spell-the-word.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "magnetic-icon-buttons-in-a-floating-toolbar",
   "type": "registry:block",
   "title": "Magnetic Icon Buttons in a Floating Toolbar",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/magnetic-icon-buttons-in-a-floating-toolbar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "magnetic-pill-button-with-parallax-label",
   "type": "registry:block",
   "title": "Magnetic Pill Button With Parallax Label",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/magnetic-pill-button-with-parallax-label.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "magnetic-social-icon-row-in-studio-footer",
   "type": "registry:block",
   "title": "Magnetic Social Icon Row",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/magnetic-social-icon-row-in-studio-footer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "magnifier-loupe-cursor-over-a-seed-catalogue-price-list",
   "type": "registry:block",
   "title": "Magnifier Loupe Over a Price List",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/magnifier-loupe-cursor-over-a-seed-catalogue-price-list.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "main-slide-with-synced-draggable-thumbnail-strip",
   "type": "registry:component",
   "title": "Main Slide With Synced Draggable Thumbnail Strip",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/main-slide-with-synced-draggable-thumbnail-strip.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "manila-file-folder-tabs-in-a-steel-desk-rack-that-tip-forward-like-records-in-a-crate-to-show-the-chosen-file",
   "type": "registry:block",
   "title": "Manila File Folder Tabs in a Steel Desk Rack That Tip Forward like Records in a Crate to Show the Chosen File",
   "description": "Folder tabs in 3D: manila folders stand in a steel rack and tip forward like records in a crate to show the file you picked. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/manila-file-folder-tabs-in-a-steel-desk-rack-that-tip-forward-like-records-in-a-crate-to-show-the-chosen-file.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "marbled-paper-webgl-background-with-floating-inks-combed-into-feathers-on-a-wet-size-bath",
   "type": "registry:block",
   "title": "Marbled Paper WebGL Background with Floating Inks Combed into Feathers on a Wet Size Bath",
   "description": "Marbling background in WebGL: a shader floats inks on a wet bath, combs them into feathers and lets the pointer drag a stylus. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/marbled-paper-webgl-background-with-floating-inks-combed-into-feathers-on-a-wet-size-bath.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "marker-highlight-wiping-behind-a-phrase",
   "type": "registry:component",
   "title": "Marker Highlight Wiping Behind a Phrase",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/marker-highlight-wiping-behind-a-phrase.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "masked-strip-photo-transition-drag-slider-with-momentum",
   "type": "registry:component",
   "title": "Masked Strip Photo Transition Drag Slider",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/masked-strip-photo-transition-drag-slider-with-momentum.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "matchbook-faq-row-where-each-printed-cover-flips-up-off-its-comb-of-matches-to-show-the-answer-inside",
   "type": "registry:block",
   "title": "Matchbook FAQ Row Where Each Printed Cover Flips up off Its Comb of Matches to Show the Answer Inside",
   "description": "FAQ drawn as a row of bar matchbooks: press one and its printed cover swings up in 3D to show the answer inside. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/matchbook-faq-row-where-each-printed-cover-flips-up-off-its-comb-of-matches-to-show-the-answer-inside.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "matchbox-card-with-a-drawer-that-slides-out-and-a-photo-print-that-stands-up-from-the-matches",
   "type": "registry:block",
   "title": "Matchbox Card with a Drawer That Slides out and a Photo Print That Stands up from the Matches",
   "description": "3D card built as a matchbox: drag the drawer out of its sleeve and a photo print stands up from a bed of matches. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/matchbox-card-with-a-drawer-that-slides-out-and-a-photo-print-that-stands-up-from-the-matches.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mechanical-key-switch-cutaway-input-with-a-stem-coil-spring-and-copper-leaf-that-move-as-you-type",
   "type": "registry:component",
   "title": "Mechanical Key Switch Cutaway Input with a Stem, Coil Spring and Copper Leaf That Move as You Type",
   "description": "Text input with a sawn-open keyboard switch above it: each keystroke drives the stem down and closes the contacts. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/mechanical-key-switch-cutaway-input-with-a-stem-coil-spring-and-copper-leaf-that-move-as-you-type.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mechanical-stopwatch-with-a-crown-you-press-a-ticking-sweep-hand-and-a-flyback-reset",
   "type": "registry:component",
   "title": "Mechanical Stopwatch with a Crown You Press, a Ticking Sweep Hand and a Flyback Reset",
   "description": "Stopwatch drawn on a canvas: a chrome case and enamel dial, a crown you press to start and stop the hand, and a flyback reset. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/mechanical-stopwatch-with-a-crown-you-press-a-ticking-sweep-hand-and-a-flyback-reset.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mechanical-watch-movement-loader-with-swinging-balance-wheel-and-breathing-hairspring",
   "type": "registry:component",
   "title": "Mechanical Watch Movement Loader with Swinging Balance Wheel and Breathing Hairspring",
   "description": "Loader drawn on a canvas as a watch movement, with a swinging balance wheel, a breathing hairspring and a ticking escape wheel. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/mechanical-watch-movement-loader-with-swinging-balance-wheel-and-breathing-hairspring.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "medium-format-contact-sheet-gallery-where-a-red-grease-pencil-circles-the-keepers-and-the-last-pick-lands-as-a-work-print",
   "type": "registry:block",
   "title": "Medium Format Contact Sheet Gallery Where a Red Grease Pencil Circles the Keepers and the Last Pick Lands as a Work Print",
   "description": "Contact sheet gallery of square frames on film strips: red wax circles ring your picks and the last lands beside as a work print. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/medium-format-contact-sheet-gallery-where-a-red-grease-pencil-circles-the-keepers-and-the-last-pick-lands-as-a-work-print.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "menu-zooms-into-each-course-and-back-out",
   "type": "registry:block",
   "title": "Menu Zooms Into Each Course and Back Out",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/menu-zooms-into-each-course-and-back-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mirror-ball-on-a-chain-that-throws-drifting-flecks-of-coloured-light-across-a-portrait-print",
   "type": "registry:block",
   "title": "Mirror Ball on a Chain That Throws Drifting Flecks of Coloured Light Across a Portrait Print",
   "description": "A tiled mirror ball turns on its chain and scatters flecks of coloured light that reveal a portrait print in a dark room. Free React canvas code and HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/mirror-ball-on-a-chain-that-throws-drifting-flecks-of-coloured-light-across-a-portrait-print.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mobile-off-canvas-sidebar-with-overlay",
   "type": "registry:component",
   "title": "Mobile Off-Canvas Sidebar With Overlay",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/mobile-off-canvas-sidebar-with-overlay.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "momentum-card-rail-with-scaling-progress-bar",
   "type": "registry:block",
   "title": "Momentum Card Rail With Progress Bar",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/momentum-card-rail-with-scaling-progress-bar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "moon-phase-dial-date-picker-with-an-enamel-day-ring-you-turn-and-a-cratered-moon-lit-for-that-night",
   "type": "registry:component",
   "title": "Moon Phase Dial Date Picker with an Enamel Day Ring You Turn and a Cratered Moon Lit for That Night",
   "description": "Date picker built as a moon phase dial: turn the enamel day ring under a lens and a cratered moon is relit for that night. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/moon-phase-dial-date-picker-with-an-enamel-day-ring-you-turn-and-a-cratered-moon-lit-for-that-night.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "morphing-outline-ring-around-listen-button",
   "type": "registry:block",
   "title": "Morphing Outline Ring Around Listen Button",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/morphing-outline-ring-around-listen-button.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "motorised-mixing-desk-fader-with-led-meter-and-engraved-decibel-scale",
   "type": "registry:component",
   "title": "Motorised Mixing Desk Fader with LED Meter and Engraved Decibel Scale",
   "description": "Vertical fader on a canvas: a moulded cap rides a slot beside a segmented LED meter, with a native range input underneath. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/motorised-mixing-desk-fader-with-led-meter-and-engraved-decibel-scale.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "moulded-kit-sprue-whose-blue-parts-twist-off-the-runners-and-click-into-a-working-quote-calculator",
   "type": "registry:component",
   "title": "Moulded Kit Sprue Whose Blue Parts Twist off the Runners and Click into a Working Quote Calculator",
   "description": "Moulded parts twist off a model-kit sprue and click into a shell, making a quote calculator with keys and a slider you can use. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/moulded-kit-sprue-whose-blue-parts-twist-off-the-runners-and-click-into-a-working-quote-calculator.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "moulded-pulp-bento-tray-feature-section-in-webgl-where-a-glass-loupe-a-brass-key-a-spool-and-a-folded-card-lift-into-focus",
   "type": "registry:block",
   "title": "Moulded Pulp Bento Tray Feature Section in WebGL Where a Glass Loupe, a Brass Key, a Spool and a Folded Card Lift into Focus",
   "description": "Free React bento feature section in raw WebGL: a pressed pulp tray in daylight where each feature is an object that rises out of its pocket into focus.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/moulded-pulp-bento-tray-feature-section-in-webgl-where-a-glass-loupe-a-brass-key-a-spool-and-a-folded-card-lift-into-focus.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mountain-lodge-photo-hero-with-drifting-cloud-headline-and-glass-booking-cards",
   "type": "registry:block",
   "title": "Mountain Lodge Photo Hero with Drifting Cloud Headline and Glass Booking Cards",
   "description": "Hero on one mountain photograph: real cloud drifts across a huge headline, with frosted booking and forecast cards at depth. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/mountain-lodge-photo-hero-with-drifting-cloud-headline-and-glass-booking-cards.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mountain-range-and-hut-trail-drawn-on-navy-hero",
   "type": "registry:component",
   "title": "Mountain Range and Hut Trail on a Navy Hero",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/mountain-range-and-hut-trail-drawn-on-navy-hero.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "mouse-outline-scroll-cue-with-rolling-wheel-dot",
   "type": "registry:block",
   "title": "Mouse Outline Scroll Cue With Rolling Wheel Dot",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/mouse-outline-scroll-cue-with-rolling-wheel-dot.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "nav-links-rescramble-on-hover-and-focus",
   "type": "registry:block",
   "title": "Nav Links Rescramble On Hover And Focus",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/nav-links-rescramble-on-hover-and-focus.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "navbar-with-centered-links-and-mobile-menu",
   "type": "registry:block",
   "title": "Navbar with Centered Links, CTA Button and Mobile Menu",
   "description": "Navbar over a photo hero: logo left, links in the true centre, a booking button and a glass mobile menu with a photo per page. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/navbar-with-centered-links-and-mobile-menu.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "navbar-with-liquid-stretch-highlight-and-inverting-labels",
   "type": "registry:block",
   "title": "Navbar with Liquid Stretch Highlight and Inverting Labels",
   "description": "Navbar where a lime blob stretches between links like liquid and the label text inverts exactly where the blob covers it. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/navbar-with-liquid-stretch-highlight-and-inverting-labels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "navbar-with-search-field-and-category-bar",
   "type": "registry:block",
   "title": "Navbar with Search Field and Category Bar",
   "description": "Store navbar with a pill search field and suggestions, a basket count and a scrolling category bar with underline. Free React and Tailwind code, or HTML.",
   "files": [
    {
     "path": "components/we-inc/navbar-with-search-field-and-category-bar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "navy-circle-that-grows-from-the-menu-button",
   "type": "registry:block",
   "title": "Navy Circle That Grows From the Menu Button",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/navy-circle-that-grows-from-the-menu-button.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "navy-split-halves-preloader-with-a-wordmark-across-the-seam",
   "type": "registry:block",
   "title": "Navy Split Halves Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/navy-split-halves-preloader-with-a-wordmark-across-the-seam.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "neo-brutalist-button-set-with-sizes-and-icons",
   "type": "registry:component",
   "title": "Neo-Brutalist Button Set with Sizes and Icons",
   "description": "Neo-brutalist buttons in several sizes and colours, with an arrow button, an icon button and a disabled state on hard shadows. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/neo-brutalist-button-set-with-sizes-and-icons.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "neo-brutalist-hero-with-sticker-headline-and-shifting-hard-shadows",
   "type": "registry:block",
   "title": "Neo-Brutalist Hero with Sticker Headline and Shifting Hard Shadows",
   "description": "Neo-brutalist hero with sticker words that slap on, wobbling badges and hard shadows that follow the pointer. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/neo-brutalist-hero-with-sticker-headline-and-shifting-hard-shadows.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "new-page-slides-up-over-the-old-one",
   "type": "registry:block",
   "title": "New Page Slides Up Over the Old One",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/new-page-slides-up-over-the-old-one.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "nitro-cold-brew-tumbler-loader-that-pours-cascades-and-settles-under-a-cream-head",
   "type": "registry:component",
   "title": "Nitro Cold Brew Tumbler Loader That Pours, Cascades and Settles Under a Cream Head",
   "description": "Loader on a canvas: a tumbler is poured full of nitro coffee, the surge cascades down the wall and settles under a cream head. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/nitro-cold-brew-tumbler-loader-that-pours-cascades-and-settles-under-a-cream-head.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "no-search-results-state-with-empty-clothes-rail-drawing",
   "type": "registry:component",
   "title": "No Search Results State with Empty Clothes Rail",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/no-search-results-state-with-empty-clothes-rail-drawing.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "noodle-order-flow-diagram-with-moving-connector-lines",
   "type": "registry:component",
   "title": "Order Flow Diagram With Moving Lines",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/noodle-order-flow-diagram-with-moving-connector-lines.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "northern-lights-curtain-aurora-background",
   "type": "registry:block",
   "title": "Northern Lights Curtain Aurora",
   "description": "Free aurora background in pure CSS: soft green curtains with vertical rays sway over a spruce ridge and a starry night. React and plain HTML versions.",
   "files": [
    {
     "path": "components/we-inc/northern-lights-curtain-aurora-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "numbered-chapter-scroll-cue-with-next-section-name",
   "type": "registry:block",
   "title": "Numbered Chapter Scroll Cue With Next Section Name",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/numbered-chapter-scroll-cue-with-next-section-name.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "numbered-process-steps-stacking-with-peeking-headers",
   "type": "registry:block",
   "title": "Numbered Process Steps Stacking With Peeking Headers",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/numbered-process-steps-stacking-with-peeking-headers.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "oak-card-index-box-faq-with-tabbed-question-cards-that-rise-out-and-stand-against-the-open-lid",
   "type": "registry:block",
   "title": "Oak Card Index Box FAQ with Tabbed Question Cards That Rise out and Stand Against the Open Lid",
   "description": "FAQ built as a card index box: press a tab and its ruled card rises out of the row and stands against the open lid. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/oak-card-index-box-faq-with-tabbed-question-cards-that-rise-out-and-stand-against-the-open-lid.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "oil-and-water-liquid-timer-with-beads-that-rise-through-a-glass-hourglass-and-flip-to-restart",
   "type": "registry:component",
   "title": "Oil and Water Liquid Timer with Beads That Rise Through a Glass Hourglass and Flip to Restart",
   "description": "Countdown on a canvas: an hourglass of water and oil where beads squeeze up through the neck and a tap flips it to restart. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/oil-and-water-liquid-timer-with-beads-that-rise-through-a-glass-hourglass-and-flip-to-restart.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "oil-paint-tube-colour-mixer-that-squeezes-beads-onto-an-enamel-tray-for-a-palette-knife-to-blend",
   "type": "registry:component",
   "title": "Oil Paint Tube Colour Mixer That Squeezes Beads onto an Enamel Tray for a Palette Knife to Blend",
   "description": "Colour mixer on a canvas: squeeze a wet bead from a paint tube onto an enamel tray, then drag the palette knife through to blend. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/oil-paint-tube-colour-mixer-that-squeezes-beads-onto-an-enamel-tray-for-a-palette-knife-to-blend.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "olive-oil-bottle-hero-turning-on-a-seamless-backdrop-with-the-headline-orbiting-round-the-glass",
   "type": "registry:block",
   "title": "Olive Oil Bottle Hero Turning on a Seamless Backdrop with the Headline Orbiting Round the Glass",
   "description": "Product hero where a dark glass bottle turns on a yellow backdrop and the headline circles it as a ring of type, passing behind. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/olive-oil-bottle-hero-turning-on-a-seamless-backdrop-with-the-headline-orbiting-round-the-glass.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "open-gate-manual-gear-lever-selector-with-a-chrome-h-pattern-plate-and-a-ball-knob-you-drag-through-the-slots",
   "type": "registry:component",
   "title": "Open-Gate Manual Gear Lever Selector with a Chrome H-Pattern Plate and a Ball Knob You Drag Through the Slots",
   "description": "Selector drawn as an open-gate gear lever: drag the ball knob through an H pattern set in stitched leather to pick an option. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/open-gate-manual-gear-lever-selector-with-a-chrome-h-pattern-plate-and-a-ball-knob-you-drag-through-the-slots.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "open-hardback-long-read-article-header-in-ray-marched-morning-sun-on-linen-where-scrolling-turns-a-curling-page-onto-a-gilt-drop-cap",
   "type": "registry:block",
   "title": "Open Hardback Long Read Article Header in Ray Marched Morning Sun on Linen Where Scrolling Turns a Curling Page onto a Gilt Drop Cap",
   "description": "Free React article header: an open hardback on linen in WebGL morning sun. Scroll and one page curls over to reveal a gilt drop cap.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/open-hardback-long-read-article-header-in-ray-marched-morning-sun-on-linen-where-scrolling-turns-a-curling-page-onto-a-gilt-drop-cap.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "open-passport-card-whose-visa-pages-collect-inked-entry-stamps-and-turn-over-when-the-spread-is-full",
   "type": "registry:block",
   "title": "Open Passport Card Whose Visa Pages Collect Inked Entry Stamps and Turn over When the Spread Is Full",
   "description": "Passport card whose visa pages collect entry stamps in uneven ink, dip under each hit and turn over when the spread is full. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/open-passport-card-whose-visa-pages-collect-inked-entry-stamps-and-turn-over-when-the-spread-is-full.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "opening-checklist-where-each-task-ticks-off-in-turn",
   "type": "registry:component",
   "title": "Opening Checklist That Ticks Off in Turn",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/opening-checklist-where-each-task-ticks-off-in-turn.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "opening-hours-ticker-with-full-timetable",
   "type": "registry:block",
   "title": "Opening Hours Ticker With Full Timetable",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/opening-hours-ticker-with-full-timetable.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "order-tracking-icons-packed-on-the-way-and-delivered",
   "type": "registry:component",
   "title": "Order Tracking Icons: Packed, On the Way, Delivered",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/order-tracking-icons-packed-on-the-way-and-delivered.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "otp-input-collection-with-sms-autofill-paste-resend-timer-in-react-and-html",
   "type": "registry:block",
   "title": "OTP Input Collection with SMS Autofill, Paste and a Resend Timer in React and HTML",
   "description": "Free OTP input fields in React and plain HTML: SMS autofill with one-time-code, paste of the full code, auto-advance, error state and a resend countdown.",
   "files": [
    {
     "path": "components/we-inc/otp-input-collection-with-sms-autofill-paste-resend-timer-in-react-and-html.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "otp-input-with-shake-error-and-success-states",
   "type": "registry:component",
   "title": "OTP Input With Shake Error and Success States",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/otp-input-with-shake-error-and-success-states.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "out-of-focus-bokeh-lights-particle-background",
   "type": "registry:block",
   "title": "Out-of-Focus Bokeh Lights",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/out-of-focus-bokeh-lights-particle-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "outline-text-filling-from-the-baseline-up",
   "type": "registry:component",
   "title": "Outline Text Filling from the Baseline Up",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/outline-text-filling-from-the-baseline-up.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "outlined-word-marquee-rows-in-opposite-directions",
   "type": "registry:block",
   "title": "Outlined Word Marquee Rows In Opposite Directions",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/outlined-word-marquee-rows-in-opposite-directions.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "oversized-type-rows-sliding-at-different-scroll-speeds",
   "type": "registry:block",
   "title": "Oversized Type Rows Sliding at Different Scroll Speeds",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/oversized-type-rows-sliding-at-different-scroll-speeds.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "oxblood-silk-satin-webgl-background-with-folds-lit-by-a-lamp-that-follows-the-pointer",
   "type": "registry:block",
   "title": "Oxblood Silk Satin WebGL Background with Folds Lit by a Lamp That Follows the Pointer",
   "description": "Silk background in raw WebGL: a shader drapes oxblood satin into slow folds and lights it with a lamp the pointer carries. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/oxblood-silk-satin-webgl-background-with-folds-lit-by-a-lamp-that-follows-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "page-section-blocks-in-resin-ceramic-and-anodised-metal-that-lift-out-of-a-stack-to-reorder-a-live-page",
   "type": "registry:component",
   "title": "Page Section Blocks in Resin, Ceramic and Anodised Metal That Lift out of a Stack to Reorder a Live Page",
   "description": "Hero, features, pricing and footer as solid 3D blocks in a stack: lift one out, the rest settle and the page beside it reorders. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/page-section-blocks-in-resin-ceramic-and-anodised-metal-that-lift-out-of-a-stack-to-reorder-a-live-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "page-tabs-with-gliding-underline-and-rising-content",
   "type": "registry:block",
   "title": "Page Tabs With Gliding Underline and Rising Content",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/page-tabs-with-gliding-underline-and-rising-content.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paginated-table-with-search-filter",
   "type": "registry:block",
   "title": "Paginated Table With Search Filter",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/paginated-table-with-search-filter.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pagination-collection-with-numbered-load-more-infinite-scroll-and-url-synced-react-tailwind-pieces",
   "type": "registry:block",
   "title": "Pagination Components for React, Tailwind and HTML",
   "description": "Free pagination components: numbered with ellipsis, prev and next, load more, infinite scroll, URL page sync and a usePagination hook, in React or HTML.",
   "files": [
    {
     "path": "components/we-inc/pagination-collection-with-numbered-load-more-infinite-scroll-and-url-synced-react-tailwind-pieces.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "painted-alphabet-blocks-that-tumble-and-stack-to-spell-the-word-you-type",
   "type": "registry:component",
   "title": "Painted Alphabet Blocks That Tumble and Stack to Spell the Word You Type",
   "description": "Text field whose word is spelled in wooden alphabet blocks on a canvas: cubes drop, tumble, bounce and stack as you type. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/painted-alphabet-blocks-that-tumble-and-stack-to-spell-the-word-you-type.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "painted-shop-doorway-that-follows-typed-edits-with-a-roller-that-repaints-the-door-a-sign-that-is-rehung-and-an-opening-clock-that-moves",
   "type": "registry:block",
   "title": "Painted Shop Doorway That Follows Typed Edits with a Roller That Repaints the Door, a Sign That Is Rehung and an Opening Clock That Moves",
   "description": "Demo of editing by typing: each sentence sends a roller down a painted shop door, hangs a new sign or moves the opening clock. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/painted-shop-doorway-that-follows-typed-edits-with-a-roller-that-repaints-the-door-a-sign-that-is-rehung-and-an-opening-clock-that-moves.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-cheque-payment-form-that-writes-the-payee-amount-in-words-and-signature-in-pen-as-you-type",
   "type": "registry:block",
   "title": "Paper Cheque Payment Form That Writes the Payee, Amount in Words and Signature in Pen as You Type",
   "description": "Payment form shown as a paper cheque: type a name and an amount and a pen writes them out, spells the sum in words and signs. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/paper-cheque-payment-form-that-writes-the-payee-amount-in-words-and-signature-in-pen-as-you-type.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-coffee-cup-name-field-where-a-marker-writes-what-you-type-round-the-cup",
   "type": "registry:component",
   "title": "Paper Coffee Cup Name Field Where a Marker Writes What You Type Round the Cup",
   "description": "Name field shown as a takeaway coffee cup: each letter you type is written by a marker pen as the cup turns to meet the nib. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/paper-coffee-cup-name-field-where-a-marker-writes-what-you-type-round-the-cup.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-counter-preloader-that-hands-over-to-the-headline",
   "type": "registry:block",
   "title": "Paper Counter Handover Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/paper-counter-preloader-that-hands-over-to-the-headline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-folding-fan-menu-that-unfolds-from-a-brass-rivet-with-links-on-the-pleats",
   "type": "registry:component",
   "title": "Paper Folding Fan Menu That Unfolds from a Brass Rivet with Links on the Pleats",
   "description": "Radial menu built as a paper fan: links printed on the pleats, lacquered sticks and a brass rivet it unfolds from. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/paper-folding-fan-menu-that-unfolds-from-a-brass-rivet-with-links-on-the-pleats.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-homepage-model-under-a-glass-bell-jar-on-a-sunlit-table-that-lifts-away-when-you-go-live-and-raises-a-blue-flag",
   "type": "registry:block",
   "title": "Paper Homepage Model Under a Glass Bell Jar on a Sunlit Table That Lifts Away When You Go Live and Raises a Blue Flag",
   "description": "Free React and WebGL go live control: a white card model of a homepage waits under a glass bell jar until a button lifts it off and a blue flag runs up.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/paper-homepage-model-under-a-glass-bell-jar-on-a-sunlit-table-that-lifts-away-when-you-go-live-and-raises-a-blue-flag.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-menu-with-a-photo-preview-that-follows-focus",
   "type": "registry:block",
   "title": "Paper Menu With a Photo Preview That Follows Focus",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/paper-menu-with-a-photo-preview-that-follows-focus.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paper-shopping-bag-that-catches-boxed-products-bulges-leans-and-flexes-its-rope-handles",
   "type": "registry:block",
   "title": "Paper Shopping Bag That Catches Boxed Products, Bulges, Leans and Flexes Its Rope Handles",
   "description": "Add to bag piece where boxed products fall into a paper carrier that bulges, leans under the load and flexes its rope handles. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/paper-shopping-bag-that-catches-boxed-products-bulges-leans-and-flexes-its-rope-handles.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "paragraph-lines-sliding-up-from-a-mask",
   "type": "registry:component",
   "title": "Paragraph Lines Sliding Up from a Mask",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/paragraph-lines-sliding-up-from-a-mask.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "parallax-starfield-particle-background-with-slow-drift",
   "type": "registry:block",
   "title": "Parallax Starfield with Slow Drift",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/parallax-starfield-particle-background-with-slow-drift.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "particle-headline-assembling-into-letters-canvas",
   "type": "registry:block",
   "title": "Particle Headline Assembling Into Letters",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/particle-headline-assembling-into-letters-canvas.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "payment-received-checkmark-that-draws-inside-a-circle",
   "type": "registry:component",
   "title": "Payment Received Checkmark in a Circle",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/payment-received-checkmark-that-draws-inside-a-circle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pearl-necklace-length-picker-on-a-velvet-bust-with-a-knotted-strand-that-drapes-and-swings-like-a-real-chain",
   "type": "registry:block",
   "title": "Pearl Necklace Length Picker on a Velvet Bust with a Knotted Strand That Drapes and Swings Like a Real Chain",
   "description": "Length selector on a canvas: a knotted pearl strand on a velvet bust drapes under simulated gravity and swings when pulled. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/pearl-necklace-length-picker-on-a-velvet-bust-with-a-knotted-strand-that-drapes-and-swings-like-a-real-chain.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pepperoni-pizza-share-picker-on-an-aluminium-pan-that-cuts-the-photograph-into-equal-slices-and-pulls-one-out",
   "type": "registry:block",
   "title": "Pepperoni Pizza Share Picker on an Aluminium Pan That Cuts the Photograph into Equal Slices and Pulls One out",
   "description": "Quantity picker where one overhead pizza photograph on an aluminium pan is cut into equal slices as the head count changes. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/pepperoni-pizza-share-picker-on-an-aluminium-pan-that-cuts-the-photograph-into-equal-slices-and-pulls-one-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "percentage-counter-with-progress-ring-filling-in-step",
   "type": "registry:component",
   "title": "Percentage Counter With Progress Ring",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/percentage-counter-with-progress-ring-filling-in-step.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "perspective-floor-grid-with-travelling-horizon-glow",
   "type": "registry:component",
   "title": "Perspective Floor Grid with Horizon Glow",
   "description": "Free animated background in pure CSS: a perspective floor grid rolls toward you while a warm glow slides along the horizon. React and plain HTML versions.",
   "files": [
    {
     "path": "components/we-inc/perspective-floor-grid-with-travelling-horizon-glow.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "phone-game-built-from-stacked-glass-layers-that-press-together-into-a-playable-screen",
   "type": "registry:component",
   "title": "Phone Game Built from Stacked Glass Layers That Press Together into a Playable Screen",
   "description": "Sheets of a phone game float apart like a model kit, then press together into one screen running a jumping game you can play. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/phone-game-built-from-stacked-glass-layers-that-press-together-into-a-playable-screen.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "phosphor-oscilloscope-live-metric-display-with-a-lingering-trace-and-persistence-knob",
   "type": "registry:component",
   "title": "Phosphor Oscilloscope Live Metric Display with a Lingering Trace and Persistence Knob",
   "description": "Oscilloscope on a canvas: a beam sweeps a ruled tube and leaves a fading afterglow, with source keys and a persistence knob. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/phosphor-oscilloscope-live-metric-display-with-a-lingering-trace-and-persistence-knob.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-bento-grid-portfolio-layout",
   "type": "registry:block",
   "title": "Photo Bento Grid Portfolio Layout",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/photo-bento-grid-portfolio-layout.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-booth-team-strips-that-feed-out-of-chrome-slots-in-four-clunks-then-hang-and-swing-on-the-panel",
   "type": "registry:block",
   "title": "Photo Booth Team Strips That Feed out of Chrome Slots in Four Clunks Then Hang and Swing on the Panel",
   "description": "Team section drawn as a photo booth panel: each slot feeds out a strip of poses for one person, which then hangs and swings. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/photo-booth-team-strips-that-feed-out-of-chrome-slots-in-four-clunks-then-hang-and-swing-on-the-panel.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-cards-grid-with-image-parallax-inside-frames",
   "type": "registry:block",
   "title": "Photo Cards Grid With Image Parallax Inside Frames",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/photo-cards-grid-with-image-parallax-inside-frames.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-gallery-columns-moving-at-different-scroll-speeds",
   "type": "registry:block",
   "title": "Photo Gallery Columns Moving at Different Scroll Speeds",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/photo-gallery-columns-moving-at-different-scroll-speeds.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-gallery-on-a-cotton-paper-sheet-where-each-portrait-blooms-in-like-ink-through-wet-fibres",
   "type": "registry:block",
   "title": "Photo Gallery on a Cotton Paper Sheet Where Each Portrait Blooms In Like Ink Through Wet Fibres",
   "description": "Photo slider in WebGL: each portrait soaks across a sheet of cotton paper like ink through wet fibres, then its colours develop. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photo-gallery-on-a-cotton-paper-sheet-where-each-portrait-blooms-in-like-ink-through-wet-fibres.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-grid-leans-with-scroll-speed",
   "type": "registry:block",
   "title": "Photo Grid Leans With Scroll Speed",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/photo-grid-leans-with-scroll-speed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-pile-settles-into-grid-on-scroll",
   "type": "registry:block",
   "title": "Photo Pile Settles Into a Grid",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photo-pile-settles-into-grid-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-proof-roll-carousel-that-feeds-over-a-roller-and-curls-onto-the-table",
   "type": "registry:block",
   "title": "Photo Proof Roll Carousel That Feeds over a Roller and Curls onto the Table",
   "description": "Vertical carousel drawn as a roll of photo proofs: paper bends over a chrome roller, hangs facing you and curls onto the table. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photo-proof-roll-carousel-that-feeds-over-a-roller-and-curls-onto-the-table.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-strip-marquee-with-captioned-frames",
   "type": "registry:block",
   "title": "Photo Strip Marquee With Captioned Frames",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/photo-strip-marquee-with-captioned-frames.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-zooms-out-as-it-scrolls-in",
   "type": "registry:block",
   "title": "Photo Zooms Out as It Scrolls In",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photo-zooms-out-as-it-scrolls-in.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photo-zooms-to-each-detail-as-steps-scroll",
   "type": "registry:block",
   "title": "Photo Zooms To Each Detail",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photo-zooms-to-each-detail-as-steps-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photograph-in-an-enamel-darkroom-tray-under-water-that-ripples-where-the-pointer-drags",
   "type": "registry:block",
   "title": "Photograph in an Enamel Darkroom Tray Under Water That Ripples Where the Pointer Drags",
   "description": "Water ripple effect: a print lies in an enamel darkroom tray and the pointer drags waves across it, bending the photo beneath. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photograph-in-an-enamel-darkroom-tray-under-water-that-ripples-where-the-pointer-drags.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photoreal-dark-mode-toggle-switch-a-ceramic-rocker-on-a-sunlit-plaster-wall-that-dims-the-room-to-lamplight",
   "type": "registry:block",
   "title": "Photoreal Dark Mode Toggle Switch: a Ceramic Rocker on a Sunlit Plaster Wall that Dims the Room to Lamplight",
   "description": "Free React dark mode toggle switch drawn as a real wall rocker. Flip it and the room fades to lamplight while the settings card turns dark.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photoreal-dark-mode-toggle-switch-a-ceramic-rocker-on-a-sunlit-plaster-wall-that-dims-the-room-to-lamplight.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photoreal-html-css-button-set-of-glazed-ceramic-brushed-steel-walnut-and-frosted-glass-keys-on-travertine-in-window-light",
   "type": "registry:block",
   "title": "Photoreal HTML CSS Button Set of Glazed Ceramic, Brushed Steel, Walnut and Frosted Glass Keys on Travertine in Window Light",
   "description": "Free React button set rendered in WebGL: four pressable keys in glazed ceramic, brushed steel, walnut and frosted glass, sitting in a stone slab under window light.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photoreal-html-css-button-set-of-glazed-ceramic-brushed-steel-walnut-and-frosted-glass-keys-on-travertine-in-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photoreal-login-page-html-css-with-show-password-remember-me-and-a-cut-glass-door-knob-in-window-light",
   "type": "registry:block",
   "title": "Photoreal Login Page HTML CSS with Show Password, Remember Me and a Cut Glass Door Knob in Window Light",
   "description": "Free React login page: email, password with show and hide, remember me, forgot link and two sign-in options, beside a WebGL cut glass knob in late sun.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photoreal-login-page-html-css-with-show-password-remember-me-and-a-cut-glass-door-knob-in-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "photoreal-pricing-table-with-monthly-yearly-switch-and-three-glass-blocks-of-different-heights-in-one-shaft-of-window-light",
   "type": "registry:block",
   "title": "Photoreal Pricing Table with Monthly Yearly Switch and Three Glass Blocks of Different Heights in One Shaft of Window Light",
   "description": "Free React pricing table: three plans with features and a button each, a monthly/yearly switch, and glass price blocks lit by one shaft of sun in WebGL.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/photoreal-pricing-table-with-monthly-yearly-switch-and-three-glass-blocks-of-different-heights-in-one-shaft-of-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "piano-octave-key-picker-with-real-key-dip-red-felt-and-a-lacquer-fallboard-that-mirrors-the-keys",
   "type": "registry:component",
   "title": "Piano Octave Key Picker with Real Key Dip, Red Felt and a Lacquer Fallboard That Mirrors the Keys",
   "description": "Piano key picker on a canvas: an octave in a lacquer case where the chosen key stays held down, over real radio buttons. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/piano-octave-key-picker-with-real-key-dip-red-felt-and-a-lacquer-fallboard-that-mirrors-the-keys.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pill-button-with-looping-marquee-label",
   "type": "registry:block",
   "title": "Pill Button With Looping Marquee Label",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pill-button-with-looping-marquee-label.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pill-scroll-button-with-arrow-sliding-through-chip",
   "type": "registry:block",
   "title": "Pill Scroll Button With Arrow Sliding Through Chip",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pill-scroll-button-with-arrow-sliding-through-chip.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pin-art-board-where-steel-pins-rise-into-the-relief-of-an-app-screen-and-follow-the-pointer",
   "type": "registry:component",
   "title": "Pin Art Board Where Steel Pins Rise into the Relief of an App Screen and Follow the Pointer",
   "description": "Canvas piece: a framed board of steel pins rises into the relief of an app screen and bulges under the pointer. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/pin-art-board-where-steel-pins-rise-into-the-relief-of-an-app-screen-and-follow-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pin-tumbler-lock-cutaway-password-strength-field-where-each-rule-sets-a-pin-and-the-key-turns-the-plug",
   "type": "registry:component",
   "title": "Pin Tumbler Lock Cutaway Password Strength Field Where Each Rule Sets a Pin and the Key Turns the Plug",
   "description": "Password field with a strength meter drawn as a brass lock in section: each rule you meet sets a pin, then the key turns. Free React and HTML code to copy.",
   "files": [
    {
     "path": "components/we-inc/pin-tumbler-lock-cutaway-password-strength-field-where-each-rule-sets-a-pin-and-the-key-turns-the-plug.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pinned-boat-restoration-timeline-drawing-sideways",
   "type": "registry:block",
   "title": "Pinned Boat Restoration Timeline Drawing Sideways",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pinned-boat-restoration-timeline-drawing-sideways.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pinned-book-list-row-with-giant-word-parallax",
   "type": "registry:block",
   "title": "Pinned Book List Row with Giant Word Parallax",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pinned-book-list-row-with-giant-word-parallax.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pinned-hedge-planting-steps-with-dot-navigation",
   "type": "registry:block",
   "title": "Pinned Hedge Planting Steps with Dot Navigation",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pinned-hedge-planting-steps-with-dot-navigation.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pinned-panel-steps-crossfade-on-scroll",
   "type": "registry:block",
   "title": "Pinned Panel Steps Cross Fade",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/pinned-panel-steps-crossfade-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pinned-pottery-gallery-row-sliding-sideways-on-scroll",
   "type": "registry:block",
   "title": "Pinned Pottery Gallery Row Sliding Sideways",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pinned-pottery-gallery-row-sliding-sideways-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "plant-nursery-footer-wordmark-grows-from-the-ground",
   "type": "registry:block",
   "title": "Plant Nursery Footer With Growing Wordmark",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/plant-nursery-footer-wordmark-grows-from-the-ground.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "plaster-wall-niche-scroll-effect-in-webgl-where-window-light-travels-from-dawn-to-dusk-past-a-glazed-vase",
   "type": "registry:block",
   "title": "Plaster Wall Niche Scroll Effect in WebGL Where Window Light Travels from Dawn to Dusk Past a Glazed Vase",
   "description": "Free React scroll effect: window light crosses a plaster wall and an arched niche with a glazed vase, warming from dawn to dusk as three lines fade in.",
   "files": [
    {
     "path": "components/we-inc/plaster-wall-niche-scroll-effect-in-webgl-where-window-light-travels-from-dawn-to-dusk-past-a-glazed-vase.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pocket-radio-with-a-thumbwheel-tuning-needle-and-backlit-band",
   "type": "registry:component",
   "title": "Pocket Radio with a Thumbwheel, Tuning Needle and Backlit Band",
   "description": "Radio tuner drawn as a pocket transistor set: slide the needle along a backlit band or flick the wheel, and stations pull it in. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/pocket-radio-with-a-thumbwheel-tuning-needle-and-backlit-band.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pointer-repelled-dot-field-particle-background-that-settles-back",
   "type": "registry:block",
   "title": "Pointer-Repelled Dot Field",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pointer-repelled-dot-field-particle-background-that-settles-back.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pointer-spotlight-hidden-text-reveal",
   "type": "registry:block",
   "title": "Pointer Spotlight Hidden Text",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/pointer-spotlight-hidden-text-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pointer-spotlight-revealing-a-dimmed-cellar-photo",
   "type": "registry:block",
   "title": "Pointer Spotlight Over a Dimmed Photo",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/pointer-spotlight-revealing-a-dimmed-cellar-photo.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "polished-terrazzo-floor-webgl-background-with-marble-chips-and-brass-strips-that-catch-a-moving-lamp",
   "type": "registry:block",
   "title": "Polished Terrazzo Floor WebGL Background with Marble Chips and Brass Strips That Catch a Moving Lamp",
   "description": "Terrazzo background in WebGL: a shader sets marble chips in cream cement, lays brass strips and mirrors a lamp the pointer moves. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/polished-terrazzo-floor-webgl-background-with-marble-chips-and-brass-strips-that-catch-a-moving-lamp.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pool-water-ripple-background-bending-tile-lines-as-drops-land",
   "type": "registry:block",
   "title": "Pool Water Ripples",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pool-water-ripple-background-bending-tile-lines-as-drops-land.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pop-up-card-where-a-typed-sentence-stands-up-as-a-layered-paper-homepage",
   "type": "registry:block",
   "title": "Pop-Up Card Where a Typed Sentence Stands Up as a Layered Paper Homepage",
   "description": "Pop-up card in CSS 3D: a typed sentence lies on the table and a paper homepage stands up from the fold in die-cut layers. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/pop-up-card-where-a-typed-sentence-stands-up-as-a-layered-paper-homepage.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "porcelain-dotted-desk-globe-you-spin-with-inertia-with-flag-pins-that-trail-as-it-turns",
   "type": "registry:block",
   "title": "Porcelain Dotted Desk Globe You Spin with Inertia with Flag Pins That Trail as It Turns",
   "description": "Canvas globe of blue dots on a porcelain ball: drag it and it turns on with inertia while the flags on its pins trail behind. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/porcelain-dotted-desk-globe-you-spin-with-inertia-with-flag-pins-that-trail-as-it-turns.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "porcelain-wall-light-switch-settings-list-with-three-bakelite-dollies-that-snap-over-and-throw-lamp-light-up-a-sunlit-wall",
   "type": "registry:block",
   "title": "Porcelain Wall Light Switch Settings List with Three Bakelite Dollies That Snap Over and Throw Lamp Light Up a Sunlit Wall",
   "description": "Free React settings list of three switches, drawn as porcelain wall switches in WebGL. Each dolly snaps over and a lamp's cone of light climbs the wall.",
   "files": [
    {
     "path": "components/we-inc/porcelain-wall-light-switch-settings-list-with-three-bakelite-dollies-that-snap-over-and-throw-lamp-light-up-a-sunlit-wall.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "portrait-buried-under-sand-in-a-tray-where-the-pointer-drags-a-finger-trail-that-sifts-shut",
   "type": "registry:block",
   "title": "Portrait Buried Under Sand in a Tray Where the Pointer Drags a Finger Trail That Sifts Shut",
   "description": "Cursor effect where a portrait lies under sand in a tray: the pointer ploughs a trail down to the print and the sand sifts shut. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/portrait-buried-under-sand-in-a-tray-where-the-pointer-drags-a-finger-trail-that-sifts-shut.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "portrait-framed-by-breathing-blob-shapes",
   "type": "registry:block",
   "title": "Portrait Framed By Breathing Blob Shapes",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/portrait-framed-by-breathing-blob-shapes.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "portrait-print-with-a-liquid-glass-bead-that-chases-the-pointer-and-shows-a-second-photograph",
   "type": "registry:block",
   "title": "Portrait Print with a Liquid Glass Bead That Chases the Pointer and Shows a Second Photograph",
   "description": "Image reveal in WebGL: a bead of liquid glass chases the cursor across a portrait and shows another photo refracted inside. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/portrait-print-with-a-liquid-glass-bead-that-chases-the-pointer-and-shows-a-second-photograph.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "portrait-studio-hero-with-a-giant-headline-that-passes-behind-the-sitter-and-in-front-of-her",
   "type": "registry:block",
   "title": "Portrait Studio Hero with a Giant Headline That Passes Behind the Sitter and in Front of Her",
   "description": "Hero with a giant headline around a studio portrait: one word passes behind the sitter and one in front, cut out in the browser. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/portrait-studio-hero-with-a-giant-headline-that-passes-behind-the-sitter-and-in-front-of-her.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "posable-desk-lamp-on-a-jointed-arm-that-lights-a-still-life-and-throws-its-true-shadow-up-the-wall",
   "type": "registry:block",
   "title": "Posable Desk Lamp on a Jointed Arm That Lights a Still Life and Throws Its True Shadow up the Wall",
   "description": "WebGL scene: an enamel desk lamp on a jointed arm follows the pointer and lights a still life with soft, true shadows. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/posable-desk-lamp-on-a-jointed-arm-that-lights-a-still-life-and-throws-its-true-shadow-up-the-wall.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pottery-class-bookings-ranked-as-horizontal-bars",
   "type": "registry:component",
   "title": "Class Bookings Ranked as Horizontal Bars",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pottery-class-bookings-ranked-as-horizontal-bars.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pottery-footer-scattered-letters-gather-into-wordmark",
   "type": "registry:block",
   "title": "Pottery Footer With Gathering Wordmark",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/pottery-footer-scattered-letters-gather-into-wordmark.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "precision-crosshair-cursor-with-live-coordinate-readout",
   "type": "registry:block",
   "title": "Precision Crosshair With Coordinate Readout",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/precision-crosshair-cursor-with-live-coordinate-readout.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "press-stud-snap-toggle-on-a-waxed-canvas-strap-that-pops-open-and-curls-back",
   "type": "registry:component",
   "title": "Press Stud Snap Toggle on a Waxed Canvas Strap That Pops Open and Curls Back",
   "description": "Toggle built as a press stud: a canvas tab snapped to webbing pops off its stud when pressed, curls back and shows its lining. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/press-stud-snap-toggle-on-a-waxed-canvas-strap-that-pops-open-and-curls-back.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "price-register-with-a-monthly-yearly-throw-lever-that-re-rolls-mechanical-price-drums-and-latching-plan-keys",
   "type": "registry:component",
   "title": "Price Register with a Monthly Yearly Throw Lever That Re-Rolls Mechanical Price Drums and Latching Plan Keys",
   "description": "Pricing toggle built as an enamel register: throw the lever from monthly to yearly and the number drums spin to the new prices. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/price-register-with-a-monthly-yearly-throw-lever-that-re-rolls-mechanical-price-drums-and-latching-plan-keys.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "product-cards-lift-with-shadow-layer-and-quick-add",
   "type": "registry:block",
   "title": "Product Cards Lift With Shadow and Quick Add",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/product-cards-lift-with-shadow-layer-and-quick-add.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "product-launch-bento-grid-with-mini-ui-mockups",
   "type": "registry:block",
   "title": "Product Launch Bento Grid With Mini UI Mockups",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/product-launch-bento-grid-with-mini-ui-mockups.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "product-photo-on-soft-morphing-blob-plate",
   "type": "registry:block",
   "title": "Product Photo On Soft Morphing Blob Plate",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/product-photo-on-soft-morphing-blob-plate.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "product-photo-scales-to-full-bleed-on-scroll",
   "type": "registry:block",
   "title": "Product Photo Scales to Full Bleed",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/product-photo-scales-to-full-bleed-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "project-index-with-one-frame-that-wipes-by-direction",
   "type": "registry:block",
   "title": "Project Index With Direction Aware Frame",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/project-index-with-one-frame-that-wipes-by-direction.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "proof-press-with-a-steel-cylinder-that-rolls-a-typed-brief-into-a-printed-homepage",
   "type": "registry:block",
   "title": "Proof Press with a Steel Cylinder That Rolls a Typed Brief into a Printed Homepage",
   "description": "Reveal slider built as a proofing press: drag a steel cylinder down the bed and a typed brief comes out as a printed homepage. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/proof-press-with-a-steel-cylinder-that-rolls-a-typed-brief-into-a-printed-homepage.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "property-listing-card-tilt-with-floating-layers",
   "type": "registry:block",
   "title": "Property Listing Card Tilt With Floating Layers",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/property-listing-card-tilt-with-floating-layers.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "publish-button-that-fires-a-rolled-up-site-up-a-glass-pneumatic-tube",
   "type": "registry:block",
   "title": "Publish Button That Fires a Rolled-Up Site up a Glass Pneumatic Tube",
   "description": "Publish button on a steel station: press the key and a carrier holding a rolled-up page shoots up a glass tube to a Live lamp. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/publish-button-that-fires-a-rolled-up-site-up-a-glass-pneumatic-tube.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "pull-down-wall-chart-tabs-on-spring-rollers-that-snap-up-to-uncover-the-chart-hanging-behind",
   "type": "registry:block",
   "title": "Pull-Down Wall Chart Tabs on Spring Rollers That Snap up to Uncover the Chart Hanging Behind",
   "description": "Tabs built as a rack of schoolroom wall charts: each chart snaps up onto its spring roller to uncover the one hanging behind. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/pull-down-wall-chart-tabs-on-spring-rollers-that-snap-up-to-uncover-the-chart-hanging-behind.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "quantity-input-collection-with-plus-minus-stepper-spinbutton-keys-and-cart-line-in-react-and-html",
   "type": "registry:block",
   "title": "Quantity Input Collection with Plus and Minus Stepper, Spinbutton Keys and Cart Line in React and HTML",
   "description": "Free quantity input steppers for online stores in React and HTML: min, max and step limits, spinbutton keyboard support, decimals and a cart line with totals.",
   "files": [
    {
     "path": "components/we-inc/quantity-input-collection-with-plus-minus-stepper-spinbutton-keys-and-cart-line-in-react-and-html.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "quote-cards-tilt-flat-as-they-enter",
   "type": "registry:block",
   "title": "Quote Cards Tilt Flat as They Enter",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/quote-cards-tilt-flat-as-they-enter.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rain-on-a-night-window-particle-background-with-city-lights",
   "type": "registry:block",
   "title": "Rain on a Night Window",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rain-on-a-night-window-particle-background-with-city-lights.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rain-on-a-window-at-night-background-with-drops-that-refract-street-lights",
   "type": "registry:block",
   "title": "Rain on a Night Window",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rain-on-a-window-at-night-background-with-drops-that-refract-street-lights.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "raked-zen-sand-garden-webgl-background-with-basalt-stones-and-a-slow-turning-sun-shadow",
   "type": "registry:block",
   "title": "Raked Zen Sand Garden WebGL Background with Basalt Stones and a Slow Turning Sun Shadow",
   "description": "Zen garden background: a WebGL shader rakes pale sand around dark basalt stones and a low sun swings their shadows slowly round. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/raked-zen-sand-garden-webgl-background-with-basalt-stones-and-a-slow-turning-sun-shadow.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-aluminium-publish-key-on-a-blue-lit-plinth-that-strikes-a-lightbox-model-of-the-page-from-draft-to-live",
   "type": "registry:block",
   "title": "Ray Marched Aluminium Publish Key on a Blue Lit Plinth That Strikes a Lightbox Model of the Page from Draft to Live",
   "description": "Free React and WebGL publish toggle. One heavy aluminium key on a blue lit plinth sends light down a floor channel and strikes a lightbox page from draft to live.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/ray-marched-aluminium-publish-key-on-a-blue-lit-plinth-that-strikes-a-lightbox-model-of-the-page-from-draft-to-live.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-anodised-aluminium-air-key-on-black-glass-with-real-travel-a-backlit-legend-and-a-light-ring-that-latches-on",
   "type": "registry:block",
   "title": "Ray-Marched Anodised Aluminium Air Key on Black Glass with Real Travel, a Backlit Legend and a Light Ring That Latches On",
   "description": "Free React toggle button rendered as a thick red-orange anodised key in a WebGL shader: it travels, knocks at the bottom, latches low and lights its legend and ring.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-anodised-aluminium-air-key-on-black-glass-with-real-travel-a-backlit-legend-and-a-light-ring-that-latches-on.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-brass-hotel-key-sign-in-form-where-the-key-swings-toward-a-lock-case-on-green-leather-as-you-type-and-throws-the-bolt-on-submit",
   "type": "registry:block",
   "title": "Ray-Marched Brass Hotel Key Sign-In Form Where the Key Swings Toward a Lock Case on Green Leather as You Type and Throws the Bolt on Submit",
   "description": "Free React sign-in form beside a WebGL brass key on green leather. Fill it in and the key swings to the lock; sign in and it turns and throws the bolt.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-brass-hotel-key-sign-in-form-where-the-key-swings-toward-a-lock-case-on-green-leather-as-you-type-and-throws-the-bolt-on-submit.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-fan-of-painted-colour-chips-on-a-brass-rivet-that-washes-a-board-model-of-a-homepage-in-the-colour-you-pick",
   "type": "registry:block",
   "title": "Ray Marched Fan of Painted Colour Chips on a Brass Rivet That Washes a Board Model of a Homepage in the Colour You Pick",
   "description": "Free React and WebGL colour picker. Swing a painted chip out of a riveted fan and its colour spreads like wet paint over a sunlit model of a homepage.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/ray-marched-fan-of-painted-colour-chips-on-a-brass-rivet-that-washes-a-board-model-of-a-homepage-in-the-colour-you-pick.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-fluted-stoneware-vase-product-card-on-a-paper-plinth-with-a-colourway-glaze-wipe-and-drag-to-turn",
   "type": "registry:block",
   "title": "Ray-Marched Fluted Stoneware Vase Product Card on a Paper Plinth with a Colourway Glaze Wipe and Drag to Turn",
   "description": "Free React product card with a ray-marched ceramic vase on a paper plinth in daylight. Drag to turn it; each colourway washes up the glaze.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/ray-marched-fluted-stoneware-vase-product-card-on-a-paper-plinth-with-a-colourway-glaze-wipe-and-drag-to-turn.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-frosted-glass-pill-navbar-on-steel-standoffs-with-a-bead-of-light-inside-over-colour-block-photographs-that-slide-past",
   "type": "registry:block",
   "title": "Ray-Marched Frosted Glass Pill Navbar on Steel Standoffs with a Bead of Light Inside over Colour-Block Photographs That Slide Past",
   "description": "Free React navbar drawn as a pill of etched glass in a WebGL shader. A bead of light runs to the active link while the photograph behind slides to the next page.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-frosted-glass-pill-navbar-on-steel-standoffs-with-a-bead-of-light-inside-over-colour-block-photographs-that-slide-past.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-frosted-glass-serum-dropper-hero-standing-in-shallow-water-on-pale-stone-with-caustics-and-pointer-ripples",
   "type": "registry:block",
   "title": "Ray-Marched Frosted Glass Serum Dropper Hero Standing in Shallow Water on Pale Stone with Caustics and Pointer Ripples",
   "description": "Free React skincare hero: a frosted glass dropper of amber serum stands in shallow water on pale stone, with moving caustics and rings wherever you touch.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-frosted-glass-serum-dropper-hero-standing-in-shallow-water-on-pale-stone-with-caustics-and-pointer-ripples.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-glass-perfume-bottle-hero-that-bends-a-giant-painted-headline-through-amber-scent-on-a-pink-paper-sweep",
   "type": "registry:block",
   "title": "Ray-Marched Glass Perfume Bottle Hero That Bends a Giant Painted Headline Through Amber Scent on a Pink Paper Sweep",
   "description": "Free React hero section: a glass perfume bottle traced in a WebGL shader stands in front of a giant painted headline and bends the letters through its amber scent.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-glass-perfume-bottle-hero-that-bends-a-giant-painted-headline-through-amber-scent-on-a-pink-paper-sweep.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-glass-ribbon-webgl-background-with-dispersion-and-rainbow-caustics-on-a-sunlit-wall-that-parts-around-the-pointer",
   "type": "registry:block",
   "title": "Ray-Marched Glass Ribbon WebGL Background with Dispersion and Rainbow Caustics on a Sunlit Wall That Parts Around the Pointer",
   "description": "Free React background: three twisted glass ribbons ray-marched in one WebGL shader, with real refraction, split colour and spectrum caustics on a warm plaster wall.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-glass-ribbon-webgl-background-with-dispersion-and-rainbow-caustics-on-a-sunlit-wall-that-parts-around-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-glass-tube-range-slider-with-ultramarine-liquid-that-chases-a-steel-bead-and-pools-blue-light-on-paper",
   "type": "registry:block",
   "title": "Ray-Marched Glass Tube Range Slider with Ultramarine Liquid That Chases a Steel Bead and Pools Blue Light on Paper",
   "description": "Free React range slider drawn as a glass tube of blue liquid behind a steel bead, traced in a WebGL shader on lit paper, with a native range input underneath.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-glass-tube-range-slider-with-ultramarine-liquid-that-chases-a-steel-bead-and-pools-blue-light-on-paper.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-gold-solitaire-ring-jewellery-hero-resting-on-a-pale-silk-fold-with-a-dispersive-stone-that-turns-to-the-pointer",
   "type": "registry:block",
   "title": "Ray-Marched Gold Solitaire Ring Jewellery Hero Resting on a Pale Silk Fold with a Dispersive Stone That Turns to the Pointer",
   "description": "Free React jewellery hero: a gold ring with a brilliant-cut stone stands in a fold of pale silk, throwing coloured fire as the pointer turns it.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-gold-solitaire-ring-jewellery-hero-resting-on-a-pale-silk-fold-with-a-dispersive-stone-that-turns-to-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-hourglass-loader-in-a-turned-ash-frame-on-a-sunlit-desk-that-pours-coral-sand-into-a-growing-cone-and-flips-over-when-full",
   "type": "registry:block",
   "title": "Ray-Marched Hourglass Loader in a Turned Ash Frame on a Sunlit Desk That Pours Coral Sand into a Growing Cone and Flips Over When Full",
   "description": "Free React progress loader in one WebGL shader: a glass hourglass in a turned wooden frame pours coral sand into a cone, then flips itself over at 100%.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-hourglass-loader-in-a-turned-ash-frame-on-a-sunlit-desk-that-pours-coral-sand-into-a-growing-cone-and-flips-over-when-full.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-knurled-aluminium-dial-on-black-glass-with-a-moving-softbox-engraved-stops-and-an-amber-halo",
   "type": "registry:block",
   "title": "Ray-Marched Knurled Aluminium Dial on Black Glass with a Moving Softbox, Engraved Stops and an Amber Halo",
   "description": "Selector rendered as a knurled aluminium dial in a WebGL fragment shader, on black glass, with a real radio group underneath. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-knurled-aluminium-dial-on-black-glass-with-a-moving-softbox-engraved-stops-and-an-amber-halo.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-liquid-chrome-word-on-a-mirror-floor-with-a-mercury-bead-that-chases-the-pointer",
   "type": "registry:block",
   "title": "Ray-Marched Liquid Chrome Word on a Mirror Floor with a Mercury Bead That Chases the Pointer",
   "description": "WebGL text effect: type a word and it is ray-marched as poured chrome on a mirror floor and a mercury bead chases the pointer. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/ray-marched-liquid-chrome-word-on-a-mirror-floor-with-a-mercury-bead-that-chases-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-oak-groove-stepper-with-a-steel-ball-that-rolls-to-turned-brass-posts-in-raking-window-light",
   "type": "registry:block",
   "title": "Ray-Marched Oak Groove Stepper with a Steel Ball That Rolls to Turned Brass Posts in Raking Window Light",
   "description": "Free React stepper: a steel ball rolls along a groove in an oak block to brass posts, ray-marched in WebGL in low window light.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-oak-groove-stepper-with-a-steel-ball-that-rolls-to-turned-brass-posts-in-raking-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-paper-mountain-diorama-hero-with-a-felt-lake-and-tiny-cabin-where-you-move-the-golden-hour-sun",
   "type": "registry:block",
   "title": "Ray-Marched Paper Mountain Diorama Hero With a Felt Lake and Tiny Cabin Where You Move the Golden Hour Sun",
   "description": "Free React hero for a travel or outdoor brand: a shader-rendered tabletop diorama of folded paper peaks and a felt lake, lit by a sun you can move.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-paper-mountain-diorama-hero-with-a-felt-lake-and-tiny-cabin-where-you-move-the-golden-hour-sun.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-paper-pop-up-book-scroll-story-where-a-tea-hillside-a-drying-barn-and-a-tin-unfold-from-the-spread",
   "type": "registry:block",
   "title": "Ray Marched Paper Pop-Up Book Scroll Story Where a Tea Hillside, a Drying Barn and a Tin Unfold from the Spread",
   "description": "Free scroll story in React: a cloth book opens on a table as you scroll and paper hills, a barn and a tin stand up, one per heading. Copy the code.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-paper-pop-up-book-scroll-story-where-a-tea-hillside-a-drying-barn-and-a-tin-unfold-from-the-spread.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-potters-wheel-loader-that-pulls-up-a-wet-stoneware-bowl-in-a-sunlit-studio-and-stops-when-it-is-done",
   "type": "registry:block",
   "title": "Ray-Marched Potter's Wheel Loader That Pulls Up a Wet Stoneware Bowl in a Sunlit Studio and Stops When It Is Done",
   "description": "Free React progress loader in one WebGL shader: a wet clay bowl rises on a spinning potter's wheel and the wheel coasts to a stop at 100%.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-potters-wheel-loader-that-pulls-up-a-wet-stoneware-bowl-in-a-sunlit-studio-and-stops-when-it-is-done.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-resin-pebble-toast-notifications-that-drop-onto-a-sunlit-stone-ledge-rock-to-rest-and-get-flicked-off-the-edge",
   "type": "registry:block",
   "title": "Ray-Marched Resin Pebble Toast Notifications That Drop onto a Sunlit Stone Ledge, Rock to Rest and Get Flicked off the Edge",
   "description": "Free React toasts cast as resin pebbles in a WebGL shader. Each drops on a sunlit ledge, rocks still, and is flicked off when dismissed.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-resin-pebble-toast-notifications-that-drop-onto-a-sunlit-stone-ledge-rock-to-rest-and-get-flicked-off-the-edge.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-rose-soap-bar-email-input-that-stamps-each-typed-letter-into-the-soap-and-slides-away-across-wet-green-tiles-when-sent",
   "type": "registry:block",
   "title": "Ray-Marched Rose Soap Bar Email Input That Stamps Each Typed Letter into the Soap and Slides Away Across Wet Green Tiles When Sent",
   "description": "Free React email field whose typed letters are pressed into a bar of rose soap, traced in a WebGL shader on green tiles. Send it and the bar slides away.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-rose-soap-bar-email-input-that-stamps-each-typed-letter-into-the-soap-and-slides-away-across-wet-green-tiles-when-sent.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-slide-projector-gallery-that-throws-each-35mm-slide-onto-a-white-wall-through-a-dusty-beam-in-a-dim-room",
   "type": "registry:block",
   "title": "Ray-Marched Slide Projector Gallery That Throws Each 35mm Slide onto a White Wall Through a Dusty Beam in a Dim Room",
   "description": "Free React photo gallery where a carousel projector throws each slide onto a plaster wall in a dark room, with dust drifting through the beam. WebGL, no library.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-slide-projector-gallery-that-throws-each-35mm-slide-onto-a-white-wall-through-a-dusty-beam-in-a-dim-room.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-smoked-glass-dialog-lowered-on-steel-wires-that-sways-settles-and-frosts-the-fashion-print-behind-it",
   "type": "registry:block",
   "title": "Ray-Marched Smoked Glass Dialog Lowered on Steel Wires That Sways, Settles and Frosts the Fashion Print Behind It",
   "description": "Free React dialog drawn as a slab of smoked glass in WebGL. It drops on two steel wires, sways to rest and frosts the fashion print hanging behind it.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-smoked-glass-dialog-lowered-on-steel-wires-that-sways-settles-and-frosts-the-fashion-print-behind-it.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-stats-row-of-coloured-card-disc-stacks-on-window-lit-linen-that-deal-themselves-up-to-each-figure",
   "type": "registry:block",
   "title": "Ray-Marched Stats Row of Coloured Card Disc Stacks on Window-Lit Linen That Deal Themselves Up to Each Figure",
   "description": "Free React stats row where three figures stand as piles of coloured card discs on linen, ray marched in WebGL, that drop in or lift away when the period changes.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-stats-row-of-coloured-card-disc-stacks-on-window-lit-linen-that-deal-themselves-up-to-each-figure.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-stoneware-mug-product-showcase-you-turn-by-dragging-with-glaze-that-pours-down-in-the-colour-you-pick-on-a-yellow-sweep",
   "type": "registry:block",
   "title": "Ray-Marched Stoneware Mug Product Showcase You Turn by Dragging, With Glaze That Pours Down in the Colour You Pick on a Yellow Sweep",
   "description": "Free React product showcase: a stoneware mug traced in a WebGL shader that you turn by dragging, with five dishes of glaze that pour a new colour down it.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-stoneware-mug-product-showcase-you-turn-by-dragging-with-glaze-that-pours-down-in-the-colour-you-pick-on-a-yellow-sweep.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-tangerine-resin-rocker-switch-with-a-lamp-inside-that-glows-through-the-plastic-and-spills-across-a-lilac-table",
   "type": "registry:block",
   "title": "Ray-Marched Tangerine Resin Rocker Switch with a Lamp Inside That Glows Through the Plastic and Spills Across a Lilac Table",
   "description": "Free React on/off toggle drawn as a translucent orange rocker in a WebGL shader. A lamp inside lights the resin and the table, with a real switch button beneath.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-tangerine-resin-rocker-switch-with-a-lamp-inside-that-glows-through-the-plastic-and-spills-across-a-lilac-table.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-vinyl-balloon-letters-hero-on-a-sky-blue-paper-sweep-that-squash-under-the-pointer-and-wobble-back-in-daylight",
   "type": "registry:block",
   "title": "Ray-Marched Vinyl Balloon Letters Hero on a Sky Blue Paper Sweep That Squash Under the Pointer and Wobble Back in Daylight",
   "description": "Free React hero: puffed vinyl balloon letters traced in a WebGL shader stand on a blue paper sweep in daylight and squash and wobble when pressed.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-vinyl-balloon-letters-hero-on-a-sky-blue-paper-sweep-that-squash-under-the-pointer-and-wobble-back-in-daylight.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-white-ceramic-pour-over-cone-and-glass-carafe-coffee-roaster-hero-on-pale-stone-in-raking-morning-sun-with-steam",
   "type": "registry:block",
   "title": "Ray-Marched White Ceramic Pour-Over Cone and Glass Carafe Coffee Roaster Hero on Pale Stone in Raking Morning Sun with Steam",
   "description": "Free React coffee hero: a glazed pour-over cone drips into a glass carafe on travertine in low morning sun, with rising steam and a sun you can move.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-white-ceramic-pour-over-cone-and-glass-carafe-coffee-roaster-hero-on-pale-stone-in-raking-morning-sun-with-steam.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-white-plaster-architecture-model-hero-with-stairs-arches-and-a-courtyard-where-a-low-sun-follows-the-pointer",
   "type": "registry:block",
   "title": "Ray-Marched White Plaster Architecture Model Hero With Stairs, Arches and a Courtyard Where a Low Sun Follows the Pointer",
   "description": "Free React hero for an architecture practice: a shader-lit plaster study model whose long sun shadows sweep across it as the pointer moves.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-white-plaster-architecture-model-hero-with-stairs-arches-and-a-courtyard-where-a-low-sun-follows-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-marched-wireless-headphones-product-hero-in-matte-plastic-and-leather-on-a-paper-sweep-that-recolours-with-each-swatch",
   "type": "registry:block",
   "title": "Ray-Marched Wireless Headphones Product Hero in Matte Plastic and Leather on a Paper Sweep That Recolours With Each Swatch",
   "description": "Free React product hero: wireless headphones traced in a WebGL shader, matte plastic and soft leather you turn by dragging, with swatches that restyle the set.",
   "files": [
    {
     "path": "components/we-inc/ray-marched-wireless-headphones-product-hero-in-matte-plastic-and-leather-on-a-paper-sweep-that-recolours-with-each-swatch.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-traced-cast-glass-column-bar-chart-that-rises-through-steel-collars-and-throws-amber-to-ruby-light-across-a-white-floor",
   "type": "registry:block",
   "title": "Ray-Traced Cast Glass Column Bar Chart That Rises Through Steel Collars and Throws Amber to Ruby Light Across a White Floor",
   "description": "Free React bar chart whose bars are columns of coloured glass, ray traced in a WebGL shader on a sunlit white floor, with two data sets and a real data table.",
   "files": [
    {
     "path": "components/we-inc/ray-traced-cast-glass-column-bar-chart-that-rises-through-steel-collars-and-throws-amber-to-ruby-light-across-a-white-floor.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-traced-glass-ball-cursor-on-a-wire-that-turns-a-poster-portrait-upside-down-and-burns-the-lamp-to-a-point-when-knocked-to-the-wall",
   "type": "registry:block",
   "title": "Ray-Traced Glass Ball Cursor on a Wire That Turns a Poster Portrait Upside Down and Burns the Lamp to a Point When Knocked to the Wall",
   "description": "Free React cursor effect: a solid glass ball on a steel wire follows the pointer over a poster, flips the portrait inside it and focuses the lamp on the wall.",
   "files": [
    {
     "path": "components/we-inc/ray-traced-glass-ball-cursor-on-a-wire-that-turns-a-poster-portrait-upside-down-and-burns-the-lamp-to-a-point-when-knocked-to-the-wall.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-traced-glass-cabochon-button-over-a-fashion-print-that-splits-colour-throws-caustics-and-drops-when-pressed",
   "type": "registry:component",
   "title": "Ray-Traced Glass Cabochon Button Over a Fashion Print That Splits Colour, Throws Caustics and Drops When Pressed",
   "description": "Glass button traced in a WebGL shader: a dome over a photo print splits colour at its rim, pools light and drops when pressed. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/ray-traced-glass-cabochon-button-over-a-fashion-print-that-splits-colour-throws-caustics-and-drops-when-pressed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-traced-glass-pendant-loader-that-fills-with-glowing-liquid-and-focuses-a-point-of-light-under-a-wall-sized-percentage",
   "type": "registry:block",
   "title": "Ray-Traced Glass Pendant Loader That Fills with Glowing Liquid and Focuses a Point of Light under a Wall-Sized Percentage",
   "description": "Free React progress loader drawn by one WebGL shader: a hanging glass bulb fills with glowing liquid and focuses a point of light beside a huge percentage.",
   "files": [
    {
     "path": "components/we-inc/ray-traced-glass-pendant-loader-that-fills-with-glowing-liquid-and-focuses-a-point-of-light-under-a-wall-sized-percentage.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ray-traced-light-box-history-timeline-with-a-sliding-film-negative-strip-and-a-print-that-develops-beside-it",
   "type": "registry:block",
   "title": "Ray-Traced Light Box History Timeline with a Sliding Film Negative Strip and a Print That Develops Beside It",
   "description": "Free React history timeline: pick a year and a strip of colour negatives slides across a glowing light box while its print develops on the desk.",
   "files": [
    {
     "path": "components/we-inc/ray-traced-light-box-history-timeline-with-a-sliding-film-negative-strip-and-a-print-that-develops-beside-it.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-image-carousel-with-scroll-snap-autoplay-dots-thumbnails-and-swipe",
   "type": "registry:block",
   "title": "React Image Carousel with Scroll Snap, Autoplay, Dots, Thumbnails and Swipe",
   "description": "Free React image carousel in Tailwind with no library: CSS scroll snap, swipe, arrows, dots, keyboard keys and autoplay that pauses on hover and focus.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/react-image-carousel-with-scroll-snap-autoplay-dots-thumbnails-and-swipe.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-modal-popup-dialog-with-focus-trap-confirm-form-bottom-sheet-and-side-drawer",
   "type": "registry:component",
   "title": "React Modal Popup Dialog with Focus Trap, Confirm, Form, Bottom Sheet and Side Drawer",
   "description": "Free React modal popup in one file: focus trap, Escape to close, scroll lock, focus return, click outside. Confirm, form, bottom sheet and drawer.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/react-modal-popup-dialog-with-focus-trap-confirm-form-bottom-sheet-and-side-drawer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-select-dropdown-collection-with-searchable-combobox-multi-select-async-options-and-keyboard-support",
   "type": "registry:block",
   "title": "React Select Dropdown Collection with Searchable Combobox, Multi Select, Async Options and Keyboard Support",
   "description": "Free React select components with Tailwind and no package: searchable combobox, multi-select, chips, async options and grouped lists with full keyboard support.",
   "files": [
    {
     "path": "components/we-inc/react-select-dropdown-collection-with-searchable-combobox-multi-select-async-options-and-keyboard-support.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-stepper-collection-with-horizontal-vertical-progress-steppers-and-a-validated-multi-step-form",
   "type": "registry:block",
   "title": "React Stepper and Multi-Step Form Components",
   "description": "Free React steppers in Tailwind: horizontal, vertical, progress bar, chevron and dots, plus a multi-step form with per-step validation and saved progress.",
   "files": [
    {
     "path": "components/we-inc/react-stepper-collection-with-horizontal-vertical-progress-steppers-and-a-validated-multi-step-form.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-tabs-as-card-stock-file-folders-in-a-sunlit-walnut-desk-file-where-the-chosen-folder-rises-with-its-page",
   "type": "registry:block",
   "title": "React Tabs as Card Stock File Folders in a Sunlit Walnut Desk File Where the Chosen Folder Rises With Its Page",
   "description": "Free React tabs drawn as card stock file folders in a walnut desk file. Pick a tab and the file opens there, lifting that folder and its printed page.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/react-tabs-as-card-stock-file-folders-in-a-sunlit-walnut-desk-file-where-the-chosen-folder-rises-with-its-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-tabs-with-sliding-underline-segmented-pills-vertical-and-icon-count-variants",
   "type": "registry:component",
   "title": "React Tabs with Sliding Underline, Segmented Pills, Vertical and Icon Count Variants",
   "description": "Free accessible React tabs in four styles: sliding underline, segmented pill, vertical and icons with counts. Arrow keys, Home and End, Tailwind.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/react-tabs-with-sliding-underline-segmented-pills-vertical-and-icon-count-variants.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-tag-input-with-autocomplete-suggestions-paste-support-and-coloured-category-chips",
   "type": "registry:component",
   "title": "React Tag Input with Autocomplete Suggestions, Paste Support and Coloured Category Chips",
   "description": "Free React tag input in Tailwind: Enter or comma adds, Backspace removes, paste a list, keyboard suggestions, max count and no duplicates. Copy and paste.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/react-tag-input-with-autocomplete-suggestions-paste-support-and-coloured-category-chips.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-toast-notification-system-with-undo-stacking-and-swipe-to-dismiss",
   "type": "registry:component",
   "title": "React Toast Notification System with Undo, Stacking and Swipe to Dismiss",
   "description": "Free React toast in one file: toast() function, success, error, info and loading states, undo button, stacked cards that fan out, swipe to dismiss.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/react-toast-notification-system-with-undo-stacking-and-swipe-to-dismiss.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "react-tooltip-with-hover-delay-and-escape-to-close",
   "type": "registry:component",
   "title": "React Tooltip With Hover Delay And Escape To Close",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/react-tooltip-with-hover-delay-and-escape-to-close.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "reading-progress-bar-for-long-article",
   "type": "registry:block",
   "title": "Reading Progress Bar for a Long Article",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/reading-progress-bar-for-long-article.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "recipe-card-holder-product-gallery-in-webgl-with-photo-cards-in-a-walnut-stand-on-a-sunlit-counter-that-flip-over-the-back-with-weight",
   "type": "registry:block",
   "title": "Recipe Card Holder Product Gallery in WebGL with Photo Cards in a Walnut Stand on a Sunlit Counter That Flip Over the Back with Weight",
   "description": "Free React WebGL gallery: product photos printed on thick cards in a walnut recipe stand on a sunny counter. Next lifts the front card over the top.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/recipe-card-holder-product-gallery-in-webgl-with-photo-cards-in-a-walnut-stand-on-a-sunlit-counter-that-flip-over-the-back-with-weight.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "reeded-glass-window-with-passing-night-lights-background",
   "type": "registry:block",
   "title": "Reeded Glass with Passing Night Lights",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/reeded-glass-window-with-passing-night-lights-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "responsive-react-navbar-with-mega-menu-animated-hamburger-and-sticky-shrink-on-scroll",
   "type": "registry:block",
   "title": "Responsive React Navbar with Mega Menu, Animated Hamburger and Sticky Shrink on Scroll",
   "description": "Free responsive React navbar in Tailwind: mega menu, dropdown, animated hamburger, sticky bar that shrinks on scroll, active link and full keyboard support.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/responsive-react-navbar-with-mega-menu-animated-hamburger-and-sticky-shrink-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "responsive-table-that-becomes-cards-on-phones",
   "type": "registry:block",
   "title": "Responsive Table That Becomes Cards on Phones",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/responsive-table-that-becomes-cards-on-phones.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "restaurant-pager-puck-alert-that-buzzes-across-a-black-table-with-chasing-red-lights-and-a-dot-matrix-message",
   "type": "registry:component",
   "title": "Restaurant Pager Puck Alert That Buzzes Across a Black Table with Chasing Red Lights and a Dot-Matrix Message",
   "description": "Alert drawn as a restaurant pager: a black puck buzzes across a table, chases red lights round its rim and scrolls your message. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/restaurant-pager-puck-alert-that-buzzes-across-a-black-table-with-chasing-red-lights-and-a-dot-matrix-message.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "restaurant-reservation-book-time-picker-with-a-pencil-on-a-string-that-writes-your-table-into-a-free-line",
   "type": "registry:component",
   "title": "Restaurant Reservation Book Time Picker with a Pencil on a String That Writes Your Table into a Free Line",
   "description": "Reservation picker drawn as a booking book: choose a free line and a pencil on a string writes your table in. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/restaurant-reservation-book-time-picker-with-a-pencil-on-a-string-that-writes-your-table-into-a-free-line.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "reversible-sequin-portrait-panel-that-flips-to-gold-foil-where-the-pointer-brushes",
   "type": "registry:block",
   "title": "Reversible Sequin Portrait Panel That Flips to Gold Foil Where the Pointer Brushes",
   "description": "Cursor effect in WebGL: a panel of flip sequins printed with a portrait, where each disc you brush swings over to its gold back. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/reversible-sequin-portrait-panel-that-flips-to-gold-foil-where-the-pointer-brushes.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "review-card-marquee-with-pause-button",
   "type": "registry:block",
   "title": "Review Card Marquee With Pause Button",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/review-card-marquee-with-pause-button.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rgb-channel-split-glitch-headline-with-slices",
   "type": "registry:block",
   "title": "RGB Channel Split Glitch Headline",
   "description": "Free glitch text effect in pure CSS: red and cyan copies of a headline tear into horizontal slices in two short bursts, then settle. React and HTML versions.",
   "files": [
    {
     "path": "components/we-inc/rgb-channel-split-glitch-headline-with-slices.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rich-toggletip-with-heading-and-link",
   "type": "registry:component",
   "title": "Rich Toggletip With Heading And Link",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rich-toggletip-with-heading-and-link.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ring-binder-tabs-with-coloured-index-dividers-that-turn-over-chrome-rings-to-open-each-section",
   "type": "registry:block",
   "title": "Ring Binder Tabs with Coloured Index Dividers That Turn over Chrome Rings to Open Each Section",
   "description": "Vertical tabs drawn as an open ring binder: press a coloured index tab and the dividers turn over chrome rings to that section. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/ring-binder-tabs-with-coloured-index-dividers-that-turn-over-chrome-rings-to-open-each-section.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ringed-planet-background-with-orbiting-dust-bands-and-ring-shadow",
   "type": "registry:block",
   "title": "Ringed Planet Dust Bands",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/ringed-planet-background-with-orbiting-dust-bands-and-ring-shadow.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rippling-lake-reflection-lines-dawn-background",
   "type": "registry:block",
   "title": "Rippling Lake Reflection at Dawn",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rippling-lake-reflection-lines-dawn-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rising-embers-over-a-dark-hearth-particle-background",
   "type": "registry:block",
   "title": "Rising Embers over a Dark Hearth",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rising-embers-over-a-dark-hearth-particle-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rising-incense-smoke-background-with-curling-wisps-on-charcoal",
   "type": "registry:block",
   "title": "Rising Incense Smoke",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rising-incense-smoke-background-with-curling-wisps-on-charcoal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "riveted-swatch-deck-photo-carousel-that-fans-portraits-round-a-brass-pin",
   "type": "registry:block",
   "title": "Riveted Swatch Deck Photo Carousel That Fans Portraits Round a Brass Pin",
   "description": "Fan carousel styled as a studio swatch deck: portrait leaves pivot on a brass pin and trail each other on springs. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/riveted-swatch-deck-photo-carousel-that-fans-portraits-round-a-brass-pin.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "roller-conveyor-order-tracker-with-a-taped-parcel-that-rides-steel-rollers-past-four-enamel-station-signs-with-lamps",
   "type": "registry:block",
   "title": "Roller Conveyor Order Tracker with a Taped Parcel That Rides Steel Rollers past Four Enamel Station Signs with Lamps",
   "description": "Order tracker drawn as a roller conveyor: a taped parcel rides steel rollers and a lamp lights on each station sign it reaches. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/roller-conveyor-order-tracker-with-a-taped-parcel-that-rides-steel-rollers-past-four-enamel-station-signs-with-lamps.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rolling-odometer-number-counter-with-digit-drums",
   "type": "registry:block",
   "title": "Rolling Odometer Number Counter",
   "description": "Free rolling odometer number counter: digit drums that carry like a real meter, start when scrolled into view and keep the final figure readable. React or HTML.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/rolling-odometer-number-counter-with-digit-drums.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rolling-word-rotator-in-a-fixed-width-slot",
   "type": "registry:component",
   "title": "Rolling Word Rotator in a Fixed Slot",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rolling-word-rotator-in-a-fixed-width-slot.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rotary-card-file-testimonials-with-typed-quote-cards-that-tip-over-the-spindle-and-land-with-a-bounce",
   "type": "registry:block",
   "title": "Rotary Card File Testimonials with Typed Quote Cards That Tip over the Spindle and Land with a Bounce",
   "description": "Testimonial slider built as a desk card file: quote cards with clipped portraits tip over the spindle and land with a bounce. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/rotary-card-file-testimonials-with-typed-quote-cards-that-tip-over-the-spindle-and-land-with-a-bounce.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rotating-headline-scrambles-between-three-phrases",
   "type": "registry:block",
   "title": "Rotating Headline Scrambles Between Three Phrases",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/rotating-headline-scrambles-between-three-phrases.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "round-blue-enamel-wall-plaque-unveiled-from-under-a-linen-cloth-whose-corner-is-carried-across-to-the-other-peg-and-left-hanging-in-folds",
   "type": "registry:block",
   "title": "Round Blue Enamel Wall Plaque Unveiled from Under a Linen Cloth Whose Corner Is Carried Across to the Other Peg and Left Hanging in Folds",
   "description": "Unveiling animation: a simulated linen cloth is lifted off one brass peg and hung on the other to uncover a blue enamel plaque. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/round-blue-enamel-wall-plaque-unveiled-from-under-a-linen-cloth-whose-corner-is-carried-across-to-the-other-peg-and-left-hanging-in-folds.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "round-wall-thermostat-slider-with-a-turning-copper-bezel-and-a-glass-face-that-glows-from-blue-to-amber",
   "type": "registry:component",
   "title": "Round Wall Thermostat Slider with a Turning Copper Bezel and a Glass Face That Glows from Blue to Amber",
   "description": "Thermostat slider on a canvas: turn the copper bezel past a fixed arrow and the glass face glows from blue to amber. Copy the React code or the HTML free.",
   "files": [
    {
     "path": "components/we-inc/round-wall-thermostat-slider-with-a-turning-copper-bezel-and-a-glass-face-that-glows-from-blue-to-amber.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rubber-drum-pad-step-sequencer-with-backlit-silicone-pads-that-squash-and-a-running-step-light",
   "type": "registry:component",
   "title": "Rubber Drum Pad Step Sequencer with Backlit Silicone Pads That Squash and a Running Step Light",
   "description": "Step sequencer on a canvas: a grid of backlit silicone pads that squash under a press, glow per row and flash as the bar plays. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/rubber-drum-pad-step-sequencer-with-backlit-silicone-pads-that-squash-and-a-running-step-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "rubber-stamp-and-ink-pad-that-stamps-a-document-status-with-ink-that-thins-until-it-is-inked-again",
   "type": "registry:block",
   "title": "Rubber Stamp and Ink Pad That Stamps a Document Status with Ink That Thins Until It Is Inked Again",
   "description": "Status stamp with an ink pad: a wooden stamp thumps PAID onto a delivery note in ink that thins until it is inked again. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/rubber-stamp-and-ink-pad-that-stamps-a-document-status-with-ink-that-thins-until-it-is-inked-again.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sand-tile-mosaic-preloader-for-a-photography-gallery",
   "type": "registry:block",
   "title": "Sand Tile Mosaic Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/sand-tile-mosaic-preloader-for-a-photography-gallery.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "satin-opening-ribbon-on-brass-posts-that-brass-scissors-cut-so-both-halves-flutter-down-and-the-page-goes-live",
   "type": "registry:block",
   "title": "Satin Opening Ribbon on Brass Posts That Brass Scissors Cut So Both Halves Flutter Down and the Page Goes Live",
   "description": "Launch moment: a satin ribbon tied between brass posts is cut by scissors and both halves flutter down as the page goes live. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/satin-opening-ribbon-on-brass-posts-that-brass-scissors-cut-so-both-halves-flutter-down-and-the-page-goes-live.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "savings-chart-of-minted-coin-stacks-where-each-deposit-drops-a-coin-that-wobbles-and-settles",
   "type": "registry:component",
   "title": "Savings Chart of Minted Coin Stacks Where Each Deposit Drops a Coin That Wobbles and Settles",
   "description": "Savings chart on a canvas: stacks of gold coins, one per month, where each deposit drops a coin that wobbles and settles. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/savings-chart-of-minted-coin-stacks-where-each-deposit-drops-a-coin-that-wobbles-and-settles.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "scanner-light-bar-sweep-text-reveal",
   "type": "registry:block",
   "title": "Scanner Light Bar Sweep",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/scanner-light-bar-sweep-text-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "scanner-light-bar-sweeping-under-copier-glass-background",
   "type": "registry:block",
   "title": "Scanner Light Bar Under Copier Glass",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/scanner-light-bar-sweeping-under-copier-glass-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "screwgate-carabiner-lock-switch-that-clips-a-rope-snaps-its-gate-shut-and-spins-the-sleeve-up",
   "type": "registry:component",
   "title": "Screwgate Carabiner Lock Switch That Clips a Rope, Snaps Its Gate Shut and Spins the Sleeve Up",
   "description": "Lock switch on a canvas: a rope clips through the gate of a carabiner, the gate snaps shut and the sleeve screws up to lock. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/screwgate-carabiner-lock-switch-that-clips-a-rope-snaps-its-gate-shut-and-spins-the-sleeve-up.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "scroll-cue-that-turns-into-back-to-top-link",
   "type": "registry:block",
   "title": "Scroll Cue That Turns Into Back to Top Link",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/scroll-cue-that-turns-into-back-to-top-link.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "scroll-linked-paragraph-words-brighten-as-you-read",
   "type": "registry:block",
   "title": "Scroll Linked Words Brighten as You Read",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/scroll-linked-paragraph-words-brighten-as-you-read.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "scroll-snap-full-height-sections-with-gentle-parallax",
   "type": "registry:block",
   "title": "Scroll Snap Full Height Sections With Gentle Parallax",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/scroll-snap-full-height-sections-with-gentle-parallax.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "scroll-velocity-marquee-that-speeds-and-reverses",
   "type": "registry:block",
   "title": "Scroll Velocity Marquee That Speeds And Reverses",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/scroll-velocity-marquee-that-speeds-and-reverses.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sea-glass-radial-gradient-stack-background",
   "type": "registry:block",
   "title": "Sea Glass Radial Gradient Stack",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/sea-glass-radial-gradient-stack-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "search-box-placeholder-that-types-product-suggestions",
   "type": "registry:component",
   "title": "Search Box with Typing Placeholder",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/search-box-placeholder-that-types-product-suggestions.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "section-header-words-rise-one-by-one-on-scroll",
   "type": "registry:block",
   "title": "Section Header Words Rise One by One",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/section-header-words-rise-one-by-one-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "segmented-pill-tabs-for-switching-views",
   "type": "registry:component",
   "title": "Segmented Pill Tabs for Switching Views",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/segmented-pill-tabs-for-switching-views.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "segmented-step-progress-bar",
   "type": "registry:component",
   "title": "Segmented Step Progress Bar",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/segmented-step-progress-bar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sentence-to-booking-app-keys-that-lift-off-a-typed-strip-and-seat-into-a-tray",
   "type": "registry:component",
   "title": "Sentence to Booking App: Keys That Lift off a Typed Strip and Seat into a Tray",
   "description": "Phrases of a typed sentence lift off a paper strip as keys and seat into a tray, forming a booking tool you can use. Copy the React code or HTML free.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sentence-to-booking-app-keys-that-lift-off-a-typed-strip-and-seat-into-a-tray.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "service-list-with-a-photo-that-follows-the-pointer",
   "type": "registry:block",
   "title": "Service List With a Photo That Follows the Pointer",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/service-list-with-a-photo-that-follows-the-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "settings-accordion-with-nested-sections",
   "type": "registry:block",
   "title": "Settings Accordion With Nested Sections",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/settings-accordion-with-nested-sections.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sheer-linen-curtain-webgl-background-where-afternoon-sun-and-leaf-shadows-sway-across-a-plaster-wall",
   "type": "registry:block",
   "title": "Sheer Linen Curtain WebGL Background Where Afternoon Sun and Leaf Shadows Sway Across a Plaster Wall",
   "description": "Free React hero background: low sun through a swaying linen curtain and a tree, traced in WebGL onto lime plaster and oak, with soft dappled leaf shadows.",
   "files": [
    {
     "path": "components/we-inc/sheer-linen-curtain-webgl-background-where-afternoon-sun-and-leaf-shadows-sway-across-a-plaster-wall.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "shoe-size-foot-gauge-selector-with-a-sliding-steel-toe-bar-engraved-scales-read-through-cursor-windows-and-a-knurled-width-knob",
   "type": "registry:component",
   "title": "Shoe Size Foot Gauge Selector with a Sliding Steel Toe Bar, Engraved Scales Read Through Cursor Windows and a Knurled Width Knob",
   "description": "Shoe size picker drawn as a shop fitting gauge: drag the toe bar along the plate and read size and length through its windows. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/shoe-size-foot-gauge-selector-with-a-sliding-steel-toe-bar-engraved-scales-read-through-cursor-windows-and-a-knurled-width-knob.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "shoebox-with-a-hinged-lid-that-lifts-and-tissue-paper-that-parts-over-a-pair-of-leather-shoes",
   "type": "registry:block",
   "title": "Shoebox with a Hinged Lid That Lifts and Tissue Paper That Parts over a Pair of Leather Shoes",
   "description": "Product reveal built as a shoebox in 3D: the hinged lid lifts, sheets of tissue part and curl, and the shoes lie beneath. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/shoebox-with-a-hinged-lid-that-lifts-and-tissue-paper-that-parts-over-a-pair-of-leather-shoes.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "shop-door-open-closed-enamel-sign-toggle-that-spins-on-its-chain-and-rings-a-brass-bell",
   "type": "registry:component",
   "title": "Shop Door Open Closed Enamel Sign Toggle That Spins on Its Chain and Rings a Brass Bell",
   "description": "Toggle built as a shop door: an enamel sign on a chain spins from Open to Closed, a brass bell swings and the shop lights go out. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/shop-door-open-closed-enamel-sign-toggle-that-spins-on-its-chain-and-rings-a-brass-bell.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "shop-support-reply-typed-out-word-by-word",
   "type": "registry:component",
   "title": "Shop Support Reply Typed Word by Word",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/shop-support-reply-typed-out-word-by-word.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "shortbread-letters-cut-from-dough-that-rise-and-brown-on-a-baking-tray-and-lose-a-bite-when-tapped",
   "type": "registry:component",
   "title": "Shortbread Letters Cut From Dough That Rise and Brown on a Baking Tray and Lose a Bite When Tapped",
   "description": "Text effect with a word as shortbread on a baking tray: retype it to watch the dough brown, then tap a letter to bite it. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/shortbread-letters-cut-from-dough-that-rise-and-brown-on-a-baking-tray-and-lose-a-bite-when-tapped.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sibling-pages-slide-in-reading-direction",
   "type": "registry:block",
   "title": "Sibling Pages Slide in Reading Direction",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sibling-pages-slide-in-reading-direction.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sidebar-navigation-collection-with-collapsible-icon-rail-nested-groups-and-mobile-drawer",
   "type": "registry:block",
   "title": "Sidebar Navigation Layouts for React and Tailwind",
   "description": "Free React and Tailwind sidebars: collapsible icon rail, two-level rail with panel, nested groups with filter, mobile drawer, dark switcher and HTML only.",
   "files": [
    {
     "path": "components/we-inc/sidebar-navigation-collection-with-collapsible-icon-rail-nested-groups-and-mobile-drawer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "signature-pad-on-cotton-paper-with-a-fountain-pen-that-leaves-wet-ink-which-dries",
   "type": "registry:component",
   "title": "Signature Pad on Cotton Paper with a Fountain Pen That Leaves Wet Ink Which Dries",
   "description": "Signature field on a canvas: a fountain pen follows your hand across cotton paper and the ink goes down wet, then dries flat. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/signature-pad-on-cotton-paper-with-a-fountain-pen-that-leaves-wet-ink-which-dries.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "signup-form-with-inline-validation-messages",
   "type": "registry:component",
   "title": "Signup Form With Inline Validation Messages",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/signup-form-with-inline-validation-messages.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "silk-flowing-line-bundle-canvas-background",
   "type": "registry:block",
   "title": "Silk Flowing Line Bundle",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/silk-flowing-line-bundle-canvas-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "silver-cloche-pricing-in-webgl-where-the-chosen-dome-lifts-off-its-plate-on-a-white-tablecloth-in-window-light",
   "type": "registry:block",
   "title": "Silver Cloche Pricing in WebGL Where the Chosen Dome Lifts Off Its Plate on a White Tablecloth in Window Light",
   "description": "Free React pricing section in raw WebGL: three polished silver cloches on a linen tablecloth; choosing a plan lifts its dome to show the price on the plate.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/silver-cloche-pricing-in-webgl-where-the-chosen-dome-lifts-off-its-plate-on-a-white-tablecloth-in-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "silver-foil-balloon-letters-on-strings-that-bob-bump-and-mirror-the-studio",
   "type": "registry:component",
   "title": "Silver Foil Balloon Letters on Strings That Bob, Bump and Mirror the Studio",
   "description": "WebGL text effect: a word as foil balloons on strings that bob, bump each other and mirror a studio softbox near the pointer. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/silver-foil-balloon-letters-on-strings-that-bob-bump-and-mirror-the-studio.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "single-field-otp-input-with-letter-spacing",
   "type": "registry:component",
   "title": "Single Field OTP Input With Letter Spacing",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/single-field-otp-input-with-letter-spacing.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "single-open-react-accordion-with-aria-controls",
   "type": "registry:block",
   "title": "Single-Open React Accordion With aria-controls",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/single-open-react-accordion-with-aria-controls.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "six-box-otp-input-with-auto-advance-and-paste",
   "type": "registry:component",
   "title": "Six Box OTP Input With Auto Advance and Paste",
   "description": "Free six-box OTP input in HTML, CSS and React: focus moves on as you type, Backspace steps back, paste or SMS autofill fills every box, arrows move between digits.",
   "files": [
    {
     "path": "components/we-inc/six-box-otp-input-with-auto-advance-and-paste.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sixteen-millimetre-film-projector-gallery-with-turning-reels-a-dusty-beam-and-stills-that-flicker-onto-a-tripod-screen",
   "type": "registry:block",
   "title": "Sixteen Millimetre Film Projector Gallery with Turning Reels, a Dusty Beam and Stills That Flicker onto a Tripod Screen",
   "description": "Gallery on a canvas: a film projector with turning reels throws a dusty beam at a tripod screen where each still flickers on. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sixteen-millimetre-film-projector-gallery-with-turning-reels-a-dusty-beam-and-stills-that-flicker-onto-a-tripod-screen.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slate-checklist-preloader-that-ticks-off-each-photo-by-name",
   "type": "registry:block",
   "title": "Slate Checklist Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/slate-checklist-preloader-that-ticks-off-each-photo-by-name.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slate-page-that-shrinks-aside-to-uncover-the-menu",
   "type": "registry:block",
   "title": "Slate Page That Shrinks Aside to Uncover the Menu",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/slate-page-that-shrinks-aside-to-uncover-the-menu.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slatted-blind-sunlight-sliding-across-plaster-wall-background",
   "type": "registry:block",
   "title": "Slatted Blind Sunlight on a Plaster Wall",
   "description": "Free animated background in pure CSS: warm light through window blinds drifts across a grainy plaster wall. React and plain HTML versions, no canvas.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/slatted-blind-sunlight-sliding-across-plaster-wall-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slide-projector-photo-carousel-with-a-tray-that-clicks-round-and-drops-each-frame-into-the-beam",
   "type": "registry:block",
   "title": "Slide Projector Photo Carousel with a Ribbed Tray That Clicks Round and Drops Each Frame into the Beam",
   "description": "Slideshow staged as a slide projector: click the tray round a notch and the next photo drops into the beam. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/slide-projector-photo-carousel-with-a-tray-that-clicks-round-and-drops-each-frame-into-the-beam.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slider-with-draggable-scrubber-handle",
   "type": "registry:block",
   "title": "Slider With Draggable Scrubber Handle",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/slider-with-draggable-scrubber-handle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sliding-block-puzzle-tray-where-page-sections-are-thick-glazed-tiles-you-slide-to-rearrange-a-homepage-on-a-phone",
   "type": "registry:component",
   "title": "Sliding Block Puzzle Tray Where Page Sections Are Thick Glazed Tiles You Slide to Rearrange a Homepage on a Phone",
   "description": "A tray of thick glazed tiles, each a section of a shop's homepage: slide one and the page on the phone beside it rearranges. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sliding-block-puzzle-tray-where-page-sections-are-thick-glazed-tiles-you-slide-to-rearrange-a-homepage-on-a-phone.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slow-navy-blob-behind-client-quote",
   "type": "registry:block",
   "title": "Slow Navy Blob Behind Client Quote",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/slow-navy-blob-behind-client-quote.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slow-tide-on-wet-sand-with-receding-sheen-background",
   "type": "registry:block",
   "title": "Slow Tide on Wet Sand",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/slow-tide-on-wet-sand-with-receding-sheen-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "slr-viewfinder-photo-gallery-with-a-split-image-focusing-circle-you-line-up-before-the-shutter-fires",
   "type": "registry:block",
   "title": "SLR Viewfinder Photo Gallery with a Split-Image Focusing Circle You Line Up Before the Shutter Fires",
   "description": "Viewfinder gallery: each photo arrives blurred, you turn the lens ring until the split circle lines up, then the shutter fires. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/slr-viewfinder-photo-gallery-with-a-split-image-focusing-circle-you-line-up-before-the-shutter-fires.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "snap-photo-strip-with-centre-card-growing",
   "type": "registry:block",
   "title": "Snap Photo Strip with Centre Card Growing",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/snap-photo-strip-with-centre-card-growing.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "snap-scroll-bread-shelf-with-arrow-buttons",
   "type": "registry:block",
   "title": "Snap Scroll Bread Shelf with Arrow Buttons",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/snap-scroll-bread-shelf-with-arrow-buttons.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "snow-globe-you-shake-with-drifting-flakes-over-a-tiny-cabin-on-a-turned-walnut-base",
   "type": "registry:component",
   "title": "Snow Globe You Shake with Drifting Flakes over a Tiny Cabin on a Turned Walnut Base",
   "description": "Canvas snow globe: grab and shake it, and the water lags behind the glass, whirls the flakes up and lets them sink over a cabin. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/snow-globe-you-shake-with-drifting-flakes-over-a-tiny-cabin-on-a-turned-walnut-base.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "soft-silicone-pill-navbar-with-a-glowing-ball-rolling-under-the-rubber",
   "type": "registry:component",
   "title": "Soft Silicone Pill Navbar with a Glowing Ball Rolling Under the Rubber",
   "description": "Floating pill navbar shaded like silicone: a glowing ball under the rubber marks the current page and stretches as it rolls. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/soft-silicone-pill-navbar-with-a-glowing-ball-rolling-under-the-rubber.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "soft-spotlight-gradient-following-pointer-background",
   "type": "registry:block",
   "title": "Soft Spotlight That Follows the Pointer",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/soft-spotlight-gradient-following-pointer-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sonar-pulse-rings-expanding-over-a-dark-chart",
   "type": "registry:component",
   "title": "Sonar Pulse Rings",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/sonar-pulse-rings-expanding-over-a-dark-chart.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sortable-order-table-beside-a-webgl-oak-card-index-drawer-that-riffles-its-cards-into-the-new-order-and-lifts-the-hovered-row",
   "type": "registry:block",
   "title": "Sortable Order Table Beside a WebGL Oak Card Index Drawer That Riffles Its Cards into the New Order and Lifts the Hovered Row",
   "description": "Free sortable React table of shop orders beside a WebGL oak card drawer. Sorting re-files the index cards and the hovered row lifts its card.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sortable-order-table-beside-a-webgl-oak-card-index-drawer-that-riffles-its-cards-into-the-new-order-and-lifts-the-hovered-row.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sortable-react-table-with-aria-sort",
   "type": "registry:block",
   "title": "Sortable React Table With aria-sort",
   "description": "Free sortable React table in Tailwind with no library: click headers to sort, aria-sort on the active column, a caption, row headers and a plain HTML version.",
   "files": [
    {
     "path": "components/we-inc/sortable-react-table-with-aria-sort.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "speedometer-and-rev-counter-pair-in-a-stitched-leather-binnacle-with-a-start-up-needle-sweep-and-a-working-throttle",
   "type": "registry:component",
   "title": "Speedometer and Rev Counter Pair in a Stitched Leather Binnacle with a Start-Up Needle Sweep and a Working Throttle",
   "description": "Instrument cluster on a canvas: a speedometer and rev counter under glass, with a start-up needle sweep and a working throttle. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/speedometer-and-rev-counter-pair-in-a-stitched-leather-binnacle-with-a-start-up-needle-sweep-and-a-working-throttle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "spice-jar-rack-filter-with-glass-jars-that-turn-behind-a-brass-rail-to-show-their-labels",
   "type": "registry:component",
   "title": "Spice Jar Rack Filter with Glass Jars That Turn Behind a Brass Rail to Show Their Labels",
   "description": "Filter where each chip is a glass spice jar on a shelf: press a jar and it turns behind a brass rail so its label faces you. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/spice-jar-rack-filter-with-glass-jars-that-turn-behind-a-brass-rail-to-show-their-labels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "spirit-level-balance-indicator-with-a-bubble-vial-that-settles-between-two-values",
   "type": "registry:component",
   "title": "Spirit Level Balance Indicator with a Bubble Vial That Settles Between Two Values",
   "description": "Status indicator drawn as a spirit level: the bubble runs uphill when the values drift apart and centres when they match. Free React code and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/spirit-level-balance-indicator-with-a-bubble-vial-that-settles-between-two-values.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "split-colour-button-second-colour-slides-in",
   "type": "registry:block",
   "title": "Split Colour Button With a Sliding Second Colour",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/split-colour-button-second-colour-slides-in.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "split-columns-slide-in-opposite-directions",
   "type": "registry:block",
   "title": "Split Columns Slide in Opposite Directions",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/split-columns-slide-in-opposite-directions.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "split-flap-number-counter-with-hinged-digit-leaves",
   "type": "registry:component",
   "title": "Split-Flap Number Counter",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/split-flap-number-counter-with-hinged-digit-leaves.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "split-flap-station-board-countdown-that-clatters-down-to-a-launch-date",
   "type": "registry:block",
   "title": "Split-Flap Station Board Countdown That Clatters Down to a Launch Date",
   "description": "Countdown built as a departure board: split flaps behind glass clatter through their drums to show days, hours and seconds. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/split-flap-station-board-countdown-that-clatters-down-to-a-launch-date.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "spring-chain-ribbon-trail-following-pointer",
   "type": "registry:block",
   "title": "Spring Chain Ribbon Trail",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/spring-chain-ribbon-trail-following-pointer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stacked-letter-tiles-logo-that-unfolds-like-paper",
   "type": "registry:component",
   "title": "Stacked Letter Tiles That Unfold",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/stacked-letter-tiles-logo-that-unfolds-like-paper.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stacked-pricing-plan-cards-that-pile-up-on-scroll",
   "type": "registry:block",
   "title": "Stacked Pricing Plan Cards That Pile Up on Scroll",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/stacked-pricing-plan-cards-that-pile-up-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "staff-locker-wall-team-section-with-steel-doors-that-swing-open-on-a-taped-portrait-and-a-shelf-of-belongings",
   "type": "registry:block",
   "title": "Staff Locker Wall Team Section with Steel Doors That Swing Open on a Taped Portrait and a Shelf of Belongings",
   "description": "Team section drawn as a bank of steel lockers: each door swings open on a taped portrait and a shelf of belongings. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion",
    "lucide-react"
   ],
   "files": [
    {
     "path": "components/we-inc/staff-locker-wall-team-section-with-steel-doors-that-swing-open-on-a-taped-portrait-and-a-shelf-of-belongings.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stainless-vernier-caliper-number-input-with-jaws-that-close-on-a-brass-bar-and-a-scale-that-reads-true",
   "type": "registry:component",
   "title": "Stainless Vernier Caliper Number Input with Jaws That Close on a Brass Bar and a Scale That Reads True",
   "description": "Number input drawn as a steel vernier caliper: slide the jaw onto a brass bar and read tenths from a scale that reads true. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/stainless-vernier-caliper-number-input-with-jaws-that-close-on-a-brass-bar-and-a-scale-that-reads-true.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "star-rating-collection-with-half-stars-pure-css-radio-version-and-review-summary-in-react-and-html",
   "type": "registry:block",
   "title": "Star Rating Collection with Half Stars, a Pure CSS Radio Version and a Review Summary in React and HTML",
   "description": "Free star rating components: read-only quarter stars, half-star input, a pure CSS radio version, numbered tiles and a review summary with bars. React and HTML.",
   "files": [
    {
     "path": "components/we-inc/star-rating-collection-with-half-stars-pure-css-radio-version-and-review-summary-in-react-and-html.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stats-band-figures-slide-up-into-place",
   "type": "registry:block",
   "title": "Stats Band Figures Slide Up Into Place",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/stats-band-figures-slide-up-into-place.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stats-bento-grid-for-a-dashboard",
   "type": "registry:block",
   "title": "Stats Bento Grid for a Dashboard",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/stats-bento-grid-for-a-dashboard.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "steel-ball-bearing-loader-that-drops-a-ball-into-the-race-for-every-tenth-loaded",
   "type": "registry:component",
   "title": "Steel Ball Bearing Loader That Drops a Ball into the Race for Every Tenth Loaded",
   "description": "Loader on a canvas: a steel bearing whose brass cage takes another ball for each tenth loaded, with the percentage in the bore. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/steel-ball-bearing-loader-that-drops-a-ball-into-the-race-for-every-tenth-loaded.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "steel-roller-shutter-stencilled-draft-that-rattles-up-to-show-a-lit-shop-window-holding-the-live-site",
   "type": "registry:block",
   "title": "Steel Roller Shutter Stencilled Draft That Rattles Up to Show a Lit Shop Window Holding the Live Site",
   "description": "Publish toggle as a shopfront: a shutter marked DRAFT rattles up and the live site stands in the window. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/steel-roller-shutter-stencilled-draft-that-rattles-up-to-show-a-lit-shop-window-holding-the-live-site.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "steel-safe-promo-code-reveal-with-a-combination-dial-you-turn-and-a-thick-door-that-swings-open",
   "type": "registry:block",
   "title": "Steel Safe Promo Code Reveal with a Combination Dial You Turn and a Thick Door That Swings Open",
   "description": "Promo code reveal: turn the combination dial of a steel safe to the right numbers and the thick door swings open on the code. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/steel-safe-promo-code-reveal-with-a-combination-dial-you-turn-and-a-thick-door-that-swings-open.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "steel-tape-measure-range-slider-with-a-blade-that-sags-a-thumb-lock-and-spring-rewind",
   "type": "registry:component",
   "title": "Steel Tape Measure Range Slider with a Blade That Sags, a Thumb Lock and Spring Rewind",
   "description": "Range slider drawn as a pocket tape measure: pull the blade out, watch it sag under its weight and slide the lock off to rewind. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/steel-tape-measure-range-slider-with-a-blade-that-sags-a-thumb-lock-and-spring-rewind.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "steel-wristwatch-with-a-sweeping-seconds-hand-date-window-and-a-crown-you-pull-to-set-the-time",
   "type": "registry:component",
   "title": "Steel Wristwatch with a Sweeping Seconds Hand, Date Window and a Crown You Pull to Set the Time",
   "description": "Wristwatch on a canvas: a sunburst dial, a sweeping seconds hand, a live date window and a crown you pull out to set the time. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/steel-wristwatch-with-a-sweeping-seconds-hand-date-window-and-a-crown-you-pull-to-set-the-time.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stepper-with-an-error-step",
   "type": "registry:component",
   "title": "Stepper With an Error Step",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/stepper-with-an-error-step.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "stereo-vu-meter-pair-with-needle-ballistics-backlit-faces-and-drive-knob",
   "type": "registry:component",
   "title": "Stereo VU Meter Pair with Needle Ballistics, Backlit Faces and Drive Knob",
   "description": "VU meters on a canvas: backlit faces behind glass, needles that swing with real weight, a peak lamp and a drive knob. Copy the React code or the HTML free.",
   "files": [
    {
     "path": "components/we-inc/stereo-vu-meter-pair-with-needle-ballistics-backlit-faces-and-drive-knob.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sticky-chapter-label-follows-current-section",
   "type": "registry:block",
   "title": "Sticky Chapter Label That Follows the Section",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sticky-chapter-label-follows-current-section.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sticky-photo-backdrop-with-cards-passing-over",
   "type": "registry:block",
   "title": "Sticky Photo Backdrop With Cards Passing Over",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/sticky-photo-backdrop-with-cards-passing-over.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sticky-stacking-cards-that-scale-down-and-dim",
   "type": "registry:block",
   "title": "Sticky Stacking Cards That Scale Down and Dim",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sticky-stacking-cards-that-scale-down-and-dim.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "store-locator-collection-with-svg-map-postcode-search-distance-sort-open-now-and-localbusiness-schema",
   "type": "registry:block",
   "title": "Store Locator with Map, Postcode Search, Open Now and Schema",
   "description": "Free store locator code: postcode search, distance sort with the haversine formula, open now from opening hours, directions links and LocalBusiness JSON-LD.",
   "files": [
    {
     "path": "components/we-inc/store-locator-collection-with-svg-map-postcode-search-distance-sort-open-now-and-localbusiness-schema.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "strip-chart-recorder-line-chart-with-a-sprung-ink-pen-on-moving-grid-paper-and-two-data-sets",
   "type": "registry:component",
   "title": "Strip Chart Recorder Line Chart with a Sprung Ink Pen on Moving Grid Paper and Two Data Sets",
   "description": "Line chart drawn by a pen recorder on a canvas: grid paper feeds past a stylus that inks each value, with a second data set. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/strip-chart-recorder-line-chart-with-a-sprung-ink-pen-on-moving-grid-paper-and-two-data-sets.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "striped-animated-progress-bar",
   "type": "registry:component",
   "title": "Striped Animated Progress Bar",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/striped-animated-progress-bar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "striped-comparison-table-with-sticky-header",
   "type": "registry:block",
   "title": "Striped Comparison Table With Sticky Header",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/striped-comparison-table-with-sticky-header.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "striped-windsock-and-cup-anemometer-wind-speed-slider-with-cloth-that-fills-lifts-and-flutters",
   "type": "registry:component",
   "title": "Striped Windsock and Cup Anemometer Wind Speed Slider with Cloth That Fills, Lifts and Flutters",
   "description": "Level indicator as a windsock under a cup anemometer: set the wind with a slider and the cloth fills, lifts and flutters. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/striped-windsock-and-cup-anemometer-wind-speed-slider-with-cloth-that-fills-lifts-and-flutters.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sun-crosses-the-sky-through-a-day-on-scroll",
   "type": "registry:block",
   "title": "Sun Crosses The Sky Through A Day",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sun-crosses-the-sky-through-a-day-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sunlit-cast-resin-cube-pricing-in-webgl-where-a-shaft-of-window-light-picks-the-plan-and-the-cubes-tumble-over-to-yearly",
   "type": "registry:block",
   "title": "Sunlit Cast Resin Cube Pricing in WebGL Where a Shaft of Window Light Picks the Plan and the Cubes Tumble over to Yearly",
   "description": "Free React pricing section in raw WebGL: three cast resin cubes on stone, a shaft of sun that moves to the chosen plan, and cubes that tip over for yearly prices.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sunlit-cast-resin-cube-pricing-in-webgl-where-a-shaft-of-window-light-picks-the-plan-and-the-cubes-tumble-over-to-yearly.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sunlit-print-table-photo-gallery-in-webgl-where-the-chosen-print-lifts-off-travertine-into-focus-through-window-light-and-leaf-shadows",
   "type": "registry:block",
   "title": "Sunlit Print Table Photo Gallery in WebGL Where the Chosen Print Lifts off Travertine into Focus Through Window Light and Leaf Shadows",
   "description": "Free 3D photo gallery in raw WebGL: curled prints on a sunlit travertine table, one lifts into focus while its shadow softens. React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sunlit-print-table-photo-gallery-in-webgl-where-the-chosen-print-lifts-off-travertine-into-focus-through-window-light-and-leaf-shadows.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sunset-haze-over-warm-paper-gradient-background",
   "type": "registry:block",
   "title": "Sunset Haze Over Warm Paper",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/sunset-haze-over-warm-paper-gradient-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "sushi-conveyor-product-carousel-with-photographed-platters-that-glide-past-on-a-belt-and-lift-off-onto-a-black-counter",
   "type": "registry:block",
   "title": "Sushi Conveyor Product Carousel with Photographed Platters That Glide past on a Belt and Lift off onto a Black Counter",
   "description": "Product carousel built as a sushi bar: photographed platters glide past on a belt and the one you tap lifts off onto the counter. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/sushi-conveyor-product-carousel-with-photographed-platters-that-glide-past-on-a-belt-and-lift-off-onto-a-black-counter.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "swimming-pool-floor-webgl-background-with-mosaic-tiles-under-drifting-caustic-light",
   "type": "registry:block",
   "title": "Swimming Pool Floor WebGL Background with Mosaic Tiles Under Drifting Caustic Light",
   "description": "Pool background in WebGL: a shader draws a mosaic tile floor under clear water with caustic light drifting over it. Copy the React code or the HTML free.",
   "files": [
    {
     "path": "components/we-inc/swimming-pool-floor-webgl-background-with-mosaic-tiles-under-drifting-caustic-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "table-with-row-selection-and-bulk-actions",
   "type": "registry:block",
   "title": "Table With Row Selection and Bulk Actions",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/table-with-row-selection-and-bulk-actions.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tabs-with-count-badges",
   "type": "registry:component",
   "title": "Tabs With Count Badges",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tabs-with-count-badges.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tag-input-that-adds-on-enter-or-comma-and-removes-with-backspace",
   "type": "registry:component",
   "title": "Tag Input That Adds on Enter or Comma and Removes With Backspace",
   "description": "Free React tag input with Tailwind and a plain HTML version: Enter or comma adds a chip, Backspace removes the last one, paste splits lists, changes are announced.",
   "files": [
    {
     "path": "components/we-inc/tag-input-that-adds-on-enter-or-comma-and-removes-with-backspace.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tag-input-with-arrow-key-autocomplete-suggestion-list",
   "type": "registry:component",
   "title": "Tag Input With Arrow Key Autocomplete Suggestion List",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tag-input-with-arrow-key-autocomplete-suggestion-list.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tag-input-with-coloured-category-chips",
   "type": "registry:component",
   "title": "Tag Input With Coloured Category Chips",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tag-input-with-coloured-category-chips.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tag-input-with-max-tag-counter-and-duplicate-warning",
   "type": "registry:component",
   "title": "Tag Input With Max Tag Counter and Duplicate Warning",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tag-input-with-max-tag-counter-and-duplicate-warning.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tailwind-footer-collection-with-copyable-react-jsx-and-html-for-every-footer",
   "type": "registry:block",
   "title": "34 Tailwind Footers You Can Copy as React or HTML",
   "description": "Free Tailwind footer examples: multi-column, newsletter, big wordmark, local business hours, shop and legal bars. Copy each as React JSX or plain HTML.",
   "files": [
    {
     "path": "components/we-inc/tailwind-footer-collection-with-copyable-react-jsx-and-html-for-every-footer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tailwind-hero-sections-collection-with-copyable-react-and-html-for-every-hero",
   "type": "registry:block",
   "title": "50 Tailwind Hero Sections You Can Copy",
   "description": "Free set of 50 Tailwind hero sections: split image, photo background, SaaS, shop, app, event and newsletter. Copy each as React JSX or plain HTML.",
   "files": [
    {
     "path": "components/we-inc/tailwind-hero-sections-collection-with-copyable-react-and-html-for-every-hero.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tailwind-pricing-tables-collection-with-copyable-react-jsx-and-html-for-every-section",
   "type": "registry:block",
   "title": "35 Tailwind Pricing Tables You Can Copy",
   "description": "Free Tailwind pricing tables: 35 sections with working yearly toggles, usage sliders, comparison tables and FAQs. Copy each as React JSX or HTML.",
   "files": [
    {
     "path": "components/we-inc/tailwind-pricing-tables-collection-with-copyable-react-jsx-and-html-for-every-section.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tailwind-product-card-row-with-photoreal-ceramic-cup-glass-carafe-and-linen-napkins-in-window-light",
   "type": "registry:block",
   "title": "Tailwind Product Card Row with a Photoreal Ceramic Cup, Glass Carafe and Linen Napkins in Window Light",
   "description": "Free React and Tailwind product cards: three cards with a title, price and add to cart button, each photo a live rendered object in window light.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/tailwind-product-card-row-with-photoreal-ceramic-cup-glass-carafe-and-linen-napkins-in-window-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tailwind-table-react-data-table-with-sorting-search-row-selection-and-pagination",
   "type": "registry:block",
   "title": "Tailwind Table: React Data Table with Sorting, Search, Row Selection and Pagination",
   "description": "Free Tailwind table for React: sortable columns, search, status filters, checkbox selection, pagination and phone cards. No table library needed.",
   "files": [
    {
     "path": "components/we-inc/tailwind-table-react-data-table-with-sorting-search-row-selection-and-pagination.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tailwind-tooltip-css-with-arrow-on-four-sides",
   "type": "registry:component",
   "title": "Tailwind Tooltip CSS With Arrow On Four Sides",
   "description": "Free Tailwind and CSS tooltip with an arrow on top, right, bottom or left, shown on hover and keyboard focus, linked with aria-describedby and closed by Escape.",
   "files": [
    {
     "path": "components/we-inc/tailwind-tooltip-css-with-arrow-on-four-sides.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tea-cards-with-a-circle-opening-to-the-cup",
   "type": "registry:block",
   "title": "Tea Cards With A Circle Opening To The Cup",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tea-cards-with-a-circle-opening-to-the-cup.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tea-list-rows-stretch-with-scroll-speed",
   "type": "registry:block",
   "title": "Tea List Rows Stretch With Scroll Speed",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tea-list-rows-stretch-with-scroll-speed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tear-off-desk-calendar-with-pages-that-peel-curl-and-flutter-away",
   "type": "registry:block",
   "title": "Tear-Off Desk Calendar with Pages That Peel, Curl and Flutter Away",
   "description": "Tear-off day calendar: drag a page up and it curls off the pad in 3D, rips at the binding and flutters away to show tomorrow. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/tear-off-desk-calendar-with-pages-that-peel-curl-and-flutter-away.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "terminal-command-css-typewriter-with-output-lines",
   "type": "registry:component",
   "title": "Terminal Command Typewriter",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/terminal-command-css-typewriter-with-output-lines.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "terracotta-curtain-menu-that-drops-with-rising-links",
   "type": "registry:block",
   "title": "Terracotta Curtain Menu That Drops With Rising Links",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/terracotta-curtain-menu-that-drops-with-rising-links.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "terracotta-curtain-wipe-headline-reveal",
   "type": "registry:block",
   "title": "Terracotta Curtain Wipe Headline",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/terracotta-curtain-wipe-headline-reveal.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "terracotta-double-wipe-preloader-for-a-ceramics-shop",
   "type": "registry:block",
   "title": "Terracotta Double Wipe Preloader",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/terracotta-double-wipe-preloader-for-a-ceramics-shop.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "terracotta-poster-block-with-coarse-canvas-grain",
   "type": "registry:block",
   "title": "Terracotta Poster Block With Coarse Canvas Grain",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/terracotta-poster-block-with-coarse-canvas-grain.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "testimonial-cards-stacking-with-alternating-tilt",
   "type": "registry:block",
   "title": "Testimonial Cards Stacking With Alternating Tilt",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/testimonial-cards-stacking-with-alternating-tilt.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "testimonial-section-examples-with-copyable-react-tailwind-and-html-for-every-layout",
   "type": "registry:block",
   "title": "34 Testimonial Section Examples You Can Copy",
   "description": "Free testimonial section designs: grids, masonry walls, a keyboard slider, marquees, video posters and case studies. Copy each as React JSX or plain HTML.",
   "files": [
    {
     "path": "components/we-inc/testimonial-section-examples-with-copyable-react-tailwind-and-html-for-every-layout.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "testimonial-slider-with-big-quote-and-drag",
   "type": "registry:block",
   "title": "Testimonial Slider With Big Quote and Drag",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/testimonial-slider-with-big-quote-and-drag.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "text-on-circular-path-rotating-badge",
   "type": "registry:block",
   "title": "Text on a Circular Path Rotating Badge",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/text-on-circular-path-rotating-badge.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "text-roll-button-with-letters-rolling-up",
   "type": "registry:block",
   "title": "Text Roll Button With Letters Rolling Up",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/text-roll-button-with-letters-rolling-up.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "text-shadow-depth-following-a-moving-light",
   "type": "registry:component",
   "title": "Text Shadow Depth Following a Moving Light",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/text-shadow-depth-following-a-moving-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "thick-glass-pill-button-that-refracts-a-portrait-and-flattens-when-pressed",
   "type": "registry:component",
   "title": "Thick Glass Pill Button That Refracts a Portrait and Flattens When Pressed",
   "description": "Glass pill button on a canvas: its rounded rim bends the portrait behind it with colour fringing and flattens when pressed. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/thick-glass-pill-button-that-refracts-a-portrait-and-flattens-when-pressed.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "thin-arrow-sliding-down-vertical-rule-on-photo-hero",
   "type": "registry:block",
   "title": "Thin Arrow Sliding Down a Vertical Rule on Photo Hero",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/thin-arrow-sliding-down-vertical-rule-on-photo-hero.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "thin-flowing-sound-wave-lines-on-ink-background",
   "type": "registry:block",
   "title": "Thin Flowing Sound Wave Lines",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/thin-flowing-sound-wave-lines-on-ink-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "thread-spool-rack-colour-filter-with-cross-wound-cotton-reels-that-pay-out-thread-and-drop-a-swinging-button",
   "type": "registry:component",
   "title": "Thread Spool Rack Colour Filter with Cross-Wound Cotton Reels That Pay Out Thread and Drop a Swinging Button",
   "description": "Colour filter built as a rail of cotton reels: choose a colour and its reel turns, pays out thread and drops a swinging button. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/thread-spool-rack-colour-filter-with-cross-wound-cotton-reels-that-pay-out-thread-and-drop-a-swinging-button.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "three-cloth-bound-sample-books-lying-open-side-by-side-with-a-site-design-across-each-spread-that-close-their-covers-when-you-pick-one",
   "type": "registry:block",
   "title": "Three Cloth-Bound Sample Books Lying Open Side by Side with a Site Design Across Each Spread That Close Their Covers When You Pick One",
   "description": "Design comparison with cloth-bound books lying open, a website design across each spread: pick one and the others close. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/three-cloth-bound-sample-books-lying-open-side-by-side-with-a-site-design-across-each-spread-that-close-their-covers-when-you-pick-one.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "three-folded-design-proofs-dealt-like-a-hand-where-the-chosen-one-unfolds-into-a-full-page",
   "type": "registry:block",
   "title": "Three Folded Design Proofs Dealt Like a Hand Where the Chosen One Unfolds into a Full Page",
   "description": "Design picker with folded proofs of one website dealt like a hand: the one you choose unfolds in panels into the full page. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/three-folded-design-proofs-dealt-like-a-hand-where-the-chosen-one-unfolds-into-a-full-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "three-glass-cake-domes-on-ceramic-stands-each-keeping-a-different-site-design-where-the-dome-lifts-off-the-one-you-choose",
   "type": "registry:block",
   "title": "Three Glass Cake Domes on Ceramic Stands Each Keeping a Different Site Design Where the Dome Lifts off the One You Choose",
   "description": "Design selector with card models of one website on cake stands under glass domes: the dome lifts off the one you choose. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/three-glass-cake-domes-on-ceramic-stands-each-keeping-a-different-site-design-where-the-dome-lifts-off-the-one-you-choose.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "three-photographic-proof-sheets-of-one-homepage-on-a-sunlit-string-line-where-the-one-you-keep-unclips-and-drops-onto-the-table",
   "type": "registry:block",
   "title": "Three Photographic Proof Sheets of One Homepage on a Sunlit String Line Where the One You Keep Unclips and Drops Onto the Table",
   "description": "Free React design picker: three glossy proofs of one homepage hang on a sunlit line. Keep one and it unclips and drifts down onto the table.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/three-photographic-proof-sheets-of-one-homepage-on-a-sunlit-string-line-where-the-one-you-keep-unclips-and-drops-onto-the-table.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "three-ray-marched-board-models-of-one-homepage-in-window-light-where-the-design-you-pick-trades-places-with-the-one-in-front-on-a-base-that-lights-blue",
   "type": "registry:block",
   "title": "Three Ray Marched Board Models of One Homepage in Window Light Where the Design You Pick Trades Places with the One in Front on a Base That Lights Blue",
   "description": "Free React and WebGL design picker. Three board models of one homepage stand in window light, and the one you choose comes forward on a base that lights blue.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/three-ray-marched-board-models-of-one-homepage-in-window-light-where-the-design-you-pick-trades-places-with-the-one-in-front-on-a-base-that-lights-blue.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "three-sided-billboard-photo-gallery-with-prism-slats-that-rotate-in-a-wave-between-pictures",
   "type": "registry:block",
   "title": "Three-Sided Billboard Photo Gallery with Prism Slats That Rotate in a Wave Between Pictures",
   "description": "Gallery built like a three-sided roadside billboard in WebGL: prism slats rotate in a wave to change between photographs. Free React and HTML code to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/three-sided-billboard-photo-gallery-with-prism-slats-that-rotate-in-a-wave-between-pictures.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "thumbwheel-number-picker-with-rolling-digit-drums-and-knurled-wheels",
   "type": "registry:component",
   "title": "Thumbwheel Number Picker with Rolling Digit Drums and Knurled Wheels",
   "description": "Number input styled as a panel thumbwheel switch: knurled wheels roll numerals past their windows and click onto each digit. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/thumbwheel-number-picker-with-rolling-digit-drums-and-knurled-wheels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "ticket-roll-dispenser-pricing-with-three-paper-rolls-and-a-plan-ticket-that-tears-off-and-lands-on-a-ledge",
   "type": "registry:component",
   "title": "Ticket Roll Dispenser Pricing with Three Paper Rolls and a Plan Ticket That Tears Off and Lands on a Ledge",
   "description": "Plan picker drawn as a ticket dispenser: one paper roll per tier, and the ticket you choose tears off and lands on a ledge. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/ticket-roll-dispenser-pricing-with-three-paper-rolls-and-a-plan-ticket-that-tears-off-and-lands-on-a-ledge.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tilt-card-with-a-moving-glare-layer",
   "type": "registry:block",
   "title": "Tilt Card With a Moving Glare Layer",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tilt-card-with-a-moving-glare-layer.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tilted-crossing-marquee-bands-for-event-dates",
   "type": "registry:block",
   "title": "Tilted Crossing Marquee Bands For Event Dates",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tilted-crossing-marquee-bands-for-event-dates.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "timeline-spine-draws-dots-light-on-scroll",
   "type": "registry:block",
   "title": "Timeline Spine Draws and Dots Light Up",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/timeline-spine-draws-dots-light-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tooltip-on-icon-buttons-in-an-editor-toolbar",
   "type": "registry:component",
   "title": "Tooltip On Icon Buttons In An Editor Toolbar",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/tooltip-on-icon-buttons-in-an-editor-toolbar.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "topographic-contour-waves-canvas-background",
   "type": "registry:block",
   "title": "Topographic Contour Waves",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/topographic-contour-waves-canvas-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "travertine-block-footer-with-a-wordmark-carved-in-roman-capitals-ray-marched-in-webgl-where-the-evening-sun-follows-the-pointer-and-rakes-shadows-through-the-cuts",
   "type": "registry:block",
   "title": "Travertine Block Footer With a Wordmark Carved in Roman Capitals Ray-Marched in WebGL Where the Evening Sun Follows the Pointer and Rakes Shadows Through the Cuts",
   "description": "Free React footer: a brand name cut in V-grooved capitals into a travertine block in evening sun. Move the pointer and shadows sweep through the cuts.",
   "files": [
    {
     "path": "components/we-inc/travertine-block-footer-with-a-wordmark-carved-in-roman-capitals-ray-marched-in-webgl-where-the-evening-sun-follows-the-pointer-and-rakes-shadows-through-the-cuts.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "tri-fold-screen-that-opens-leaf-by-leaf-from-phone-to-tablet-to-desktop-as-one-page-reflows",
   "type": "registry:block",
   "title": "Tri-Fold Screen That Opens Leaf by Leaf from Phone to Tablet to Desktop as One Page Reflows",
   "description": "Responsive preview built as a folding device: aluminium leaves open in 3D and one page reflows from phone to tablet to desktop. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/tri-fold-screen-that-opens-leaf-by-leaf-from-phone-to-tablet-to-desktop-as-one-page-reflows.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "turning-circle-text-scroll-badge-around-arrow",
   "type": "registry:block",
   "title": "Turning Circle Text Scroll Badge Around Arrow",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/turning-circle-text-scroll-badge-around-arrow.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "turntable-of-three-acrylic-design-stands-under-one-pendant-lamp-that-you-spin-to-bring-a-site-design-into-the-light",
   "type": "registry:block",
   "title": "Turntable of Three Acrylic Design Stands Under One Pendant Lamp That You Spin to Bring a Site Design into the Light",
   "description": "Design chooser with acrylic stands, each a different design of one website, on a turntable you spin to bring one under the lamp. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/turntable-of-three-acrylic-design-stands-under-one-pendant-lamp-that-you-spin-to-bring-a-site-design-into-the-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "turntable-with-a-tonearm-you-lift-and-drop-onto-a-spinning-record",
   "type": "registry:component",
   "title": "Turntable with a Tonearm You Lift and Drop onto a Spinning Record",
   "description": "Record player seen from above on a canvas: drag the headshell to lift the tonearm, drop it onto a track and the platter spins up. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/turntable-with-a-tonearm-you-lift-and-drop-onto-a-spinning-record.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "twin-bell-alarm-clock-with-an-alarm-hand-you-drag-to-set-and-bells-that-shake-when-it-rings",
   "type": "registry:component",
   "title": "Twin-Bell Alarm Clock with an Alarm Hand You Drag to Set and Bells That Shake When It Rings",
   "description": "Alarm clock on a canvas: a twin-bell clock showing the real time, with an alarm hand you drag to set and bells that shake. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/twin-bell-alarm-clock-with-an-alarm-hand-you-drag-to-set-and-bells-that-shake-when-it-rings.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "two-column-booking-form-with-select-and-date",
   "type": "registry:component",
   "title": "Two Column Booking Form With Select and Date",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/two-column-booking-form-with-select-and-date.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "two-ink-liquid-marble-background-swirling-slowly-on-bone-paper",
   "type": "registry:block",
   "title": "Two Ink Liquid Marble",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/two-ink-liquid-marble-background-swirling-slowly-on-bone-paper.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "two-linked-drag-rails-moving-at-different-speeds",
   "type": "registry:component",
   "title": "Two Linked Drag Rails Moving at Different Speeds",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/two-linked-drag-rails-moving-at-different-speeds.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "two-tone-duotone-drift-gradient-background",
   "type": "registry:block",
   "title": "Two-Tone Duotone Drift",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/two-tone-duotone-drift-gradient-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "type-and-delete-phrase-loop-with-natural-typing-rhythm",
   "type": "registry:component",
   "title": "Type and Delete Loop with Natural Rhythm",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/type-and-delete-phrase-loop-with-natural-typing-rhythm.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "typed-headline-that-selects-and-retypes-one-word",
   "type": "registry:component",
   "title": "Headline That Retypes One Word",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/typed-headline-that-selects-and-retypes-one-word.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "typed-sentence-of-blue-light-on-a-dark-studio-floor-that-stands-up-as-a-ray-marched-homepage-with-floating-layers",
   "type": "registry:block",
   "title": "Typed Sentence of Blue Light on a Dark Studio Floor That Stands Up as a Ray Marched Homepage with Floating Layers",
   "description": "WebGL piece: type a sentence, watch it glow on a dark studio floor, then a ray-marched homepage stands up with floating layers. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/typed-sentence-of-blue-light-on-a-dark-studio-floor-that-stands-up-as-a-ray-marched-homepage-with-floating-layers.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "typesetters-forme-where-page-sections-are-locked-up-as-metal-type-in-a-steel-chase-and-pulled-as-a-blue-proof",
   "type": "registry:component",
   "title": "Typesetter's Forme Where Page Sections Are Locked up as Metal Type in a Steel Chase and Pulled as a Blue Proof",
   "description": "A web page set as metal type in a steel chase: move a block, the quoins lock up and a sheet turns over to show a blue proof. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/typesetters-forme-where-page-sections-are-locked-up-as-metal-type-in-a-steel-chase-and-pulled-as-a-blue-proof.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "typewritten-letter-on-paper-with-uneven-ink-and-caret",
   "type": "registry:component",
   "title": "Typewritten Letter on Paper",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/typewritten-letter-on-paper-with-uneven-ink-and-caret.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "underline-tabs-with-sliding-indicator",
   "type": "registry:component",
   "title": "Underline Tabs With Sliding Indicator",
   "description": "Free React tab component in Tailwind with an HTML version: a blue underline glides to the chosen tab, with arrow keys, Home and End and full tab roles.",
   "files": [
    {
     "path": "components/we-inc/underline-tabs-with-sliding-indicator.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "undo-history-split-flap-board-that-rewinds-a-homepage-one-leaf-at-a-time",
   "type": "registry:block",
   "title": "Undo History Split-Flap Board That Rewinds a Homepage One Leaf at a Time",
   "description": "Undo and redo demo where each saved version of a homepage is a leaf on a split-flap board that rewinds one leaf at a time. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/undo-history-split-flap-board-that-rewinds-a-homepage-one-leaf-at-a-time.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "valve-chassis-where-glass-feature-tubes-plug-in-warm-up-and-light-parts-of-a-site-on-a-blue-display",
   "type": "registry:component",
   "title": "Valve Chassis Where Glass Feature Tubes Plug In, Warm Up and Light Parts of a Site on a Blue Display",
   "description": "Glass valves for bookings, shop, blog and contact plug into a metal chassis, warm to a blue glow and light parts of a site. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/valve-chassis-where-glass-feature-tubes-plug-in-warm-up-and-light-parts-of-a-site-on-a-blue-display.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "variable-font-weight-wave-across-a-headline",
   "type": "registry:component",
   "title": "Variable Font Weight Wave Across a Headline",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/variable-font-weight-wave-across-a-headline.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "velvet-ring-box-with-a-sprung-hinged-lid-and-a-diamond-solitaire-that-flashes-under-a-moving-light",
   "type": "registry:block",
   "title": "Velvet Ring Box with a Sprung Hinged Lid and a Diamond Solitaire That Flashes Under a Moving Light",
   "description": "Ring box on a canvas: a velvet case whose sprung lid snaps open on a solitaire, with a diamond that flashes as the light moves. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/velvet-ring-box-with-a-sprung-hinged-lid-and-a-diamond-solitaire-that-flashes-under-a-moving-light.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "velvet-stage-curtain-dialog-that-draws-apart-on-a-pull-cord-with-pleats-that-gather-and-sway",
   "type": "registry:block",
   "title": "Velvet Stage Curtain Dialog That Draws Apart on a Pull Cord with Pleats That Gather and Sway",
   "description": "Dialog hidden behind velvet stage curtains: pull the cord and the pleats gather to the wings to show a photo and its actions. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/velvet-stage-curtain-dialog-that-draws-apart-on-a-pull-cord-with-pleats-that-gather-and-sway.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "velvet-tip-up-theatre-seat-picker-with-sprung-seats-that-fold-down-brass-number-plates-and-reserved-cards",
   "type": "registry:block",
   "title": "Velvet Tip-up Theatre Seat Picker with Sprung Seats That Fold Down, Brass Number Plates and Reserved Cards",
   "description": "Seat picker drawn as rows of velvet tip-up chairs: press one and its seat folds down, with brass numbers and a running total. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/velvet-tip-up-theatre-seat-picker-with-sprung-seats-that-fold-down-brass-number-plates-and-reserved-cards.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vertical-drag-menu-slider-inside-a-phone-mockup",
   "type": "registry:component",
   "title": "Vertical Drag Menu Slider Inside a Phone Mockup",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/vertical-drag-menu-slider-inside-a-phone-mockup.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vertical-ink-line-scroll-cue-that-draws-down",
   "type": "registry:block",
   "title": "Vertical Ink Line Scroll Cue That Draws Down",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/vertical-ink-line-scroll-cue-that-draws-down.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vertical-photo-strip-accordion-for-trail-guides",
   "type": "registry:block",
   "title": "Vertical Photo Strip Accordion for Trail Guides",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/vertical-photo-strip-accordion-for-trail-guides.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vertical-stepper-with-step-descriptions",
   "type": "registry:component",
   "title": "Vertical Stepper With Step Descriptions",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/vertical-stepper-with-step-descriptions.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vertical-tabs-with-settings-panels",
   "type": "registry:component",
   "title": "Vertical Tabs With Settings Panels",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/vertical-tabs-with-settings-panels.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vhs-tracking-wobble-text-with-scanlines",
   "type": "registry:block",
   "title": "VHS Tracking Wobble Text",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/vhs-tracking-wobble-text-with-scanlines.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "village-scoreboard-with-enamel-number-plates-that-drop-onto-brass-hooks-and-swing",
   "type": "registry:block",
   "title": "Village Scoreboard with Enamel Number Plates That Drop onto Brass Hooks and Swing",
   "description": "Scoreboard on a canvas: a painted wooden board where enamel number plates fall off brass hooks and new ones drop on and swing. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/village-scoreboard-with-enamel-number-plates-that-drop-onto-brass-hooks-and-swing.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vinyl-record-sleeve-gallery-where-the-disc-slides-out-and-spins-beside-its-cover",
   "type": "registry:block",
   "title": "Vinyl Record Sleeve Gallery Where the Disc Slides out and Spins Beside Its Cover",
   "description": "Album gallery of thick record sleeves in 3D: the black disc slides out of the front cover and spins beside it. Free React and Tailwind code, or HTML.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/vinyl-record-sleeve-gallery-where-the-disc-slides-out-and-spins-beside-its-cover.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "vinyl-record-sleeve-testimonials-in-webgl-on-a-sunlit-shelf-where-the-chosen-record-slides-half-out-and-catches-light-in-its-grooves",
   "type": "registry:block",
   "title": "Vinyl Record Sleeve Testimonials in WebGL on a Sunlit Shelf Where the Chosen Record Slides Half Out and Catches Light in Its Grooves",
   "description": "Free testimonial section in WebGL: three record sleeves lean on a sunlit oak shelf, and the chosen one lifts its black disc half out beside a large quote.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/vinyl-record-sleeve-testimonials-in-webgl-on-a-sunlit-shelf-where-the-chosen-record-slides-half-out-and-catches-light-in-its-grooves.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "voice-note-microphone-icon-with-live-level-bars",
   "type": "registry:component",
   "title": "Voice Note Microphone Icon With Level Bars",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/voice-note-microphone-icon-with-live-level-bars.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "walking-route-grows-across-pinned-map-on-scroll",
   "type": "registry:block",
   "title": "Walking Route Grows Across Pinned Map",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/walking-route-grows-across-pinned-map-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "walking-routes-with-a-postcard-pair-fanning-out",
   "type": "registry:block",
   "title": "Walking Routes With A Postcard Pair",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/walking-routes-with-a-postcard-pair-fanning-out.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "walnut-chess-clock-with-a-rocker-bar-two-analogue-faces-ticking-hands-and-red-flags-that-lift-and-fall",
   "type": "registry:component",
   "title": "Walnut Chess Clock with a Rocker Bar, Two Analogue Faces, Ticking Hands and Red Flags That Lift and Fall",
   "description": "Chess clock on a canvas: a walnut case with analogue faces, a rocker bar to pass the turn and red flags the hands lift and drop. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/walnut-chess-clock-with-a-rocker-bar-two-analogue-faces-ticking-hands-and-red-flags-that-lift-and-fall.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "walnut-dice-tray-lined-in-green-baize-where-two-dice-tumble-with-rigid-body-physics-and-settle-on-true-faces",
   "type": "registry:component",
   "title": "Walnut Dice Tray Lined in Green Baize Where Two Dice Tumble with Rigid Body Physics and Settle on True Faces",
   "description": "Dice roller on one canvas: the dice tumble round a walnut tray, knock each other and settle on the faces the physics chose. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/walnut-dice-tray-lined-in-green-baize-where-two-dice-tumble-with-rigid-body-physics-and-settle-on-true-faces.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "watercolour-pan-tin-colour-picker-with-a-sable-brush-that-loads-a-pan-and-blooms-a-wash-into-cotton-paper",
   "type": "registry:component",
   "title": "Watercolour Pan Tin Colour Picker with a Sable Brush That Loads a Pan and Blooms a Wash into Cotton Paper",
   "description": "Colour picker shaped like a watercolour tin: choose a pan and a sable brush loads it, then blooms a wash into cotton paper. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/watercolour-pan-tin-colour-picker-with-a-sable-brush-that-loads-a-pan-and-blooms-a-wash-into-cotton-paper.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wavy-baseline-ripple-through-a-word",
   "type": "registry:component",
   "title": "Wavy Baseline Ripple Through a Word",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/wavy-baseline-ripple-through-a-word.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wax-seal-button-that-a-brass-stamp-presses-into-molten-wax-on-an-envelope",
   "type": "registry:component",
   "title": "Wax Seal Button That a Brass Stamp Presses into Molten Wax on an Envelope",
   "description": "Wax seal button on a canvas: a brass stamp presses into molten red wax on an envelope and leaves your initial raised as it cools. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/wax-seal-button-that-a-brass-stamp-presses-into-molten-wax-on-an-envelope.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "weather-forecast-card-with-animated-condition-icons",
   "type": "registry:component",
   "title": "Weather Forecast Card With Animated Icons",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/weather-forecast-card-with-animated-condition-icons.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "website-console-with-feature-cartridges-that-click-into-slots-and-switch-on-sections-of-the-screen",
   "type": "registry:component",
   "title": "Website Console with Feature Cartridges That Click into Slots and Switch on Sections of the Screen",
   "description": "A console whose screen shows a florist's site: push in a Bookings, Shop or Journal cartridge and that section switches on. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/website-console-with-feature-cartridges-that-click-into-slots-and-switch-on-sections-of-the-screen.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "website-rack-with-feature-units-that-slide-home-on-rails-and-light-up-as-sections-of-the-page",
   "type": "registry:component",
   "title": "Website Rack with Feature Units That Slide Home on Rails and Light up as Sections of the Page",
   "description": "A 3D equipment rack whose front is a bakery's web page: Shop, Blog and Contact units slide in on rails and light up as sections. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/website-rack-with-feature-units-that-slide-home-on-rails-and-light-up-as-sections-of-the-page.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "weighted-letter-drop-headline-animation",
   "type": "registry:block",
   "title": "Weighted Letter Drop Headline",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/weighted-letter-drop-headline-animation.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wet-asphalt-at-night-webgl-background-with-puddles-that-mirror-coloured-shop-signs-and-rain-rings",
   "type": "registry:block",
   "title": "Wet Asphalt at Night WebGL Background with Puddles That Mirror Coloured Shop Signs and Rain Rings",
   "description": "Night street background in WebGL: a shader draws rain-soaked asphalt whose puddles mirror coloured shop signs and rain rings. Free React and HTML to copy.",
   "files": [
    {
     "path": "components/we-inc/wet-asphalt-at-night-webgl-background-with-puddles-that-mirror-coloured-shop-signs-and-rain-rings.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "white-card-architectural-model-of-a-corner-shop-whose-windows-light-blue-as-a-booking-an-order-and-a-message-arrive",
   "type": "registry:block",
   "title": "White Card Architectural Model of a Corner Shop Whose Windows Light Blue as a Booking, an Order and a Message Arrive",
   "description": "A white card model of a corner shop in CSS 3D whose windows light blue as a booking, order and message land. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/white-card-architectural-model-of-a-corner-shop-whose-windows-light-blue-as-a-booking-an-order-and-a-message-arrive.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wind-across-wheat-field-rows-canvas-background",
   "type": "registry:block",
   "title": "Wind Across a Wheat Field",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/wind-across-wheat-field-rows-canvas-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wind-blown-sand-grains-over-desert-dunes-particle-background",
   "type": "registry:block",
   "title": "Wind-Blown Sand over Dunes",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/wind-blown-sand-grains-over-desert-dunes-particle-background.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wind-map-flow-field-background-with-fine-streaks-spiralling-into-a-low",
   "type": "registry:block",
   "title": "Wind Map Flow Field",
   "description": "Free animated wind map background: fine streaks ride a flow field and spiral into a low-pressure system. React and plain HTML versions, canvas 2D, no libraries.",
   "files": [
    {
     "path": "components/we-inc/wind-map-flow-field-background-with-fine-streaks-spiralling-into-a-low.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wire-postcard-spinner-rack-photo-carousel-that-spins-with-inertia-and-shows-card-backs",
   "type": "registry:block",
   "title": "Wire Postcard Spinner Rack Photo Carousel That Spins with Inertia and Shows Card Backs",
   "description": "3D carousel built as a shop postcard rack: portraits in wire pockets round a pole that spins with inertia and shows card backs. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/wire-postcard-spinner-rack-photo-carousel-that-spins-with-inertia-and-shows-card-backs.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wireframe-topographic-terrain-background-gliding-under-a-low-camera",
   "type": "registry:block",
   "title": "Wireframe Terrain Glide",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/wireframe-topographic-terrain-background-gliding-under-a-low-camera.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wooden-block-perpetual-calendar-date-picker-with-number-cubes-you-lift-turn-and-drop-into-a-walnut-cradle",
   "type": "registry:component",
   "title": "Wooden Block Perpetual Calendar Date Picker with Number Cubes You Lift, Turn and Drop into a Walnut Cradle",
   "description": "Date picker built as a perpetual calendar: maple number cubes and a month bar lift out of a walnut cradle, turn and drop back. Free React and HTML to copy.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/wooden-block-perpetual-calendar-date-picker-with-number-cubes-you-lift-turn-and-drop-into-a-walnut-cradle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wooden-marble-run-where-glass-marbles-roll-down-zigzag-ramps-and-ring-a-brass-bell",
   "type": "registry:component",
   "title": "Wooden Marble Run Where Glass Marbles Roll Down Zigzag Ramps and Ring a Brass Bell",
   "description": "Canvas marble run: glass marbles roll down zigzag ramps, ring a hanging brass bell and gather in a tray. Drag one to drop it. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/wooden-marble-run-where-glass-marbles-roll-down-zigzag-ramps-and-ring-a-brass-bell.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wooden-type-verification-code-input-where-number-blocks-drop-into-a-brass-composing-stick-and-a-wedge-locks-the-line",
   "type": "registry:component",
   "title": "Wooden Type Verification Code Input Where Number Blocks Drop into a Brass Composing Stick and a Wedge Locks the Line",
   "description": "Free React one-time code field in WebGL: each digit falls into a brass composing stick as a wooden type block, and a walnut wedge locks a correct line.",
   "files": [
    {
     "path": "components/we-inc/wooden-type-verification-code-input-where-number-blocks-drop-into-a-brass-composing-stick-and-a-wedge-locks-the-line.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "word-embroidered-in-satin-stitch-on-hooped-linen-by-a-travelling-needle",
   "type": "registry:component",
   "title": "Word Embroidered in Satin Stitch on Hooped Linen by a Travelling Needle",
   "description": "Canvas text effect: a travelling needle sews a word into hooped linen in satin stitch, and the thread sheen follows the pointer. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/word-embroidered-in-satin-stitch-on-hooped-linen-by-a-travelling-needle.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "word-rows-drift-sideways-with-scroll",
   "type": "registry:block",
   "title": "Word Rows Drift Sideways With Scroll",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/word-rows-drift-sideways-with-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "word-stamped-into-wet-concrete-that-cures-pale-takes-finger-marks-and-is-trowelled-smooth-for-a-new-word",
   "type": "registry:component",
   "title": "Word Stamped Into Wet Concrete That Cures Pale, Takes Finger Marks and Is Trowelled Smooth for a New Word",
   "description": "Text effect with a word stamped into wet concrete: it cures pale, takes finger marks and can be trowelled smooth. Free React and HTML code.",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/word-stamped-into-wet-concrete-that-cures-pale-takes-finger-marks-and-is-trowelled-smooth-for-a-new-word.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "wordmark-uncovered-by-sliding-mask-on-navy-band",
   "type": "registry:component",
   "title": "Wordmark Uncovered by a Sliding Mask",
   "description": "",
   "files": [
    {
     "path": "components/we-inc/wordmark-uncovered-by-sliding-mask-on-navy-band.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "woven-ribbon-tab-bar-with-a-thread-marker-that-unpicks-and-restitches-itself",
   "type": "registry:component",
   "title": "Woven Ribbon Tab Bar with a Thread Marker That Unpicks and Restitches Itself",
   "description": "Tab bar on a strip of herringbone tape: a needle sews a box of red stitches round the current tab and unpicks it when you move. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/woven-ribbon-tab-bar-with-a-thread-marker-that-unpicks-and-restitches-itself.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "year-of-weeks-fills-season-by-season-on-scroll",
   "type": "registry:block",
   "title": "Year Of Weeks Fills By Season",
   "description": "",
   "dependencies": [
    "framer-motion"
   ],
   "files": [
    {
     "path": "components/we-inc/year-of-weeks-fills-season-by-season-on-scroll.tsx",
     "type": "registry:component"
    }
   ]
  },
  {
   "name": "yellow-umbrella-toggle-switch-that-springs-open-on-its-ribs-and-sheds-rain-off-the-canopy",
   "type": "registry:component",
   "title": "Yellow Umbrella Toggle Switch That Springs Open on Its Ribs and Sheds Rain off the Canopy",
   "description": "Toggle drawn on a canvas as a yellow umbrella: ribs push the cloth open, rain bounces off the canopy and drips from the rib tips. Free React and HTML code.",
   "files": [
    {
     "path": "components/we-inc/yellow-umbrella-toggle-switch-that-springs-open-on-its-ribs-and-sheds-rain-off-the-canopy.tsx",
     "type": "registry:component"
    }
   ]
  }
 ]
}
