halaska-studio

Dialog

Cards

About

A centered modal overlay for confirmations, with form and cover-image card variants, that traps focus and closes on Escape or an outside click.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Dialog to your project and fits it to your theme.

Code

How Dialog is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";

import { CardDialog } from "@/components/ui/halaska-dialog";
import { useState } from "react";

const ghostBtn: React.CSSProperties = {
  height: 30,
  padding: "0 12px",
  borderRadius: 16,
  border: "none",
  background: "transparent",
  color: "#888888",
  fontSize: 12,
  fontWeight: 500,
  fontFamily: "system-ui, sans-serif",
  cursor: "pointer",
};
const primaryBtn: React.CSSProperties = {
  height: 30,
  padding: "0 12px",
  borderRadius: 16,
  border: "none",
  background: "#3d3d3d",
  color: "#ffffff",
  fontSize: 12,
  fontWeight: 500,
  fontFamily: "system-ui, sans-serif",
  cursor: "pointer",
};
const outlineBtn: React.CSSProperties = {
  height: 30,
  padding: "0 12px",
  borderRadius: 16,
  border: "1.5px solid rgba(0,0,0,0.06)",
  background: "transparent",
  color: "#3d3d3d",
  fontSize: 12,
  fontWeight: 500,
  fontFamily: "system-ui, sans-serif",
  cursor: "pointer",
};

export default function CardDialogDemo() {
  const [open, setOpen] = useState(false);
  return (
    <div className="flex min-h-[320px] w-full items-center justify-center">
      <button style={outlineBtn} onClick={() => setOpen(true)}>
        Card
      </button>
      <CardDialog
        open={open}
        onClose={() => setOpen(false)}
        cover="◆"
        title="Alpha Pro upgrade"
        description="Unlock unlimited workflows, HubSpot sync, and priority support."
        actions={
          <>
            <button style={ghostBtn} onClick={() => setOpen(false)}>
              Later
            </button>
            <button style={primaryBtn} onClick={() => setOpen(false)}>
              Upgrade
            </button>
          </>
        }
      />
    </div>
  );
}

More by halaska-studio

View all
  • Dot Grid

    Dot Grid

    28
  • Orb

    Orb

    15
  • Segmented Control

    Segmented Control

    11
  • Combobox

    Combobox

    6
  • Choicebox

    Choicebox

    6
  • Input OTP

    Input OTP

    5
  • Select

    Select

    3
  • Table

    Table

    2

More in Cards

View all
  • Course Design Cards

    Course Design Cards

    1.1K
  • Statistics Card 7

    Statistics Card 7

    301
  • Statistics Card 2

    Statistics Card 2

    272
  • Stats cards with links

    Stats cards with links

    82
  • Interactive Tech Stack Bento Grid with Hover Effects

    Interactive Tech Stack Bento Grid with Hover Effects

    183
  • Card Studio

    Card Studio

    35
  • Card

    Card

    70
  • Card

    Card

    18