# Integrations 08

> Minimal integrations section: a short heading, a single row of tool icons and a link to the full list.

A shadcn/ui block from the [@hirael](https://hirael.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/hirael/integrations-08).

- Page, with a live preview: https://shadcn.exchange/r/hirael/integrations-08
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/hirael/integrations-08-light-2b895d920babae85.png
- Registry item: https://hirael.com/r/integrations-08.json
- Categories: blocks, integrations
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://hirael.com/r/integrations-08.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `lucide-react`
- Registry items: `button`

## Files

### `registry/hirael/bases/radix/blocks/integrations-08/integrations-08.tsx`

```tsx
// Integrations 08 from Hirael <https://hirael.com/blocks/integrations/integrations-08>
// MIT · Mohammad Shehadeh · https://github.com/MohammadShehadeh/hirael

import {
  ArrowRight,
  Bell,
  Calendar,
  Cloud,
  CreditCard,
  Database,
  FileText,
  GitBranch,
  Mail,
  type LucideIcon,
} from 'lucide-react';

import { cn } from '@/lib/utils';
import { Button } from '@/registry/hirael/bases/radix/ui/button';

const ENTER =
  'animate-in fade-in slide-in-from-bottom-4 duration-500 ease-[cubic-bezier(0.22,1,0.36,1)] fill-mode-both motion-reduce:animate-none';

const stagger = (index: number, step = 60, offset = 0): React.CSSProperties => ({
  animationDelay: `${offset + index * step}ms`,
});

interface Tool {
  name: string;
  icon: LucideIcon;
  href: string;
}

const TOOLS: readonly Tool[] = [
  { name: 'Postgres', icon: Database, href: '#' },
  { name: 'Git', icon: GitBranch, href: '#' },
  { name: 'S3', icon: Cloud, href: '#' },
  { name: 'Calendar', icon: Calendar, href: '#' },
  { name: 'Docs', icon: FileText, href: '#' },
  { name: 'Email', icon: Mail, href: '#' },
  { name: 'Billing', icon: CreditCard, href: '#' },
  { name: 'Alerts', icon: Bell, href: '#' },
] as const;

const Integrations08 = () => {
  return (
    <section
      data-slot="integrations"
      className="bg-background py-20 sm:py-28"
      aria-labelledby="integrations-08-heading"
    >
      <div className="mx-auto flex w-full max-w-3xl flex-col items-center px-4 text-center">
        <h2
          id="integrations-08-heading"
          style={stagger(1)}
          className={cn(ENTER, 'font-serif text-3xl font-medium tracking-tight text-balance sm:text-4xl')}
        >
          Works with the tools you already use
        </h2>

        <ul
          data-slot="integrations-list"
          aria-label="Supported integrations"
          className="mt-10 flex flex-wrap items-center justify-center gap-x-6 gap-y-4 rounded-3xl border border-border bg-card/40 px-8 py-5"
        >
          {TOOLS.map((tool, index) => (
            <li key={tool.name} style={stagger(index, 50, 160)} className={ENTER}>
              <a
                href={tool.href}
                aria-label={tool.name}
                title={tool.name}
                className="flex size-9 items-center justify-center rounded-md text-muted-foreground transition-[color,transform] duration-150 ease-out hover:-translate-y-0.5 hover:text-foreground focus-visible:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none motion-reduce:transition-none"
              >
                <tool.icon aria-hidden className="size-7" />
              </a>
            </li>
          ))}
        </ul>

        <Button asChild style={stagger(TOOLS.length, 50, 160)} className={cn(ENTER, 'group mt-10')}>
          <a href="#">
            See all integrations
            <ArrowRight className="size-4 transition-transform duration-150 ease-out group-hover:translate-x-0.5 rtl:rotate-180 rtl:group-hover:-translate-x-0.5" />
          </a>
        </Button>
      </div>
    </section>
  );
};

export default Integrations08;
```
