@thumbtack/tp-ui-react-link v3.1.5
package: '@thumbtack/tp-ui-react-link' kit: element/link.yaml platform: react
url: /api/components/element/link/react/
Link styles
The Link component can be used to render plain text links.
<React.Fragment>
Learn more about <Link to="https://www.facebook.com/Thumbtack/">Thumbtack on Facebook</Link>.
</React.Fragment>Secondary links
<Link theme="secondary" to="https://www.thumbtack.com/privacy/">
Privacy Policy
</Link>Tertiary links
These links render as white text with an underline. They work well on dark backgrounds.
<div style={{ color: tokens.tpColorWhite }}>
Learn more about
<Link theme="tertiary" to="https://www.facebook.com/Thumbtack/">
Thumbtack on Facebook
</Link>.
</div>Link with an icon
The Link component provides a iconLeft prop to help vertically position icons alongside text.
<Link iconLeft={<ContentActionsPhoneCallSmall />} to="https://example.com/">
Call this Pro
</Link>Link with icon that inherits color of parent
This link inherits the color of its parent with theme="inherit".
<div style={{ color: tokens.tpColorWhite }}>
<Link
iconLeft={<ContentActionsShareMedium />}
accessibilityLabel="Share this page"
theme="inherit"
to="https://example.com/"
/>
</div>Changing the font size
Links inherit the font size of their container.
<div style={{ fontSize: tokens.tpFontBody2Size }}>
Learn more about <Link to="https://www.facebook.com/Thumbtack/">Thumbtack on Facebook</Link>.
</div>Changing the font weight
Links also inherit the font weight of their container.
<React.Fragment>
Learn more about{' '}
<strong>
<Link to="https://www.facebook.com/Thumbtack/">Thumbtack on Facebook</Link>
</strong>
.
</React.Fragment>Opening links in new tabs
The shouldOpenInNewTab prop will open links in a new tab. It also handles the target="_blank" security vulnerability.
<React.Fragment>
Learn more about{' '}
<Link to="https://www.facebook.com/Thumbtack/" shouldOpenInNewTab>
Thumbtack on Facebook
</Link>
.
</React.Fragment>Themed links
The ThemedLink component renders <a> tags that visually look like buttons.
These are the available ThemedLink styles for use on light background colors.
<ButtonRow>
<ThemedLink theme="primary" to="https://example.com/">
Primary
</ThemedLink>
<ThemedLink theme="secondary" to="https://example.com/">
Secondary
</ThemedLink>
<ThemedLink theme="caution" to="https://example.com/">
Caution
</ThemedLink>
</ButtonRow>Use on dark backgrounds
The solid theme works well on dark backgrounds.
<ThemedLink theme="solid" to="https://example.com/">
Solid
</ThemedLink>Size options
The ThemedLink component also has a small variation.
<ButtonRow>
<ThemedLink theme="primary" size="small" to="https://example.com/">
Primary
</ThemedLink>
<ThemedLink theme="secondary" size="small" to="https://example.com/">
Secondary
</ThemedLink>
<ThemedLink theme="caution" size="small" to="https://example.com/">
Caution
</ThemedLink>
</ButtonRow>Disabled themed links
The isDisabled prop visually and functionally disables the link.
<ButtonRow>
<ThemedLink isDisabled theme="primary" to="https://example.com/">
Primary
</ThemedLink>
<ThemedLink isDisabled theme="secondary" to="https://example.com/">
Secondary
</ThemedLink>
<ThemedLink isDisabled theme="caution" to="https://example.com/">
Caution
</ThemedLink>
</ButtonRow>Full width
<ThemedLink width="full" to="https://example.com/">
Send Quote
</ThemedLink>Full width on small screens
This link becomes full width on viewports that are smaller than our small breakpoint. The width is auto on larger screens.
<ThemedLink width="full-below-small" to="https://example.com/">
Send Quote
</ThemedLink>Icon within the ThemedLink
<ThemedLink icon={<ContentModifierMessageSmall />} to="https://example.com/">
Send Message
</ThemedLink>