@lyra/components
Version:
Basic UX components
96 lines (77 loc) • 1.93 kB
Markdown
from 'react'
import {List, Item} from 'part:@lyra/components/lists/default'
function renderItem(item, index) {
return <Item className="myListItem">{item}</Item>
}
function MyComponent() {
return (
<List className="myList" items={['a', 'b', 'c']} renderItem={renderItem} />
)
}
```
```jsx
import {List, Item, DragHandle} from 'part:@lyra/components/lists/sortable'
<List className="myList">
<ListItem>
<DragHandle />
Hello this is sortable list item
</ListItem>
</List>
```
```jsx
import {List, Item} from 'part:@lyra/components/lists/grid'
<List className="myGridList">
<ListItem>
Hello this is grid list item
</ListItem>
<ListItem>
Hello this is grid list item
</ListItem>
<ListItem>
Hello this is grid list item
</ListItem>
</List>
```
```jsx
import {List, Item} from 'part:@lyra/components/lists/sortable-grid'
<List className="myGridList">
<ListItem>
<DragHandle />
Hello this is sortable grid list item
</ListItem>
<ListItem>
<DragHandle />
Hello this is sortable grid list item
</ListItem>
<ListItem>
<DragHandle />
Hello this is sortable grid list item
</ListItem>
</List>
```
To create a custom drag handle, you can import the custom `createDragHandle` function. This works for both regular sortable lists and sortable grid lists.
```jsx
import {List, ListItem, createDragHandle} from 'part:@lyra/components/lists/sortable'
const MyDragHandle = createDragHandle(<span>Drag me!</span>
<List className="myGridList">
<ListItem>
<MyDragHandle />
Hello this is sortable list item
</ListItem>
<ListItem>
<MyDragHandle />
Hello this is sortable list item
</ListItem>
<ListItem>
<MyDragHandle />
Hello this is sortable list item
</ListItem>
</List>
```
```js
import React