Skip to main content

IconButton

Preview

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton>
<Activity size={18} />
</IconButton>;

Installation

npx the-dig@latest add IconButton

Props

PropTypeDefault
variant"contained" | "tinted" | "outlined""contained"
color"brand" | "info" | "success" | "warning" | "danger" | "gray""brand"
size"xs" | "sm" | "md" | "lg" | "xl""md"
isLoadingbooleanfalse
classNamestring-
OthersButtonHTMLAttributes<HTMLButtonElement> (e.g. onClick, disabled, etc.)Document

Variants and Colors

Brand

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton variant="contained" color="brand">
<Activity size={18} />
</IconButton>
<IconButton variant="tinted" color="brand">
<Activity size={18} />
</IconButton>
<IconButton variant="outlined" color="brand">
<Activity size={18} />
</IconButton>

Info

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton variant="contained" color="info">
<Activity size={18} />
</IconButton>
<IconButton variant="tinted" color="info">
<Activity size={18} />
</IconButton>
<IconButton variant="outlined" color="info">
<Activity size={18} />
</IconButton>

Success

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton variant="contained" color="success">
<Activity size={18} />
</IconButton>
<IconButton variant="tinted" color="success">
<Activity size={18} />
</IconButton>
<IconButton variant="outlined" color="success">
<Activity size={18} />
</IconButton>

Warning

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton variant="contained" color="warning">
<Activity size={18} />
</IconButton>
<IconButton variant="tinted" color="warning">
<Activity size={18} />
</IconButton>
<IconButton variant="outlined" color="warning">
<Activity size={18} />
</IconButton>

Danger

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton variant="contained" color="danger">
<Activity size={18} />
</IconButton>
<IconButton variant="tinted" color="danger">
<Activity size={18} />
</IconButton>
<IconButton variant="outlined" color="danger">
<Activity size={18} />
</IconButton>

Gray

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton variant="contained" color="gray">
<Activity size={18} />
</IconButton>
<IconButton variant="tinted" color="gray">
<Activity size={18} />
</IconButton>
<IconButton variant="outlined" color="gray">
<Activity size={18} />
</IconButton>

Sizes

import IconButton from "@repo/ui/IconButton";
import { Activity } from "lucide-react";

<IconButton size="xs">
<Activity size={18} />
</IconButton>
<IconButton size="sm">
<Activity size={18} />
</IconButton>
<IconButton size="md">
<Activity size={18} />
</IconButton>
<IconButton size="lg">
<Activity size={18} />
</IconButton>
<IconButton size="xl">
<Activity size={18} />
</IconButton>