Hover growth
Hover to enlarge the card, then activate it to update its status.
Waiting for your next adventure.
growOnHover={true}
WelkUI!REACT EDITIONExplore live variants, compare states, and learn every prop. Pick a component to start.
A single clickable card implemented as a native button, with a title, subtitle, and optional icon. The entire card is the action target. Do not place links, buttons, or other interactive controls inside it.
import { WelkCard } from "@welkui/react";
<WelkCard title="Your next mission" subtitle="Tap to accept."
onClick={() => console.log("Accepted")} />Import @welkui/react/styles.css once in your app. Stateful snippets belong inside a React component.
These are real components, not screenshots. Compare their appearance and try the controls. Key props below each preview show what changes; use the usage example above for imports and component setup.
Hover to enlarge the card, then activate it to update its status.
Waiting for your next adventure.
growOnHover={true}The card still acts as a native button but does not enlarge.
Waiting for your next adventure.
growOnHover={false}Optional icon content accompanies the title and subtitle.
Waiting for your next adventure.
icon={<span>+</span>}Neither interaction nor hover growth is available.
Waiting for your next adventure.
disabledRequired props are marked in the default column. Other props are optional. ReactNode accepts text or JSX.
| Prop | Type | Default | Description |
|---|---|---|---|
title | ReactNode | Required | Main card heading. |
subtitle | ReactNode | Required | Supporting card content. |
icon | ReactNode | Unset | Optional leading artwork or icon. |
growOnHover | boolean | true | Enables the joined hover growth effect; disabled cards do not grow. |
Inherits native button props, including children (except where replaced by named content props), onClick, disabled, type, name, value, className, style, aria-* and data-*; forwards a button ref. The default type is button, not submit.
Import @welkui/react/styles.css once in your app entry or Next.js root layout. The previews use the default theme; override --welk-* CSS tokens in your app to customize it.
For Next.js, put hooks and event handlers in a component beginning with "use client". Keep state local to the component using the control. The library preserves its client boundaries and uses your installed React version.
Use defaultValue or defaultChecked for uncontrolled fields, or a state value and its change callback for controlled fields. Do not switch between these modes during the lifetime of a field.
Modal and notification examples start closed: use their Try buttons to see them. Disabled examples are deliberately non-interactive. Validate forms, uploads, authentication, and server responses in your application; these components only provide UI.