G
YouTube TikTok Games

Card

A bordered container with title, description and footer.

Card rendered by Tarve Card rendered by Tarve
Native render. The live version loads when this comes into view.

Import

import { Card } from "@tarve/core";

Usage

Card.tsx
import { Button, Card, Input } from "@tarve/core";

<Card title="Create project" description="Deploy your new project in one click." footer={<Button>Deploy</Button>}>
  <Input placeholder="Project name" />
</Card>

Props

PropTypeDefault
description string—
footer Child—
title string—
Inherited from ViewProps 14 props
PropTypeDefault
align Style["align"]—
autoFocus

Focus this control when it first appears (HTML `autofocus`); interactive views only (Pressable).

boolean—
children BindableChild—
dismissOnOutside

A press outside the box fires `onOutsideClick` instead of reaching what is under it (light dismiss). Works on portals and in-flow boxes; an open portal wins.

boolean—
dragRegion boolean—
flex

CSS `flex`: `1` is `1 1 0`; strings take any CSS value, e.g. `"1 1 176px"`.

number | string—
focusable boolean—
gap number—
justify Style["justify"]—
onOutsideClick

With `dismissOnOutside`: a press (or right click) outside the box.

() => void—
padding Style["padding"]—
portal boolean—
style

Values may be signals: setting one restyles this box without a render.

Reactive<Style>—
windowAction "minimize" | "toggleMaximize" | "toggleFullscreen" | "close"—

Common props

Shared by every component. See descriptions →

classclassNamedropTargetfileDropTargethighlightidkeymotionFromonDragEnteronDragLeaveonDroponFileDragEnteronFileDragLeaveonFileDroponHighlightonPasteonPointerLeaveonPointerMoveonSizeonTransitionEndrovingGroup

Types

BindableChild
type BindableChild = Child | Signal<unknown> | BindableChild[];
Reactive
type Reactive<S> = { [K in keyof S]: S[K] | Signal<Exclude<S[K], undefined>> };