Modal

A modal dialog with title, description, body and footer.

Import

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

Usage

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

let open = true;

<Modal
  open={open}
  title="Rename file"
  description="Choose a new name for this file."
  onOpenChange={(next) => {
    open = next;
  }}
  footer={
    <Row gap={8} justify="end">
      <Button variant="outline" onClick={() => (open = false)}>Cancel</Button>
      <Button onClick={() => (open = false)}>Save</Button>
    </Row>
  }
>
  <Input value="notes.md" />
</Modal>

Props

PropTypeDefault
open required boolean—
closeOnEscape booleantrue
closeOnOverlay booleantrue
description string—
footer Child—
onOpenChange (open: boolean) => void—
showClose booleantrue
title string—
width number480

Common props

Shared by every component. See descriptions →

childrenhighlightidkeymotionFromonHighlightonPasteonTransitionEndrovingGroupstyle