Web InnoventixFreeCode

Icon-Left Feature List

MIT · attributed

A centered heading over a three-column feature list, each row leading with a rounded icon badge and a 'Learn More' link. Classic marketing feature block, ported with added dark variants.

byMert CukurenReact + Tailwind
feature listicon leftthree columnlearn more linksservicesdark mode
Open

Copy prompt gives Claude Code, Cursor or v0 a ready-to-paste prompt that recreates this exact component.

npx shadcn@latest add https://webinnoventix.com/r/src-tailblocks-feature-list.json
src-tailblocks-feature-list.tsx
/* Source: Mert Cukuren (Tailblocks) — https://github.com/mertJF/tailblocks/blob/master/src/blocks/feature/light/a.js — MIT. Included under its original licence. */
/* Copyright (c) 2020 Mert Cukuren — MIT License. */

export default function SrcTailblocksFeatureList() {
  const arrow = "M5 12h14M12 5l7 7-7 7";

  const features = [
    {
      title: "Shooting Stars",
      description:
        "Kick off in minutes with sensible defaults and a setup flow that never leaves you guessing what comes next.",
      path: "M22 12h-4l-3 9L9 3l-3 9H2",
    },
    {
      title: "The Catalyzer",
      description:
        "Automate the repetitive parts of your day so your team spends its hours on the work that actually moves the needle.",
      paths: [
        { type: "circle", props: { cx: 6, cy: 6, r: 3 } },
        { type: "circle", props: { cx: 6, cy: 18, r: 3 } },
        { type: "path", props: { d: "M20 4L8.12 15.88M14.47 14.48L20 20M8.12 8.12L12 12" } },
      ],
    },
    {
      title: "Neptune",
      description:
        "Bring everyone into one shared space — comments, roles and permissions keep the whole crew moving together.",
      paths: [
        { type: "path", props: { d: "M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2" } },
        { type: "circle", props: { cx: 12, cy: 7, r: 4 } },
      ],
    },
  ];

  return (
    <section className="bg-white text-gray-600 dark:bg-gray-900 dark:text-gray-300">
      <div className="container mx-auto px-5 py-24">
        <h2 className="mb-20 text-center text-2xl font-medium text-gray-900 sm:text-3xl dark:text-white">
          Everything your team needs to ship
          <br className="hidden sm:block" />
          without the busywork
        </h2>

        <div className="-mx-4 -mb-10 -mt-4 flex flex-wrap space-y-6 sm:-m-4 md:space-y-0">
          {features.map((feature) => (
            <div key={feature.title} className="flex p-4 md:w-1/3">
              <div className="mb-4 inline-flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full bg-indigo-100 text-indigo-500 dark:bg-indigo-500/20 dark:text-indigo-400">
                <svg
                  fill="none"
                  stroke="currentColor"
                  strokeLinecap="round"
                  strokeLinejoin="round"
                  strokeWidth={2}
                  className="h-6 w-6"
                  viewBox="0 0 24 24"
                >
                  {feature.path ? (
                    <path d={feature.path} />
                  ) : (
                    feature.paths?.map((el, i) =>
                      el.type === "circle" ? (
                        <circle key={i} {...el.props} />
                      ) : (
                        <path key={i} {...el.props} />
                      )
                    )
                  )}
                </svg>
              </div>
              <div className="flex-grow pl-6">
                <h3 className="mb-2 text-lg font-medium text-gray-900 dark:text-white">
                  {feature.title}
                </h3>
                <p className="text-base leading-relaxed">{feature.description}</p>
                <a
                  href="#"
                  className="mt-3 inline-flex items-center text-indigo-500 dark:text-indigo-400"
                >
                  Learn More
                  <svg
                    fill="none"
                    stroke="currentColor"
                    strokeLinecap="round"
                    strokeLinejoin="round"
                    strokeWidth={2}
                    className="ml-2 h-4 w-4"
                    viewBox="0 0 24 24"
                  >
                    <path d={arrow} />
                  </svg>
                </a>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

Dependencies

None — React + Tailwind only.

Licence

Mert Cukuren (original) · Licensed under MIT.

Built by Web Innoventix

Need a custom interface, a full website, or SEO that gets you cited by AI? We design, build and rank it end to end.

Get a free quote

Similar components

Browse all →
Three Column Icon Grid

Three Column Icon Grid

Original

A responsive icon grid that presents six product capabilities as scannable cards, each with an inline SVG icon, title and short description.

Alternating Media Rows

Alternating Media Rows

Original

Three feature rows that alternate a text column with a CSS-built visual panel, walking the reader through a plan, measure and ship story.

Bento Feature Grid

Bento Feature Grid

Original

A bento-style grid mixing one large hero cell, a tall stat cell and several compact cards to give features a clear visual hierarchy.

Tabbed Feature Switcher

Tabbed Feature Switcher

Original

A tabbed feature preview that switches panels using only native radio inputs and Tailwind peer variants, so it works with no JavaScript.

Stat Backed Features

Stat Backed Features

Original

A feature layout that pairs each capability with a headline metric, so every claim is anchored to a measurable result.

Scroll-reveal bento grid

Scroll-reveal bento grid

Original

An asymmetric bento feature grid whose cards stagger into view on scroll, lift on hover and feature an animated conic gradient border, shimmering headline, growing bar chart and a masked marquee tag strip.

Sticky scroll steps

Sticky scroll steps

Original

A scroll-linked how-it-works section where a sticky panel cross-fades between steps and a progress ring plus filling timeline track advance as you scroll through the process.

Spotlight hover feature cards

Spotlight hover feature cards

Original

A responsive feature card grid where each card follows the cursor with a radial spotlight glow, lifts and rotates its icon on hover, reveals a call to action, and sits above a scrolling logo marquee.

Animated marquee highlights band

Animated marquee highlights band

Original

A bold feature band with an animated gradient background, floating blurred orbs, blur-in staggered headline, two opposing marquee pill rows and shimmering stat cards.

Bordered Feature Grid (2x2)

Bordered Feature Grid (2x2)

MIT

A two-column grid of bordered feature cards, each pairing an outlined icon with a title and supporting copy. Clean, enterprise-leaning layout with full dark-mode support.

Outlined Feature Cards with CTA

Outlined Feature Cards with CTA

MIT

A three-column feature section with heading and intro, plus blue-outlined cards that each carry an icon, description, and a circular arrow call-to-action. Fully theme-aware.

Hover-Reveal Bento Grid

Hover-Reveal Bento Grid

MIT

The Magic UI bento pattern: a mixed-span grid of cards where the icon shrinks and the description lifts on hover to reveal a call-to-action. Self-contained (no framer-motion, no icon libs), pure CSS group-hover, with a glow background and full dark styling.