Label
View in LexiconLabels are a visual pattern used to categorize information providing quick and easy recognition.
install | yarn add @clayui/label |
---|---|
version | |
use | import Label from '@clayui/label'; |
Table of Contents
Overview
Label
offers two different APIs for use by toggling the prop withClose
. By default(withClose={true}
), Label
behaves like a high-level component. If you want to use the lower-level components and compose multiple parts to your label, all you need to do is set withClose={false}
.
Check out this storybook example for a demo.
Display Types
Using displayType
property you can use these color variations on Label component:
import {Provider} from '@clayui/core'; import Label from '@clayui/label'; import React from 'react'; import '@clayui/css/lib/css/atlas.css'; export default function App() { return ( <Provider spritemap="/public/icons.svg"> <div className="p-4"> <> <Label displayType="success">Label Success</Label> <Label displayType="info">Label Info</Label> <Label displayType="secondary">Label Secondary</Label> <Label displayType="warning">Label Warning</Label> <Label displayType="danger">Label Danger</Label> </> </div> </Provider> ); }
Closing Actions
Use closeButtonProps
property for applying custom properties to the button that wraps the closing icon.
In this example, an Id was settled for the closing element:
import {Provider} from '@clayui/core'; import Label from '@clayui/label'; import React from 'react'; import '@clayui/css/lib/css/atlas.css'; export default function App() { return ( <Provider spritemap="/public/icons.svg"> <div className="p-4"> <Label closeButtonProps={{ 'aria-label': 'Close', title: 'Close', id: 'closeId', }} displayType="success" > Label Text </Label> </div> </Provider> ); }
You can also set a state for the visibility of the Label for example, handling onClick
property on the closing element.
import {Provider} from '@clayui/core'; import Label from '@clayui/label'; import React, {useState} from 'react'; import '@clayui/css/lib/css/atlas.css'; export default function App() { const [visible, setVisible] = useState(true); return ( <Provider spritemap="/public/icons.svg"> <div className="p-4"> {visible && ( <Label closeButtonProps={{ 'aria-label': 'Close', title: 'Close', onClick: () => setVisible((val) => !val), }} displayType="success" > Label Text </Label> )} </div> </Provider> ); }
Table of Contents