List
The List component is a flexible list container that supports both unordered (ul) and ordered (ol) lists, and comes with a few built-in styles. The ListItem component is the ideal child for the List component, and represents an individual item in the list.
- This is item 1
- This is item 2
- This is item 3
Import
_10import { List, ListItem } from '@ef-global/backpack/List';
List Props
| Name | Type | Description |
| variant | ListVariants | The list style variant. |
| inverse | boolean | A boolean to indicate whether the list should be displayed in inverse mode. Defaults to false. |
| as | ListAsValues | The list type. Either 'ul' for unordered list or 'ol' for ordered list. Defaults to 'ul'. |
ListItem Props
| Name | Type | Description |
| children | React.ReactNode | The content of the list item. |
Examples
In these examples, ListItem is the ideal child for the List component, which allows you to create a well-structured and organized list of items. By using ListItem as a child of List, you ensure that each item is properly styled and rendered within the list.
Default Unordered List
- This is item 1
- This is item 2
- This is item 3
_10const DefaultExample = () => (_10 <List>_10 <ListItem>This is item 1</ListItem>_10 <ListItem>This is item 2</ListItem>_10 <ListItem>This is item 3</ListItem>_10 </List>_10);
Default Ordered List
- This is item 1
- This is item 2
- This is item 3
_10const DefaultOrderedExample = () => (_10 <List as="ol" />_10);
List with Marker Variant
- This is item 1
- This is item 2
- This is item 3
_10const MarkerVariantExample = () => (_10 <List variant="marker">_10 <ListItem>This is item 1</ListItem>_10 <ListItem>This is item 2</ListItem>_10 <ListItem>This is item 3</ListItem>_10 </List>_10);
List with Border Variant and Spacing
- This is item 1
- This is item 2
- This is item 3
_10const BorderVariantExample = () => (_10 <List variant="border">_10 <ListItem className={'u-pt-s u-pb-s'}>This is item 1</ListItem>_10 <ListItem className={'u-pt-s u-pb-s'}>This is item 2</ListItem>_10 <ListItem className={'u-pt-s u-pb-s'}>This is item 3</ListItem>_10 </List>_10);
List with Flex Layout
This is item 1
This is item 2
_17const FlexLayoutExample = () => (_17 <List variant="border">_17 <ListItem className={'u-pt-s u-pb-s'}>_17 <Flex direction={'row'} gap={'s'} align={'center'}>_17 <FlexItem>_17 <IconArrowRight />_17 </FlexItem>_17 <FlexItem>_17 <Text as={'p'} variant={'body'}>_17 This is item 1_17 </Text>_17 </FlexItem>_17 </Flex>_17 </ListItem>_17 // ... more ListItem components_17 </List>_17);
List with Definitions
The following example demonstrates how to create a list with definitions using the List and ListItem components. This is achieved by wrapping the Text components inside Flex and FlexItem components to properly align and space the content.
This is title 1
This is item 1
This is title 2
This is item 2
This is title 3
This is item 3
_35import { List, ListItem } from '@/src/components/List';_35import { Flex, FlexItem } from '@/src/components/Flex';_35import { Text } from '@/src/components/Text';_35<List>_35 <ListItem>_35 <Flex direction={'row'} gap={'s'} align={'center'} justify={'space-between'}>_35 <FlexItem>_35 <Text as={'p'} variant={'uiLabelBold'}>This is title 1</Text>_35 </FlexItem>_35 <FlexItem>_35 <Text as={'p'} variant={'body'}>This is item 1</Text>_35 </FlexItem>_35 </Flex>_35 </ListItem>_35 <ListItem>_35 <Flex direction={'row'} gap={'s'} align={'center'} justify={'space-between'}>_35 <FlexItem>_35 <Text as={'p'} variant={'uiLabelBold'}>This is title 2</Text>_35 </FlexItem>_35 <FlexItem>_35 <Text as={'p'} variant={'body'}>This is item 2</Text>_35 </FlexItem>_35 </Flex>_35 </ListItem>_35 <ListItem>_35 <Flex direction={'row'} gap={'s'} align={'center'} justify={'space-between'}>_35 <FlexItem>_35 <Text as={'p'} variant={'uiLabelBold'}>This is title 3</Text>_35 </FlexItem>_35 <FlexItem>_35 <Text as={'p'} variant={'body'}>This is item 3</Text>_35 </FlexItem>_35 </Flex>_35 </ListItem>_35</List>