Skip to content
Sign in
FramesApp windowMenu

App windowPro

A generic desktop app window with a unified title bar, refined gray controls, an inset sidebar panel and an inactive state.

ProA desktop app window with the thread sidebar running the full height under the controls.

Installation

$ pnpm dlx shadcn@latest add @chatcn-pro/app-window

Usage

tsx
import { AppWindow } from "@/components/ui/chatcn/pro/app-window"

<AppWindow title="Agent console" sidebar={<Threads />} height={520}>
  <YourChat />
</AppWindow>

Examples

States

ProInactive, glyph controls as buttons, a long title, and an empty window with no controls.

Props

PropTypeNotes
titleReactNodeStart of the toolbar with a sidebar, centered without. Truncated
sidebarReactNodeAn inset full height panel, under the window controls
sidebarWidthnumberDefault 232
toolbarReactNodeEnd of the title bar
controls"dots" | "glyphs" | "none"Default dots, always gray
onMinimize, onMaximize, onClose() => voidMake the glyphs real buttons
inactivebooleanA background window
width, heightnumber | stringDefault 100% and 480

WindowControls

The controls are exported on their own as WindowControls for custom chrome. Colored traffic lights are not offered.

Keyboard

Glyph controls with handlers are buttons in the tab order. Dots are decorative.

Accessibility

  • Glyph buttons are labeled Minimize, Maximize and Close. Without handlers they are hidden from assistive technology.
  • The inactive state fades by gray step, never below readable contrast for the title.

Motion

  • Glyph buttons press to 0.94 for 100 ms. Nothing else moves.