@highlight-ui/link v3.1.8
@highlight-ui/link
Links are used for navigation, and usually appear standalone or at the end of a sentence.
Features
Link
- standalone (depending on the provided
hrefvalue the component will determine if the link should be external or internal and therefore either show or hide the icon) - inline
- standalone (depending on the provided
external-linkicon is part of the<Link variant="standalone" />and should be automatically shown depending on thehrefprovided
Installation
Using npm:
npm install @highlight-ui/linkUsing yarn:
yarn add @highlight-ui/linkUsing pnpm:
pnpm install @highlight-ui/linkIn your (S)CSS file:
@import url('@highlight-ui/link');Once the package is installed, you can import the library:
import { Link } from '@highlight-ui/link';Usage
standalone internal Link
import React, { useState } from 'react';
import { Link } from '@highlight-ui/link';
export default function LinkExample() {
return <Link href="/settings">Settings</Link>;
}standalone external Link
import React, { useState } from 'react';
import { Link } from '@highlight-ui/link';
export default function LinkExample() {
return <Link href="http://personio.de">Personio</Link>;
}inline Link
import React, { useState } from 'react';
import { Link } from '@highlight-ui/link';
export default function LinkExample() {
return (
<div>
This is some inline text{' '}
<Link href="/settings" variant="inline">
this is the link
</Link>{' '}
this is text after the inline link
</div>
);
}Props 📜
Link
All
HTMLAnchorElementand PropsWithMetadata(https://gitlab.personio-internal.de/personio/platform/highlight-ui/-/blob/master/packages/utils/commons/src/types.ts#L24) props are accepted with this component. In addition to these, this component has the following props
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
variant | 'inline', 'standalone' | No | standalone | variant of the link depending on how it is used |
Accessibility ♿️
The Link component follows best practices for accessibility:
- Uses a native
<a>element to ensure proper keyboard navigation and focus handling
Testing
There are a number of unit tests covering the Link component, the snippets below can serve as a base to expand future testing if new behaviours are added.
The relevant render methods provide the option to add or override prop values.
Link
import React from 'react';
import { render } from '@testing-library/react';
import { Link, LinkProps } from '@highlight-ui/link';
describe('LinkTest', () => {
const renderLink = (props: LinkProps) => {
return render(<Link {...props} />);
};
it('test description', () => {
renderLink({ href: '/test' });
// write your expect here
});
});Place in design system 💻
The link component is an element of the design system and can be used across various services and contexts. It provides a consistent look and feel for user navigation.
Contributing 🖌️
Please visit personio.design for usage guidelines and visual examples.
If you're interested in contributing, please visit our contribution page.
12 months ago
12 months ago
10 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago