4.0.1 • Published 3 years ago

@terminus/ui-link v4.0.1

Weekly downloads
24
License
MIT
Repository
github
Last release
3 years ago

CI/CD Status Codecov MIT License
NPM version Library size

Table of Contents

Installation

Use the ng add command to quickly install all the needed dependencies:

ng add @terminus/ui-link

CSS imports

In your top-level stylesheet, add these imports:

@import '~@terminus/design-tokens/css/library-design-tokens.css';
@import '~@terminus/ui-styles/terminus-ui.css';

CSS resources

Load the needed font families by adding this link to the <head> of your application:

<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">

Usage

Wrap your link text and define a destination:

<ts-link [destination]="['your', 'path']">My link</ts-link>

External links

To signify a link will leave the current app or site, set external to true. When the destination is a string and contains either mailto or tel, the external icon would not show.

<ts-link
  [destination]="http://google.com"
  [external]="true"
>My link</ts-link>

NOTE: When external is set to true, the link should be a standard link in string form.

Tab index

A custom tabindex can also be set:

<ts-link
  [destination]="http://google.com"
  [tabIndex]="2"
>My link</ts-link>

Local URL fragments

Local fragments are supported for deep linking within a page:

<ts-link
  [destination]="['your', 'path']"
  fragment="myFragment"
  [tabIndex]="2"
>My link</ts-link>
<!-- This would route to: `/your/path#myFragment -->

If no destination is defined, it will fallback to the local page: ['.']:

<ts-link
  fragment="myFragment"
  [tabIndex]="2"
>My link</ts-link>
<!-- If used on the route `/my/home`, this would route to: `/my/home#myFragment` -->

Router changes to support local links

There are a couple needed Router configuration changes to support local links:

import { NgModule } from '@angular/core';
import {
  ExtraOptions,
  RouterModule,
  Routes,
} from '@angular/router';

const myRoutes: Routes = [...];
const routerOptions: ExtraOptions = {
  anchorScrolling: 'enabled',
  scrollPositionRestoration: 'enabled',
};

@NgModule({
  ...
  imports: [RouterModule.forRoot(myRoutes, routerOptions)],
  ...
})

Learn more about Angular's ExtraOptions here: https://angular.io/api/router/ExtraOptions

4.0.1

3 years ago

4.0.0

3 years ago

3.0.5

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

4 years ago

2.1.3

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.15

4 years ago

2.0.14

4 years ago

2.0.13

4 years ago

2.0.12

4 years ago

2.0.11

4 years ago

2.0.7

4 years ago

2.0.9

4 years ago

2.0.10

4 years ago

2.0.8

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.11

4 years ago

1.0.12

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.2

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.1

4 years ago