Components
BarList
Storybook
BarList
The BarList component is a customizable React component designed to display a list of bars representing different data points. It provides a visually appealing way to present metrics, values, or progress indicators in a clear and intuitive manner.
Imports
The first alternative is recommended since it can reduce the application bundle
1import BarList from 'dd360-ds/BarList'1import { BarList } from 'dd360-ds'Usage
Use the BarList component as shown below:
The code snippet below shows how to use the BarList component:
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11    />
12Customization
The BarList component provides several customization options through props.
TitleMetrics
Allows you to specify a text or a string to be displayed as a title for the metrics displayed in the bar list.
Items
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        titleMetrics="Items"
12    />
13TitleValues
Allows you to specify a text or a string to be displayed as a title for the values shown in the list of members.
Items
Values
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        titleMetrics="Items"
12        titleValues="Values"
13    />
14ValuePrefix
Allows to specify a text or value to be displayed as a prefix next to the values in the bar list. This prefix will be placed before each value.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        valuePrefix="$"
12    />
13ValueSuffix
Allows to specify a text or value to be displayed as a suffix next to the values in the list of members. This suffix will be placed after each value.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        valueSuffix="%"
12    />
13ClassNameBar
Allows passing a text string representing a custom CSS class for the background bar of each item in the list.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        classNameBar="border border-blue-800"
12    />
13RoundedBar
Allows you to specify the border radius of the bar elements in the list.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        roundedBar="full"
12    />
13MarginYItem
Allows to set the vertical spacing between each item in the bar list.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        marginYItem="4"
12    />
13HeightBar
Allows you to set the height of the bottom bar element of each item in the list.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        heightBar="14"
12        marginYItem="8"
13    />
14FontSizeBar
Allows you to pass a value from the Size enumeration to set the font size of the text in the bar labels. The default value is base.
1import BarList from 'dd360-ds/BarList'
2
3  <BarList
4        listData={[
5            { label: 'Item 1', value: 20 },
6            { label: 'Item 2', value: 40 },
7            { label: 'Item 3', value: 60 },
8            { label: 'Item 4', value: 80 },
9            { label: 'Item 5', value: 100 }
10        ]}
11        fontSizeBar="lg"
12    />
13DefaultBackgroundBarColor
Defines the default background color of the bar element if the backgroundBarColor property is not provided for a specific element in the listData property.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20 },
6        { label: 'Item 2', value: 40 },
7        { label: 'Item 3', value: 60 },
8        { label: 'Item 4', value: 80 },
9        { label: 'Item 5', value: 100 }
10    ]}
11    defaultBackgroundBarColor="#aee8be"
12/>
13DefaultTextBarColor
Defines the default text color in the bar labels if the textBarColor property is not provided for a specific item in the listData property.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20 },
6        { label: 'Item 2', value: 40 },
7        { label: 'Item 3', value: 60 },
8        { label: 'Item 4', value: 80 },
9        { label: 'Item 5', value: 100 }
10    ]}
11    defaultTextBarColor="#000"
12/>
13Item Customization
In DataList items you can use the following properties to customize each item.
prefix
Allows you to specify a text or string to be displayed as a prefix before the numeric value in the bar label for a specific item in the listData property.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20, prefix: "$" },
6        { label: 'Item 2', value: 40 },
7        { label: 'Item 3', value: 60 },
8        { label: 'Item 4', value: 80 },
9        { label: 'Item 5', value: 100 }
10    ]}
11/>
12Suffix
Allows you to specify a text or a string to be displayed as a suffix after the numeric value in the bar label for a specific item in the listData property.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20, suffix: "%" },
6        { label: 'Item 2', value: 40 },
7        { label: 'Item 3', value: 60 },
8        { label: 'Item 4', value: 80 },
9        { label: 'Item 5', value: 100 }
10    ]}
11/>
12BackgroundBarColor
Defines the background color of the bar element for a specific element in the listData property. Providing this property will override the default background color for the corresponding element.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20, backgroundBarColor: "#aee8be" },
6        { label: 'Item 2', value: 40 },
7        { label: 'Item 3', value: 60 },
8        { label: 'Item 4', value: 80 },
9        { label: 'Item 5', value: 100 }
10    ]}
11/>
12TextBarColor
Defines the text color of the bar labels for a specific element in the listData property. Providing this property will override the default text color for the corresponding element.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20, textBarColor: "#083173" },
6        { label: 'Item 2', value: 40 },
7        { label: 'Item 3', value: 60 },
8        { label: 'Item 4', value: 80 },
9        { label: 'Item 5', value: 100 }
10    ]}
11/>
12Hsref
Allows you to specify the destination URL for the generated links in the list items. The links will open in a new browser tab because they contain the target="_blank" attribute.
1import BarList from 'dd360-ds/BarList'
2
3<BarList
4    listData={[
5        { label: 'Item 1', value: 20, href: "/" },
6        { label: 'Item 2', value: 40, href: "/" },
7        { label: 'Item 3', value: 60, href: "/" },
8        { label: 'Item 4', value: 80, href: "/" },
9        { label: 'Item 5', value: 100, href: "/" }
10    ]}
11/>
12StartIcon
Allows you to pass a React element as an icon to be displayed at the beginning of the bar label for a specific element in the listData property.
1import BarList from 'dd360-ds/BarList'
2
3const IconTwitter = () => {
4  return (
5    <svg
6        xmlns="http://www.w3.org/2000/svg"
7        className="fill-blue-500"
8        viewBox="0 0 24 24"
9        width="20"
10        height="20"
11    >
12        <path fill="none" d="M0 0h24v24H0z" />
13        <path d="M22.162 5.656a8.384 8.384 0 0 1-2.402.658A4.196 4.196 0 0 0 21.6 4c-.82.488-1.719.83-2.656 1.015a4.182 4.182 0 0 0-7.126 3.814 11.874 11.874 0 0 1-8.62-4.37 4.168 4.168 0 0 0-.566 2.103c0 1.45.738 2.731 1.86 3.481a4.168 4.168 0 0 1-1.894-.523v.052a4.185 4.185 0 0 0 3.355 4.101 4.21 4.21 0 0 1-1.89.072A4.185 4.185 0 0 0 7.97 16.65a8.394 8.394 0 0 1-6.191 1.732 11.83 11.83 0 0 0 6.41 1.88c7.693 0 11.9-6.373 11.9-11.9 0-.18-.005-.362-.013-.54a8.496 8.496 0 0 0 2.087-2.165z" />
14    </svg>
15  )
16}
17
18<BarList
19    listData={[
20        { label: 'Item 1', value: 20, startIcon: <IconTwitter /> },
21        { label: 'Item 2', value: 40 },
22        { label: 'Item 3', value: 60 },
23        { label: 'Item 4', value: 80 },
24        { label: 'Item 5', value: 100 }
25    ]}
26/>
27EndIcon
Allows you to pass a React element as an icon to be displayed at the end of the bar label for a specific element in the listData property.
1import BarList from 'dd360-ds/BarList'
2
3const IconTwitter = () => {
4  return (
5    <svg
6        xmlns="http://www.w3.org/2000/svg"
7        className="fill-blue-500"
8        viewBox="0 0 24 24"
9        width="20"
10        height="20"
11    >
12        <path fill="none" d="M0 0h24v24H0z" />
13        <path d="M22.162 5.656a8.384 8.384 0 0 1-2.402.658A4.196 4.196 0 0 0 21.6 4c-.82.488-1.719.83-2.656 1.015a4.182 4.182 0 0 0-7.126 3.814 11.874 11.874 0 0 1-8.62-4.37 4.168 4.168 0 0 0-.566 2.103c0 1.45.738 2.731 1.86 3.481a4.168 4.168 0 0 1-1.894-.523v.052a4.185 4.185 0 0 0 3.355 4.101 4.21 4.21 0 0 1-1.89.072A4.185 4.185 0 0 0 7.97 16.65a8.394 8.394 0 0 1-6.191 1.732 11.83 11.83 0 0 0 6.41 1.88c7.693 0 11.9-6.373 11.9-11.9 0-.18-.005-.362-.013-.54a8.496 8.496 0 0 0 2.087-2.165z" />
14    </svg>
15  )
16}
17
18<BarList
19    listData={[
20        { label: 'Item 1', value: 20, endIcon: <IconTwitter /> },
21        { label: 'Item 2', value: 40 },
22        { label: 'Item 3', value: 60 },
23        { label: 'Item 4', value: 80 },
24        { label: 'Item 5', value: 100 }
25    ]}
26/>
27API Reference
| Name | Types | Default | 
|---|---|---|
| "listData"* | ListItem[]  | []  | 
| "titleMetrics" | string  | -  | 
| "titleValues" | string  | -  | 
| "valuePrefix" | string  | -  | 
| "valueSuffix" | string  | -  | 
| "defaultTextBarColor" | CSSProperties[color]  | #1D4ED8  | 
| "defaultBackgroundBarColor" | CSSProperties[color]  | #b5d4fc  | 
| "fontSizeBar" | xs sm base lg xl 2xl 3xl 4xl  | base  | 
| "heightBar" | string  | h-full  | 
| "marginYItem" | string  | 1  | 
| "roundedBar" | none sm base md lg xl 2xl 3xl full  | md  | 
| "classNameBar" | string  | -  | 
| "className" | string  | -  | 
Note
This documentation assumes that the audience has basic knowledge of React and how to use components in React applications.