The List component provides a flexible list interface with support for ordered, unordered, and icon-based lists. It's designed to handle dynamic list data and various styling options.
import { List } from '@dashflowx/core'export default function ListExample() {const listArray = [{ id: 1, content: 'First item' },{ id: 2, content: 'Second item' },{ id: 3, content: 'Third item' }];return (<Listvarients="unordered"listArray={listArray}/>)}
Preview:
- List item 1
- List item 2
- List item 3
| Prop | Type | Default | Description |
|---|---|---|---|
varients | 'ordered' | 'iconunordered' | 'unordered' | 'unordered' | The type of list to render |
listArray | Array<iListArray> | [] | Array of list items |
listClassName | string | '' | Additional CSS classes for the list |
className | string | '' | Additional CSS classes for the container |
interface iListArray {id: number;content: string;className?: string;icon?: JSX.Element;}
import { List } from '@dashflowx/core'export default function UnorderedList() {const listArray = [{ id: 1, content: 'Feature 1' },{ id: 2, content: 'Feature 2' },{ id: 3, content: 'Feature 3' }];return (<Listvarients="unordered"listArray={listArray}/>)}
Preview:
- List item 1
- List item 2
- List item 3
import { List } from '@dashflowx/core'export default function OrderedList() {const listArray = [{ id: 1, content: 'Step 1: Prepare ingredients' },{ id: 2, content: 'Step 2: Mix ingredients' },{ id: 3, content: 'Step 3: Cook for 30 minutes' }];return (<Listvarients="ordered"listArray={listArray}/>)}
Preview:
- List item 1
- List item 2
- List item 3
import { List } from '@dashflowx/core'export default function IconUnorderedList() {const listArray = [{ id: 1, content: 'Fast delivery' },{ id: 2, content: 'Quality guarantee' },{ id: 3, content: '24/7 support' }];return (<Listvarients="iconunordered"listArray={listArray}/>)}
Preview:
- •List item 1
- •List item 2
- •List item 3
import { List } from '@dashflowx/core'export default function CustomStyledList() {const listArray = [{ id: 1, content: 'Custom item 1' },{ id: 2, content: 'Custom item 2' },{ id: 3, content: 'Custom item 3' }];return (<Listvarients="unordered"listArray={listArray}listClassName="border border-blue-500 rounded-lg p-4"className="bg-blue-50"/>)}
Preview:
- List item 1
- List item 2
- List item 3
import { List } from '@dashflowx/core'export default function LargeList() {const listArray = [{ id: 1, content: 'Item 1' },{ id: 2, content: 'Item 2' },{ id: 3, content: 'Item 3' },{ id: 4, content: 'Item 4' },{ id: 5, content: 'Item 5' },{ id: 6, content: 'Item 6' }];return (<Listvarients="unordered"listArray={listArray}/>)}
Preview:
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
const featureList = (<Listvarients="iconunordered"listArray={[{ id: 1, content: 'Fast performance' },{ id: 2, content: 'Secure data' },{ id: 3, content: 'Easy to use' }]}/>);
const instructionsList = (<Listvarients="ordered"listArray={[{ id: 1, content: 'Download the app' },{ id: 2, content: 'Create an account' },{ id: 3, content: 'Start using the service' }]}/>);
const navigationMenu = (<Listvarients="unordered"listArray={[{ id: 1, content: 'Home' },{ id: 2, content: 'About' },{ id: 3, content: 'Services' },{ id: 4, content: 'Contact' }]}/>);
const benefitsList = (<Listvarients="iconunordered"listArray={[{ id: 1, content: 'Free shipping' },{ id: 2, content: '30-day return policy' },{ id: 3, content: 'Customer support' }]}/>);
const checklist = (<Listvarients="unordered"listArray={[{ id: 1, content: 'Review requirements' },{ id: 2, content: 'Design solution' },{ id: 3, content: 'Implement features' },{ id: 4, content: 'Test functionality' }]}/>);
Choose the right list type for your content.
// ✅ Good - Ordered list for steps<List varients="ordered" listArray={steps} />// ✅ Good - Unordered list for features<List varients="unordered" listArray={features} />// ✅ Good - Icon list for benefits<List varients="iconunordered" listArray={benefits} />
Use clear and descriptive content for list items.
// ✅ Good - Clear contentconst listArray = [{ id: 1, content: 'Complete the registration form' },{ id: 2, content: 'Verify your email address' }];// ❌ Avoid - Unclear contentconst listArray = [{ id: 1, content: 'Do stuff' },{ id: 2, content: 'More stuff' }];
Maintain consistent styling across your lists.
// ✅ Good - Consistent styling<Listvarients="unordered"listClassName="standard-list-style"listArray={items}/>// ❌ Avoid - Inconsistent styling<Listvarients="unordered"listClassName="random-styles"listArray={items}/>
Use proper data structure for list items.
// ✅ Good - Proper structureconst listArray = [{ id: 1, content: 'Item 1' },{ id: 2, content: 'Item 2' }];// ❌ Avoid - Missing required fieldsconst listArray = [{ content: 'Item 1' },{ content: 'Item 2' }];
Ensure list content is accessible to all users.
// ✅ Good - Accessible contentconst listArray = [{ id: 1, content: 'Clear and descriptive content' }];// ❌ Avoid - Unclear contentconst listArray = [{ id: 1, content: 'Click here' }];
You can customize the list appearance using CSS classes:
<Listvarients="unordered"listArray={items}listClassName="border border-gray-300 rounded-lg p-4"className="bg-gray-50"/>
Use different themes for different contexts:
// Light theme<Listvarients="unordered"listArray={items}listClassName="bg-white border-gray-200"/>// Dark theme<Listvarients="unordered"listArray={items}listClassName="bg-gray-900 border-gray-700 text-white"/>// Brand theme<Listvarients="unordered"listArray={items}listClassName="bg-blue-50 border-blue-200"/>
Use different sizes for different emphasis levels:
// Small list<Listvarients="unordered"listArray={items}listClassName="text-sm space-y-1"/>// Standard list<Listvarients="unordered"listArray={items}listClassName="text-base space-y-2"/>// Large list<Listvarients="unordered"listArray={items}listClassName="text-lg space-y-3"/>
Load list data dynamically:
const [listData, setListData] = useState([]);useEffect(() => {// Load list dataloadListData().then(setListData);}, []);<Listvarients="unordered"listArray={listData}/>
Change list type based on conditions:
const [listType, setListType] = useState('unordered');<Listvarients={listType}listArray={items}/>
Use custom icons for icon lists:
const listArray = [{id: 1,content: 'Feature 1',icon: <span className="text-green-500">✓</span>},{id: 2,content: 'Feature 2',icon: <span className="text-blue-500">★</span>}];
- Li: For individual list items
- Ul: For unordered lists
- Ol: For ordered lists
- Typography: For text styling
- Card: For list containers
For the complete API reference and advanced usage patterns, see the List API documentation.
