- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
import { Badge } from "@/shim-ui/badge";
import { DataList, DataListItem } from "@/shim-ui/data-list";
import { Link } from "@/shim-ui/link";
export default () => (
<DataList>
<DataListItem label="Name" value="John Doe" />
<DataListItem label="Role" value="Designer" />
<DataListItem label="Email" value={<Link href="#">john@doe.com</Link>} />
<DataListItem
label="Status"
value={<Badge intent="success">Active</Badge>}
/>
</DataList>
);Install
Use the CLI or copy the source code manually.
Command
Source code
pnpm dlx @kkga/shim add data-listLabel Position
Use the labelPosition prop to set the label position.
- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
import { Badge } from "@/shim-ui/badge";
import { DataList, DataListItem } from "@/shim-ui/data-list";
import { Link } from "@/shim-ui/link";
export default () =>
(["side", "side-end"] as const).map((labelPosition) => (
<DataList
className="w-[200px] grid-cols-[1fr_2fr]"
key={labelPosition}
labelPosition={labelPosition}
>
<DataListItem label="Name" value="John Doe" />
<DataListItem label="Role" value="Designer" />
<DataListItem label="Email" value={<Link href="#">john@doe.com</Link>} />
<DataListItem
label="Status"
value={<Badge intent="success">Active</Badge>}
/>
</DataList>
));Size
Use the size prop to set the size of the data list. Child components that support size will use the same size unless overridden.
- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
- Name
- John Doe
- Role
- Designer
- john@doe.com
- Status
- Active
"use client";
import { Badge } from "@/shim-ui/badge";
import { DataList, DataListItem } from "@/shim-ui/data-list";
import { Link } from "@/shim-ui/link";
export default () => (
<div className="grid grid-cols-2 gap-y-6 self-start">
{([1, 2, 3, 4] as const).map((size) => (
<DataList key={size} labelPosition="side" size={size}>
<DataListItem label="Name" value="John Doe" />
<DataListItem label="Role" value="Designer" />
<DataListItem
label="Email"
value={<Link href="#">john@doe.com</Link>}
/>
<DataListItem
label="Status"
value={<Badge intent="success">Active</Badge>}
/>
</DataList>
))}
</div>
);