@presetui/ui
v0.4.2
Published
PresetUI's styled components as a package — the same files you can copy, installable.
Maintainers
Readme
@presetui/ui
PresetUI's styled components as a package — Button, Input, Dialog, Tabs, Dropdown Menu, Combobox, Toast, Sheet and the rest (30+), built on React 19 and Tailwind CSS v4, themed by semantic tokens.
The copy-paste workflow at presetui.com stays the primary way to use
PresetUI — files you own, nothing to update. This package is the other mode:
npm install, get updates with npm update.
npm install @presetui/uiSetup
The components are styled with Tailwind utilities reading semantic tokens. In your global stylesheet:
@import "tailwindcss";
@import "@presetui/ui/theme.css";
/* Let Tailwind see the package's class names — adjust the relative path
from THIS css file to node_modules: */
@source "../node_modules/@presetui/ui";Dark mode is a .dark class on <html>; the theme ships light and dark
values plus a prefers-reduced-motion guard. Rebrand by overriding the
--color-* tokens.
Use
import { Button } from "@presetui/ui/button"
import { DropdownMenu } from "@presetui/ui/dropdown-menu"
import { Toaster, toast } from "@presetui/ui/toast"
<Button variant="outline" onClick={() => toast("Saved")}>Save</Button>Every component is a subpath export (@presetui/ui/<name>); a root barrel
exports everything at once. One name collides there: the CSS-only tooltip is
Tooltip, the positioned one from @presetui/ui/tooltip-js is aliased as
TooltipJs in the barrel (its subpath still exports Tooltip).
The headless behavior layer is bundled — one install covers everything, and the package has zero dependencies:
import { Popover, PopoverTrigger } from "@presetui/ui/primitives/popover"
import { useDismiss, usePosition } from "@presetui/ui/primitives/core"(Behavior-only projects that don't want Tailwind can still take @presetui/primitives on its own — same source.)
Requirements: React 19+ (peer), Tailwind CSS v4 in your build.
Docs, live previews and the copyable sources: presetui.com.
MIT.
