0.2.15 • Published 1 year ago

@fellesdatakatalog/link v0.2.15

Weekly downloads
39
License
MIT
Repository
github
Last release
1 year ago

@fellesdatakatalog/link

Link component allows for easy customisation of anchor elements.

Installation

npm i @fellesdatakatalog/link

Dependencies

  • react
  • styled-components
  • @fellesdatakatalog/theme

Usage

Basic usage

In order to use the link component, wrap the application in global theme provider from @fellesdatakatalog/theme. Then, use the link as any regular component. Link component is an extension of HTML anchor element. It supports all the props of its HTML counterpart.

import React, { FC } from 'react';
import ThemeProvider from '@fellesdatakatalog/theme';
import Link from '@fellesdatakatalog/link';

const App: FC = () => (
  <ThemeProvider>
    <Link href='https://world/go/places'>
      Take me places!
    </Link>
  </ThemeProvider>
);

export default App;

External link

Links can point to external resources that will open in a new tab or window. Pass an external prop in order to indicate that a link points to an external resource.

import React, { FC } from 'react';
import ThemeProvider from '@fellesdatakatalog/theme';
import Link from '@fellesdatakatalog/link';

const App: FC = () => (
  <ThemeProvider>
    <Link href='https://world/go/places' external>
      Take me places!
    </Link>
  </ThemeProvider>
);

export default App;

Link children and icons

It is possible to pass children to a link. The mest common type would be text. It might be necessary to add an icon for improved user experience. An icon can be passed using icon prop.

import React, { FC } from 'react';
import ThemeProvider from '@fellesdatakatalog/theme';
import Link from '@fellesdatakatalog/link';
import FavouriteIcon from '@material-ui/icons/Favorite'

const App: FC = () => (
  <ThemeProvider>
    <Link href='https://world/go/places' icon={<FavouriteIcon />}>
      Take me places!
    </Link>
  </ThemeProvider>
);

export default App;

Colour inheritance

All parts of a link component will attempt to inherit the colour from its parent element.

Polymorphism

The base element in a link component is polymorphic, meaning that it is possible to render any other HTML element as a base element in a link component. This is useful when rendering link elements from third-party routing libraries. Given this freedom, it is important not to break semantics.

import React, { FC } from 'react';
import { Link as RouteLink } from 'react-router-dom';
import ThemeProvider from '@fellesdatakatalog/theme';
import Link from '@fellesdatakatalog/link';

const App: FC = () => (
  <ThemeProvider>
    <Link href='https://world/go/places' as={RouteLink}>
      Take me places!
    </Link>
  </ThemeProvider>
);

export default App;
0.2.15

1 year ago

0.2.14

1 year ago

0.2.13

1 year ago

0.2.12

1 year ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.9

2 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago