Overlays
Hover Card
Shows lightweight contextual detail without interrupting the current workflow.Maintains the source and docs.
import { Avatar, HoverCard } from "@hyzrui/core";
export function Example() {
return <HoverCard trigger="Preview author"><Avatar fallback="HU" /> HyzrUI team</HoverCard>;
}Installation
Install the primitive source, then keep editing it inside your app. The command names the component file you want copied.
pnpm dlx hyzrui add hover-cardUsage
Import the component from the generated source folder and compose it with normal React props.
import { HoverCard } from "@hyzrui/core";<HoverCard className="my-hover-card" />Customization
Every primitive accepts local props and class names, then inherits design tokens from HyzrThemeProvider . Copy the file, keep the markup, and tune the CSS until it matches your product.
Maintains the source and docs.
--hui-radiusControls the default corner system for buttons, inputs, cards, overlays, and nested surfaces.--hui-foregroundControls the page and component text colors. Dark mode uses the same component source with different tokens.--hui-surfaceControls card, dialog, popover, and input surfaces.--hui-borderControls separators, input strokes, card outlines, and menu edges.--hui-primaryControls the main action color and the matching foreground color for solid controls.--hui-font-familyControls the font stack used by every primitive inside the provider.--hui-control-font-sizeControls the default font size for buttons, inputs, selects, tabs, command rows, and menu triggers.--hui-font-weight-controlControls the default weight of buttons, tabs, menus, badges, and compact actions.--hui-control-heightControls the default field and trigger height across forms and navigation.--hui-button-heightControls button height independently from form fields.--hui-button-paddingControls horizontal button spacing without changing the text size.--hui-card-paddingControls card, dialog, sheet, drawer, and panel interior spacing.--hui-border-widthControls default edge width for controls, cards, tables, and floating panels.--hui-focus-widthControls keyboard focus outline thickness.--hui-transition-durationControls shared hover timing for controls and surfaces.--hui-hover-liftControls subtle hover lift for raised styles.--hui-overlayControls dialog, sheet, drawer, and command overlay strength.--hui-floating-offsetControls menu, command, popover, and hover-card distance from the trigger.import { defineHyzrTheme } from "@hyzrui/core";
export const theme = defineHyzrTheme({
id: "product",
density: "comfortable",
radius: 10,
shadow: 0.08,
colors: {
background: "#fbfbfc",
foreground: "#09090b",
surface: "#ffffff",
border: "#e4e4e7",
primary: "#18181b",
primaryForeground: "#ffffff",
},
typography: {
controlSize: 14,
controlWeight: 500,
headingWeight: 680,
},
sizing: {
controlHeight: 38,
buttonHeight: 34,
buttonPadding: 14,
cardPadding: 18,
},
borders: {
radius: 10,
radiusSm: 7,
radiusLg: 16,
width: 1,
focusWidth: 2,
},
motion: {
duration: 150,
hoverLift: 0,
hoverMix: 5,
},
});See the customization guide for the full theme shape, style presets, scoped CSS overrides, and source-edit workflow.
Examples
These examples show the same primitive in realistic combinations and states.
Profile preview
Reveal a profile or preview card on hover without a click or navigation.
Open-source React component primitives. 60+ components.
import { Avatar, HoverCard } from "@hyzrui/core";
export function HoverCardProfile() {
return (
<HoverCard trigger="@hyzrui">
<div style={{ display: "flex", gap: 12 }}>
<Avatar fallback="HU" />
<div>
<strong style={{ fontSize: "0.875rem" }}>HyzrUI</strong>
<p style={{ fontSize: "0.8125rem", color: "var(--hui-muted)", margin: "2px 0 0" }}>Open-source React component primitives. 60+ components.</p>
</div>
</div>
</HoverCard>
);
}API Reference
Props are intentionally small. For deeper changes, edit the component source file directly.
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | Adds classes to the copied component without replacing the default structure. |
children | React.ReactNode | - | The rendered content for compound or wrapper components. |
...props | HTMLAttributes | - | Forwards native element props such as id, aria attributes, and event handlers. |
trigger | React.ReactNode | - | Inline trigger text or element. |
children | React.ReactNode | - | Hover content. |