Panel
Panel is a native div wrapper for padded flexbox layout surfaces. Use it to group related content, choose a Density layer, and optionally show an outline.
Project summaryThree tasks are ready for review.
import { Panel } from "density-base-ui";
export default function PanelExample() {
return (
<Panel aria-label="Project summary" border layer={2} size="lg">
<strong>Project summary</strong>
<span>Three tasks are ready for review.</span>
</Panel>
);
}Props
| Prop | Attribute | Values | Default |
|---|---|---|---|
size |
data-dn-size |
2xs, xs, sm, md, lg, xl, 2xl, 3xl |
md |
layer |
data-dn-level |
1, 2, 3, 4, 5, 6, 7 |
1 |
border |
None | boolean |
false |
direction |
None | row, column |
column |
children |
None | ReactNode |
None |
| Other native div props | Mixed | HTMLAttributes<HTMLDivElement> |
None |
Size
2xs
xs
sm
md
lg
xl
2xl
3xl
import { Panel } from "density-base-ui";
const sizes = ["2xs", "xs", "sm", "md", "lg", "xl", "2xl", "3xl"] as const;
export default function PanelSizeExample() {
return (
<Panel aria-label="Panel sizes">
{sizes.map((size) => (
<Panel key={size} border size={size}>
{size}
</Panel>
))}
</Panel>
);
}Border
When border is true, Panel uses an outline so it does not change the layout size.
Without outline
With outline
import { Panel } from "density-base-ui";
export default function PanelBorderExample() {
return (
<Panel aria-label="Panel borders" direction="row">
<Panel>Without outline</Panel>
<Panel border>With outline</Panel>
</Panel>
);
}Layer
Layer 1
Layer 2
Layer 3
Layer 4
Layer 5
Layer 6
Layer 7
import { Panel } from "density-base-ui";
const layers = [1, 2, 3, 4, 5, 6, 7] as const;
export default function PanelLayerExample() {
return (
<Panel aria-label="Panel layers">
{layers.map((layer) => (
<Panel key={layer} border layer={layer}>
Layer {layer}
</Panel>
))}
</Panel>
);
}Direction
Rowdirection
Columndirection
import { Panel } from "density-base-ui";
export default function PanelDirectionExample() {
return (
<Panel aria-label="Panel directions">
<Panel border direction="row">
<span>Row</span>
<span>direction</span>
</Panel>
<Panel border direction="column">
<span>Column</span>
<span>direction</span>
</Panel>
</Panel>
);
}