LinkButton
The LinkButton
component is similar to the Link
component. It creates a
a
element, but it will appear like the Button
component; it will have
similar styles, variations, and sizes as the Button
component.
Usage
To use it in your app, import LinkButton
from the package:
Then, add it in your app as you would with a native HTML a
element by passing the href
prop and the label:
Similar to the Link
component, the LinkButton
also inherits several native a
element attributes, such as the target
and rel
attribute. You can pass these attributes as props directly to the component:
Variants
The LinkButton
component comes with a couple of variants. The default variant, is primary
. You can use the variant
prop to change the appearance, for example, to the secondary
variant:
Sizes
Similar to the Button
component, the LinkButton
component also comes with a couple of sizes. You can use the size
prop to change the button size to the small
, large
, and hero
size, for example:
Affix
To add any valid elements before and after the label, you can pass the prefix
and suffix
props to the LinkButton
component . This may be useful if you need to show an icon or context for the link.
Let’s assume you’d like to show an icon after the label to show that the link will open in a new tab. You can use the suffix
prop, as follows:
Styles
The LinkButton
component has static classes, prefixed with .kubrick-LinkButton-
. You can use these static classes to
select and customize the component and its elements.
Selector | Description |
---|---|
root | The root element of the link. |
prefix | The element that wraps the prefix content. |
suffix | The element that wraps the suffix content. |
infix | The element that wraps the link label when the prefix or suffix is present. |
Events
The LinkButton
component will emit some events on user
interactions. You can handle these events by passing a function as a
callback to the following props:
Event | Description |
---|---|
onHoverChange | Triggered when the link is hovered. The function callback will receive a boolean value indicating if the link is hovered. |
onFocusChange | Triggered when the link receives or loses focus. The function callback will receive a boolean value indicating if the link is focused. |
Let’s assume you have an app with the LinkButton
. You want to animate the icon when the button receives focus. To do this, you can use the onFocusChange
prop to listen when the component receives or loses focus state.