@pmwcs/list
v1.1.0
Published
PMWCS list component
Downloads
14
Maintainers
Readme
Lists
Lists are continuous, vertical indexes of text or images.
- Module @pmwcs/list
- Import styles:
- Using CSS Loader
- import '@pmwcs/list/styles';
- Or include stylesheets
- '@material/list/dist/mdc.list.css'
- '@material/ripple/dist/mdc.ripple.css'
- '@pmwcs/icon/icon.css'
- Using CSS Loader
- MDC Docs: https://material.io/develop/web/components/lists/
Basic Usage
<List>
<ListItem>Cookies</ListItem>
<ListItem>Pizza</ListItem>
<ListItem>Icecream</ListItem>
</List>
<List twoLine>
<ListItem>
<ListItemGraphic icon="star_border" />
<ListItemText>
<ListItemPrimaryText>Cookies</ListItemPrimaryText>
<ListItemSecondaryText>$4.99 a dozen</ListItemSecondaryText>
</ListItemText>
<ListItemMeta icon="info" />
</ListItem>
<ListItem>
<ListItemGraphic icon="local_pizza" />
<ListItemText>
<ListItemPrimaryText>Pizza</ListItemPrimaryText>
<ListItemSecondaryText>$1.99 a slice</ListItemSecondaryText>
</ListItemText>
<ListItemMeta icon="info" />
</ListItem>
<ListItem activated>
<ListItemGraphic icon="mood" />
<ListItemText>
<ListItemPrimaryText>Icecream</ListItemPrimaryText>
<ListItemSecondaryText>$0.99 a scoop</ListItemSecondaryText>
</ListItemText>
<ListItemMeta>Winner!</ListItemMeta>
</ListItem>
</List>
Simplified Usage
While there are siutations where you would need / want to compose the entire list yourself, it can be quite verbose. SimpleListItem
provides a compact syntax that allows you to pass all options as props. The following example is roughly equivalent to the one above.
<List twoLine>
<SimpleListItem
graphic="star_border"
text="Cookies"
secondaryText="Chocolate chip"
metaIcon="info"
/>
<SimpleListItem
graphic="local_pizza"
text="Pizza"
secondaryText="Pepperoni"
metaIcon="info"
/>
<SimpleListItem
activated
graphic="mood"
text="Icecream"
secondaryText="Chocolate cookie dough"
meta="Winner!"
/>
</List>
List
A List Component
Props
| Name | Type | Description |
|------|------|-------------|
| apiRef
| undefined \| (api: ListApi \| null) => void
| An internal api used for cross component communication |
| avatarList
| undefined \| false \| true
| Makes the list start detail circular for avatars. |
| dense
| undefined \| false \| true
| Reduces the padding on List items. |
| foundationRef
| React.Ref<MDCListFoundation \| null>
| Advanced: A reference to the MDCFoundation. |
| nonInteractive
| undefined \| false \| true
| Makes the list non interactive. In addition, you'll have to set ripple={false}
on the individual ListItems. |
| onAction
| undefined \| (evt: ListOnActionEventT) => void
| A callback for when a list item is interacted with. evt.detail = number |
| twoLine
| undefined \| false \| true
| Gives more space for dual lined list items. |
| vertical
| undefined \| false \| true
| Sets the lists vertical orientation. Defaults to true |
| wrapFocus
| undefined \| false \| true
| Sets the list to allow the up arrow on the first element to focus the
last element of the list and vice versa. Defaults to true |
ListItem
A ListItem component.
Props
| Name | Type | Description |
|------|------|-------------|
| activated
| undefined \| false \| true
| A modifier for an active state. |
| disabled
| undefined \| false \| true
| A modifier for a disabled state. |
| ripple
| RipplePropT
| Adds a ripple effect to the component |
| selected
| undefined \| false \| true
| A modifier for a selected state. |
ListItemPrimaryText
Primary Text for the ListItem
ListItemSecondaryText
Secondary text for the ListItem
ListItemGraphic
A graphic / icon for the ListItem
Props
| Name | Type | Description |
|------|------|-------------|
| icon
| PMWCS.IconPropT
| The icon to use. This can be a string for a font icon, a url, or whatever the selected strategy needs. |
ListItemMeta
Meta content for the ListItem. This can either by an icon by setting the icon
prop, or any other kind of content.
Props
| Name | Type | Description |
|------|------|-------------|
| icon
| PMWCS.IconPropT
| The icon to use. This can be a string for a font icon, a url, or whatever the selected strategy needs. |
ListDivider
A divider for the List
ListGroup
A container to group ListItems
ListGroupSubheader
A subheader for the ListGroup
SimpleListItem
A simple list item template.
Props
| Name | Type | Description |
|------|------|-------------|
| activated
| undefined \| false \| true
| A modifier for an active state. |
| children
| React.ReactNode
| Children to render |
| disabled
| undefined \| false \| true
| A modifier for a disabled state. |
| graphic
| PMWCS.IconPropT
| A graphic icon for the ListItem. |
| meta
| React.ReactNode
| Meta content for the ListItem instead of an icon. |
| metaIcon
| PMWCS.IconPropT
| A meta icon for the ListItem |
| ripple
| RipplePropT
| Adds a ripple effect to the component |
| secondaryText
| React.ReactNode
| Secondary Text for the ListItem. |
| selected
| undefined \| false \| true
| A modifier for a selected state. |
| text
| React.ReactNode
| Text for the ListItem. |