@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com's products.
94 lines (73 loc) • 3.69 kB
Markdown
# List
To implement List component into your project you'll need to add the import:
```jsx
import List, { ListItem } from "@kiwicom/orbit-components/lib/List";
```
After adding import into your project you can use it simply like:
```jsx
<List>
<ListItem>Hello world!</ListItem>
</List>
```
For accessibility, you can associate the List with a heading using `ariaLabelledby`:
```jsx
<Heading id="flights-heading">Affected flights</Heading>
<List ariaLabelledby="flights-heading">
<ListItem>Flight ABC123</ListItem>
<ListItem>Flight DEF456</ListItem>
</List>
```
## Props
Table below contains all types of the props available in List component.
| Name | Type | Default | Description |
| :------------- | :-------------------- | :---------- | :--------------------------------------------------------------- |
| **children** | `React.Node` | | The content of the List, normally [`ListItem`](#listitem-props). |
| ariaLabelledby | `string` | | Optional prop for setting `aria-labelledby` attribute. |
| dataTest | `string` | | Optional prop for testing purposes. |
| id | `string` | | Set `id` for `List`. |
| size | [`enum`](#enum) | `"normal"` | The size of the List. |
| spaceAfter | `enum` | | Additional `margin-bottom` after component. |
| type | [`enum`](#enum) | `"primary"` | The color type of the List. |
| spacing | [`spacing`](#spacing) | `"100"` | The spacing between List children. |
### enum
| spaceAfter |
| :----------- |
| `"none"` |
| `"smallest"` |
| `"small"` |
| `"normal"` |
| `"medium"` |
| `"large"` |
| `"largest"` |
### spacing
| name | |
| :------- | :----- |
| `"none"` | `null` |
| `"50"` | `2px` |
| `"100"` | `4px` |
| `"150"` | `6px` |
| `"200"` | `8px` |
| `"300"` | `12px` |
| `"400"` | `16px` |
| `"500"` | `20px` |
| `"600"` | `24px` |
| `"800"` | `32px` |
| `"1000"` | `40px` |
| `"1200"` | `48px` |
| `"1600"` | `64px` |
### ListItem Props
Table below contains all types of the props in ListItem component.
| Name | Type | Default | Description |
| :----------- | :------------ | :-------------- | :------------------------------------------------------------------------------------- |
| **children** | `React.Node` | | The content of the ListItem. |
| dataTest | `string` | | Optional prop for testing purposes. |
| icon | `React.Node` | `"CircleSmall"` | The displayed Icon or CarrierLogo component. [See Functional specs](#functional-specs) |
| label | `Translation` | | Adds a label to ListItem |
### enum
| size | type |
| :--------- | :------------ |
| `"small"` | `"primary"` |
| `"normal"` | `"secondary"` |
| `"large"` |
#### Functional specs
- You can color your icon if you pass some value into `color` or `customColor` prop of the **Icon**. Be aware of using other components, because they are not styled by default.