Getting Started
App Providerglobal.d.tsThemesTypes
cn(...args)Text ParserUnits Converters
AnchorAvatarBreadcrumbBurgerButtonCardCarouselCheckerCodeColor PickerCommandConfettiCopyButtonDouble Helix WordsFloating IndicatorGroupHighlight TextIndicatorInputKbdLabelLoaderPaginationPassword RequirementPolymorphic SlotProgressProseRatingRunning AreaScroll AreaSheetsSkeletonSliderStackSvgTableTabsTextareaTimelineTimesToasterTooltipTyping WordsTypography
useClickOutsideuseClipboarduseDeviceInfouseDialoguseDidUpdateuseDirectionuseDisclosureuseDocumentTitleuseDocumentVisibilityuseElementInfouseEyeDropperuseFetchuseFullscreenuseGeoLocationuseHotkeysuseHoveruseIduseImagePopupuseInputStateuseIntersectionuseIntervaluseIsomorphicEffectuseListStateuseLocalStorageuseMeasureScrollbaruseMediaQueryuseMergedRefuseMouseuseMoveuseMutationObserveruseNetworkuseOpenStateuseOrientationuseOSusePaginationusePWAInstalleruseRandomColorsuseReducedMotionuseReloaduseResizeObserveruseScrollIntoViewuseStateHistoryuseTimeoutuseTouchuseTriggeruseUncontrolleduseValidatedStateuseViewportSizeuseWindowEventuseWindowScroll
Docs
Web
Components
Card
Button

A versatile UI component that executes an action when clicked, fully customizable in terms of appearance and behavior.

Carousel

A swipeable or clickable slider that showcases a collection of items in an interactive manner.


Edit this page on GitHub
  • Started
  • Utilities
  • Configuration
  • Components
  • Hooks
  • Examples
  • Github
  • Contributing
⌘+J

© 2025 oeri rights MIT


Designed in Earth-616

Built by oeri

Card

A container component used for grouping content together in a modular way. Often used for displaying summaries, images, or interactive content.

Usage

Basic usage example to quickly see how the Card works.

Create project

Deploy your new project in one-click.
import { Card } from "@/ui/card";
import { Input } from "@/ui/input";
import { Button } from "@/ui/button";
import { Group } from "@/ui/group";
import { Label } from "@/ui/label";

export function CardDemo() {
  return (
    <Card classNames={{ root: "m-auto w-[350px] max-w-full", content: "border-b mb-4 pb-2" }}>
      <Card.Header>
        <Card.Title>Create project</Card.Title>
        <Card.Description>Deploy your new project in one-click.</Card.Description>
      </Card.Header>
      <Card.Content>
        <form>
          <div className="grid w-full items-center gap-4">
            <div className="flex flex-col space-y-1.5">
              <Label htmlFor="name">Name</Label>
              <Input id="name" placeholder="Name of your project" />
            </div>
            <div className="flex flex-col space-y-1.5">{/* content */}</div>
          </div>
        </form>
      </Card.Content>
      <Card.Footer>
        <Group grow justify="center">
          <Button variant="outline" size="default">
            Cancel
          </Button>
          <Button size="default">Deploy</Button>
        </Group>
      </Card.Footer>
    </Card>
  );
}

API References

Styles API

type T = "footer" | "header" | "title" | "content" | "root" | "description";
Styles APITypeDefaultAnnotation
unstyled?Partial<Record<T, boolean>>falseif true, all default styles will be removed
classNames?Partial<Record<T, string>>undefinedSet className for T
styles?Partial<Record<T, CSSProperties>>undefinedSet style for T

Source Codes

Full working code example, including necessary markup and styles. You can copy and paste this code directly to start using the component immediately.

card.tsx