Frame

Dialog shell for review and confirmation surfaces.

Demo

Review request

Review the details before continuing.

Network
Tempo
Amount

Usage

import { Button, Frame } from 'regen-ui'

export function ReviewFrame(props: { onDismiss: () => void }) {
  return (
    <Frame
      footer={
        <Frame.Actions>
          <Button>Cancel</Button>
          <Button variant="primary">Approve</Button>
        </Frame.Actions>
      }
      onDismiss={props.onDismiss}
      subtitle="Review the details before continuing."
      title="Review request"
    >
      Request details
    </Frame>
  )
}

Inherited dismiss

import { Frame } from 'regen-ui'

export function FramedRoute(props: { children: React.ReactNode; onDismiss: () => void }) {
  return (
    <Frame.Provider onDismiss={props.onDismiss}>
      {props.children}
    </Frame.Provider>
  )
}

API Reference

Frame.Props

bodyClassNameOptional
Typestring
DefaultNone
Additional class names for uncommon body wrapper overrides.
footerOptional
TypeReactNode
DefaultNone
Footer content anchored to the bottom.
footerClassNameOptional
Typestring
DefaultNone
Additional class names for uncommon footer wrapper overrides.
onDismissOptional
Type() => void | null
DefaultNone
Dismiss handler. Pass null to opt out of inherited dismiss behavior.
subtitleOptional
TypeReactNode
DefaultNone
Secondary text below the title.
titleOptional
TypeReactNode
DefaultNone
Primary heading text.
variantOptional
Type'card' | 'page' | 'plain' | 'sheet'
Default'card'
Visual shell variant.
Inherits HTMLAttributes<HTMLDivElement>, except title.

Frame.Actions.Props

childrenRequired
TypeReactNode
DefaultNone
Action buttons.

Frame.Provider.Props

childrenRequired
TypeReactNode
DefaultNone
Nested frame content.
onDismissOptional
Type() => void
DefaultNone
Dismiss handler inherited by nested frames.