Code
Migration guide for Code from HeroUI v2 to v3
The Code component has been removed in HeroUI v3. Use native HTML <code> element with Tailwind CSS classes instead.
Key Changes
1. Component Removal
v2: <Code> component from @lenso/ui
v3: Native HTML <code> element with Tailwind classes
2. Variants Mapping
The v2 Code component had the following variants that need to be replaced:
| v2 Variant | v3 Equivalent | Notes |
|---|---|---|
color="default" | bg-default/40 text-default-700 | Use Tailwind opacity utilities |
color="primary" | bg-accent/20 text-accent-600 | primary renamed to accent |
color="secondary" | bg-default/40 text-default-700 | Similar to default |
color="success" | bg-success/20 text-success-700 | Same color name |
color="warning" | bg-warning/20 text-warning-700 | Same color name |
color="danger" | bg-danger/20 text-danger-600 | Same color name |
size="sm" | text-sm | Tailwind text size |
size="md" | text-base | Tailwind text size |
size="lg" | text-lg | Tailwind text size |
radius="none" | rounded-none | Tailwind border radius |
radius="sm" | rounded-sm | Tailwind border radius |
radius="md" | rounded-md | Tailwind border radius |
radius="lg" | rounded-lg | Tailwind border radius |
radius="full" | rounded-full | Tailwind border radius |
Structure Changes
In v2, Code was a component wrapper around the native <code> element:
import { Code } from "@lenso/ui";
export default function App() { return <Code>npm install @lenso/ui</Code>;}In v3, use the native <code> element directly with Tailwind CSS classes:
export default function App() { return ( <code className="px-2 py-1 h-fit font-mono font-normal inline-block whitespace-nowrap rounded-sm bg-default/40 text-default-700 text-sm"> npm install @lenso/ui </code> );}Migration Examples
Variants
{/* Colors */}<Code color="primary">Primary code</Code><Code color="success">Success code</Code>
{/* Sizes */}<Code size="md">Medium code</Code>Combined Variants
<Code color="primary" size="md" radius="lg"> npm install @lenso/ui</Code>Creating a Reusable Code Component (Optional)
If you use inline code frequently, you can create a simple wrapper component:
import { Code } from "@lenso/ui";
<Code color="primary" size="md">Code snippet</Code>Complete Example
import { Code } from "@lenso/ui";
export default function App() { return ( <div className="space-y-4"> <p> Install HeroUI with <Code>npm install @lenso/ui</Code> </p> <div className="flex gap-2"> <Code color="primary">Primary</Code> <Code color="success">Success</Code> <Code color="warning">Warning</Code> <Code color="danger">Danger</Code> </div> <div className="flex gap-2 items-center"> <Code size="sm">Small</Code> <Code size="md">Medium</Code> <Code size="lg">Large</Code> </div> </div> );}Base Styles Reference
The v2 Code component used these base styles that you should include:
px-2- Horizontal paddingpy-1- Vertical paddingh-fit- Height fits contentfont-mono- Monospace font familyfont-normal- Normal font weightinline-block- Inline block displaywhitespace-nowrap- Prevent text wrapping
Summary
- Component Removed:
Codecomponent no longer exists in v3 - Import Change: Remove
import { Code } from "@lenso/ui" - Use Native Element: Replace with native
<code>HTML element - Styling: Apply Tailwind CSS classes directly
- Color Mapping:
primary→accentin v3
Migration Steps
- Remove Import: Remove
Codefrom@lenso/uiimports - Replace Component: Replace all
<Code>instances with<code>elements - Add Tailwind Classes: Apply equivalent Tailwind classes for styling
- Update Colors: Change
color="primary"to useaccentcolor classes - Optional: Create a reusable wrapper component if you use inline code frequently