sp-link
NPM 1.0.1
View Storybook
Try it on webcomponents.dev
Description
An <sp-link>
allow users to navigate to a different location. They can be presented in-line inside a paragraph or as a standalone text.
Usage
yarn add @spectrum-web-components/link
Import the side effectful registration of <sp-link>
via:
import '@spectrum-web-components/link/sp-link.js';
When looking to leverage the Link
base class as a type and/or for extension purposes, do so via:
import { Link } from '@spectrum-web-components/link';
Example
This is an <sp-link href="#">example link</sp-link>.
Variants
Standard links
Standard links are blue and should be used to call attention to the link or for when the blue color won’t feel too overwhelming in the experience.
This is a <sp-link href="#">standard link</sp-link>.
Disabled links
Disabled links are blue and should not propagate any events and they are not focussable.
This is a <sp-link disabled href="#">disabled link</sp-link>.
Secondary links
The secondary variant is the same color as the paragraph text inline of which it appears. Its subdued appearance is optimal for when the primary variant is too overwhelming, such as in blocks of text with several references linked throughout.
This is a <sp-link href="#" variant="secondary">secondary link</sp-link>.
Static colored links
When a link needs to be placed on top of a colored background or a visual it may be appropriate to ship it with a static color, regardless of the theme settings with which it is delivered. Leverage the static-color
attribute with its white
or black
values to ensure the delivery is the same in all contexts.
<div style="background-color: #0f797d; padding: 15px 20px; display: inline-block;" > <p style="color: rgb(240, 240, 240);"> This <sp-link static-color="white" href="#">link</sp-link> is over a background. </p> </div>
<div style="background-color: rgb(181, 209, 211); padding: 15px 20px; display: inline-block;" > <p style="color: rgb(15, 15, 15);"> This <sp-link static-color="black" href="#">link</sp-link> is over a background. </p> </div>
Quiet links
All links can have a quiet style, which means they don’t have an underline. This style should only be used when the placement and context of the link is explicit enough that a visible underline isn’t necessary. Quiet links are less accessible, so they should not be used for links that are essential to the experience. These are commonly used in website footers, where there are several lists of links that are shortcuts to other pages.
<p>This is a <sp-link quiet href="#">quiet standard link</sp-link>.</p> <p>This is a <sp-link quiet variant="secondary" href="#">quiet secondary link</sp-link>.</p> <div style="background-color: #0f797d; padding: 15px 20px; display: inline-block;" > <p style="color: rgb(240, 240, 240);"> This is a <sp-link static-color="white" quiet href="#">quiet link</sp-link> over a background. </p> </div>
Download attribute
The download attribute on an <a>
tag prompts a user to download a link as opposed to navigating to it. This attribute has been carried forward to <sp-link>
to function the same.
While it functions this way without assigning a value, actually assigning the value allows custom naming of the download link in accordance with standard <a>
This is a <sp-link download="myfile.txt" href="#">download link</sp-link>.
API
Attributes and Properties
disabled
disabled
boolean
false
download
download
string | undefined
href
href
string | undefined
label
label
string | undefined
quiet
quiet
boolean
false
referrerpolicy
referrerpolicy
| 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' | undefined
rel
rel
string | undefined
staticColor
static-color
'black' | 'white' | undefined
tabIndex
tabIndex
number
target
target
'_blank' | '_parent' | '_self' | '_top' | undefined
variant
variant
'secondary' | undefined
Changelog
1.0.1 (2024-11-11)
Note: Version bump only for package @spectrum-web-components/link
1.0.0 (2024-10-31)
BREAKING CHANGES
- remove deprecated 'static' references (
#4818 )
0.49.0 (2024-10-15)
Features
- add
static-color
to replacestatic
(#4808 ) (43cf086 )
0.48.1 (2024-10-01)
Note: Version bump only for package @spectrum-web-components/link
0.48.0 (2024-09-17)
Note: Version bump only for package @spectrum-web-components/link
0.47.2 (2024-09-03)
Note: Version bump only for package @spectrum-web-components/link
0.47.1 (2024-08-27)
Note: Version bump only for package @spectrum-web-components/link
0.47.0 (2024-08-20)
Features
- breadcrumbs: add Breadcrumbs component (
#4578 ) (acd4b5e )
0.46.0 (2024-08-08)
Note: Version bump only for package @spectrum-web-components/link
0.45.0 (2024-07-30)
Note: Version bump only for package @spectrum-web-components/link
0.44.0 (2024-07-15)
Note: Version bump only for package @spectrum-web-components/link
0.43.0 (2024-06-11)
Note: Version bump only for package @spectrum-web-components/link
0.42.5 (2024-05-24)
Note: Version bump only for package @spectrum-web-components/link
0.42.4 (2024-05-14)
Bug Fixes
- link: added feature to stop click propagation for disabled link (
#4251 ) (64f26a5 )
0.42.3 (2024-05-01)
Bug Fixes
- link: added feature to stop click propagation for disabled link (
#4251 ) (64f26a5 )
0.42.2 (2024-04-03)
Note: Version bump only for package @spectrum-web-components/link
0.42.1 (2024-04-02)
Note: Version bump only for package @spectrum-web-components/link
0.42.0 (2024-03-19)
Features
- asset: use core tokens (
99e76f4 )
0.41.2 (2024-03-05)
Note: Version bump only for package @spectrum-web-components/link
0.41.1 (2024-02-22)
Note: Version bump only for package @spectrum-web-components/link
0.41.0 (2024-02-13)
Note: Version bump only for package @spectrum-web-components/link
0.40.5 (2024-02-05)
Note: Version bump only for package @spectrum-web-components/link
0.40.4 (2024-01-29)
Bug Fixes
- shared: update and expand attribute coverage in likeAnchor (
5cb5f1d )
0.40.3 (2024-01-11)
Note: Version bump only for package @spectrum-web-components/link
0.40.2 (2023-12-18)
Note: Version bump only for package @spectrum-web-components/link
0.40.1 (2023-12-05)
Note: Version bump only for package @spectrum-web-components/link
0.40.0 (2023-11-16)
Note: Version bump only for package @spectrum-web-components/link
0.39.4 (2023-11-02)
Note: Version bump only for package @spectrum-web-components/link
0.39.3 (2023-10-18)
Note: Version bump only for package @spectrum-web-components/link
0.39.2 (2023-10-13)
Note: Version bump only for package @spectrum-web-components/link
0.39.1 (2023-10-06)
Note: Version bump only for package @spectrum-web-components/link
0.39.0 (2023-09-25)
Note: Version bump only for package @spectrum-web-components/link
0.38.0 (2023-09-05)
Note: Version bump only for package @spectrum-web-components/link
0.37.0 (2023-08-18)
Note: Version bump only for package @spectrum-web-components/link
0.36.0 (2023-08-18)
Note: Version bump only for package @spectrum-web-components/link
0.35.0 (2023-07-31)
Note: Version bump only for package @spectrum-web-components/link
0.34.0 (2023-07-11)
Note: Version bump only for package @spectrum-web-components/link
0.33.2 (2023-06-14)
Note: Version bump only for package @spectrum-web-components/link
0.33.0 (2023-06-08)
Note: Version bump only for package @spectrum-web-components/link
0.32.0 (2023-06-01)
Note: Version bump only for package @spectrum-web-components/link
0.31.0 (2023-05-17)
Note: Version bump only for package @spectrum-web-components/link
0.30.0 (2023-05-03)
Bug Fixes
- add the missing quiet property to Link component (
867ea43 ) - apply Focuable styles in class extensions (
38f7afd ) - correct
@element jsDoc listing across library (c97a632 ) - expand sized functionality to support no default and returning to default values (
acf3cfb ) - include "type" in package.json, generate custom-elements.json (
1a8d716 ) - include default export in the "exports" fields (
f32407d ) - include the "types" entry in package.json files (
b432f59 ) - link: correct custom CSS processing configuration (
2a24d5a ) - link: correct white space in template/docs site (
a48bd06 ) - link: correct white space management (
a7a63dc ) - link: process Spectrum CSS without overwriting specificity (
9eb3d5c ) - link: support "secondary" variant (
3808b96 ) - link: test inner anchor attribute by accessing via focusElement (
f4e97a1 ) - prevent tabindex=-1 elements from placing focus on their host (
1ac1293 ) - review deque accessibility testing of docs site (
31f43aa ) - stop merging selectors in a way that alters the cascade (
369388f ) - update latest Spectrum CSS beta releases (
d8d3acc ) - update side effect listings (
8160d3a ) - update to latest spectrum-css packages (
a5ca19f ) - use latest @spectrum-css/* versions (
c35eb86 )
Features
- adopt DNA@7 base Spectrum CSS (
e08cafd ) - apply sizedMixin for t-shirt sizing (
d7b63fb ) - include all Dev Mode files in side effects (
f70817c ) - leverage "exports" field in package.json (
321abd7 ) - leverage latest Spectrum button API (
9caf2f6 ) - link: add download attribute to
( fb02104 ) - link: add download attribute to
( fefb28e ) - link: add download attribute to
( 16894ba ) - link: add download attribute to
( 0763504 ) - link: support rel attribute (
df4b5a8 ) - link: update spectrum css input (
e8cd359 ) - link: use core tokens (
510173b ) - shared pkg versions, devmode define warning, registry-conflicts docs (
6e49565 ) - tabs: add sp-tab-panel element (
b17d276 ) - use :focus-visable (via polyfill) instead of :focus (
11c6fc7 ) - use @adobe/spectrum-css@2.15.1 (
3918888 ) - use latest exports specification (
a7ecf4b ) - use SixedMixin to manage "size" property (
8819821 )
Performance Improvements
- use "sideEffects" listing in package.json (
7271614 ) - use imported TypeScript helpers instead of inlining them (
cc2bd0a )
Reverts
- Revert "chore: release new versions" (
a6d655d )
0.14.8 (2023-04-24)
Note: Version bump only for package @spectrum-web-components/link
0.14.7 (2023-04-05)
Note: Version bump only for package @spectrum-web-components/link
0.14.6 (2023-03-22)
Note: Version bump only for package @spectrum-web-components/link
0.14.5 (2023-03-08)
Bug Fixes
- add the missing quiet property to Link component (
867ea43 )
0.14.4 (2023-02-08)
Note: Version bump only for package @spectrum-web-components/link
0.14.3 (2023-01-23)
Note: Version bump only for package @spectrum-web-components/link
0.14.2 (2023-01-09)
Note: Version bump only for package @spectrum-web-components/link
0.14.1 (2022-12-08)
Note: Version bump only for package @spectrum-web-components/link
0.14.0 (2022-11-21)
Features
- link: use core tokens (
510173b )
0.13.2 (2022-11-14)
Note: Version bump only for package @spectrum-web-components/link
0.13.1 (2022-10-17)
Note: Version bump only for package @spectrum-web-components/link
0.13.0 (2022-08-09)
Features
- include all Dev Mode files in side effects (
f70817c )
0.12.8 (2022-08-04)
Note: Version bump only for package @spectrum-web-components/link
0.12.7 (2022-07-18)
Note: Version bump only for package @spectrum-web-components/link
0.12.6 (2022-06-29)
Note: Version bump only for package @spectrum-web-components/link
0.12.5 (2022-06-07)
Note: Version bump only for package @spectrum-web-components/link
0.12.4 (2022-05-12)
Note: Version bump only for package @spectrum-web-components/link
0.12.3 (2022-04-21)
Note: Version bump only for package @spectrum-web-components/link
0.12.2 (2022-03-30)
Note: Version bump only for package @spectrum-web-components/link
0.12.1 (2022-03-08)
Note: Version bump only for package @spectrum-web-components/link
0.12.0 (2022-03-04)
Features
- leverage latest Spectrum button API (
9caf2f6 )
0.11.4 (2022-02-22)
Note: Version bump only for package @spectrum-web-components/link
0.11.3 (2022-01-26)
Note: Version bump only for package @spectrum-web-components/link
0.11.2 (2022-01-07)
Note: Version bump only for package @spectrum-web-components/link
0.11.1 (2021-12-13)
Note: Version bump only for package @spectrum-web-components/link
0.11.0 (2021-11-08)
Note: Version bump only for package @spectrum-web-components/link
0.10.1 (2021-11-08)
Note: Version bump only for package @spectrum-web-components/link
0.10.0 (2021-11-02)
Features
- adopt DNA@7 base Spectrum CSS (
e08cafd )
0.9.8 (2021-10-12)
Note: Version bump only for package @spectrum-web-components/link
0.9.7 (2021-09-20)
Bug Fixes
- link: support "secondary" variant (
3808b96 )
0.9.6 (2021-09-13)
Note: Version bump only for package @spectrum-web-components/link
0.9.5 (2021-08-24)
Bug Fixes
- correct
@element jsDoc listing across library (c97a632 )
0.9.4 (2021-07-22)
Note: Version bump only for package @spectrum-web-components/link
0.9.3 (2021-07-01)
Note: Version bump only for package @spectrum-web-components/link
0.9.2 (2021-06-16)
Note: Version bump only for package @spectrum-web-components/link
0.9.1 (2021-06-07)
Note: Version bump only for package @spectrum-web-components/link
0.9.0 (2021-05-24)
Bug Fixes
- prevent tabindex=-1 elements from placing focus on their host (
1ac1293 )
Features
- tabs: add sp-tab-panel element (
b17d276 )
0.8.5 (2021-05-12)
Note: Version bump only for package @spectrum-web-components/link
0.8.4 (2021-04-09)
Note: Version bump only for package @spectrum-web-components/link
0.8.3 (2021-03-29)
Note: Version bump only for package @spectrum-web-components/link
0.8.2 (2021-03-22)
Note: Version bump only for package @spectrum-web-components/link
0.8.1 (2021-03-05)
Note: Version bump only for package @spectrum-web-components/link
0.8.0 (2021-03-04)
Features
- use latest exports specification (
a7ecf4b )
0.7.1 (2021-02-11)
Bug Fixes
- expand sized functionality to support no default and returning to default values (
acf3cfb ) - update to latest spectrum-css packages (
a5ca19f )
0.7.0 (2021-01-21)
Bug Fixes
- include the "types" entry in package.json files (
b432f59 ) - stop merging selectors in a way that alters the cascade (
369388f ) - update latest Spectrum CSS beta releases (
d8d3acc ) - use latest @spectrum-css/* versions (
c35eb86 )
Features
- apply sizedMixin for t-shirt sizing (
d7b63fb ) - use SixedMixin to manage "size" property (
8819821 ) - link: update spectrum css input (
e8cd359 )
0.6.0 (2021-01-13)
Bug Fixes
- include the "types" entry in package.json files (
b432f59 ) - stop merging selectors in a way that alters the cascade (
369388f ) - update latest Spectrum CSS beta releases (
d8d3acc ) - use latest @spectrum-css/* versions (
c35eb86 )
Features
- apply sizedMixin for t-shirt sizing (
d7b63fb ) - use SixedMixin to manage "size" property (
8819821 ) - link: update spectrum css input (
e8cd359 )
0.5.6 (2020-10-12)
Note: Version bump only for package @spectrum-web-components/link
0.5.5 (2020-10-12)
Bug Fixes
- include default export in the "exports" fields (
f32407d )
0.5.4 (2020-09-25)
Bug Fixes
- update side effect listings (
8160d3a )
0.5.3 (2020-09-14)
Note: Version bump only for package @spectrum-web-components/link
0.5.2 (2020-08-31)
Note: Version bump only for package @spectrum-web-components/link
0.5.1 (2020-08-19)
Note: Version bump only for package @spectrum-web-components/link
0.5.0 (2020-07-27)
Bug Fixes
- link: test inner anchor attribute by accessing via focusElement (
f4e97a1 )
Features
- link: support rel attribute (
df4b5a8 )
0.4.1 (2020-07-22)
Note: Version bump only for package @spectrum-web-components/link
0.4.0 (2020-07-17)
Bug Fixes
- review deque accessibility testing of docs site (
31f43aa )
Features
- leverage "exports" field in package.json (
321abd7 )
0.3.4 (2020-06-08)
Note: Version bump only for package @spectrum-web-components/link
0.3.3 (2020-04-16)
Performance Improvements
- use "sideEffects" listing in package.json (
7271614 )
0.3.2 (2020-04-10)
Note: Version bump only for package @spectrum-web-components/link
0.3.1 (2020-04-07)
Bug Fixes
- link: correct white space in template/docs site (
a48bd06 )
0.3.0 (2020-03-11)
Features
- link: add download attribute to
( fb02104 ) - link: add download attribute to
( fefb28e ) - link: add download attribute to
( 16894ba ) - link: add download attribute to
( 0763504 )
0.2.8 (2020-02-24)
Bug Fixes
- link: correct custom CSS processing configuration (
2a24d5a ) - link: process Spectrum CSS without overwriting specificity (
9eb3d5c )
0.2.7 (2020-02-05)
Note: Version bump only for package @spectrum-web-components/link
0.2.6 (2020-02-01)
Note: Version bump only for package @spectrum-web-components/link
0.2.5 (2020-01-30)
Note: Version bump only for package @spectrum-web-components/link
0.2.4 (2020-01-06)
Bug Fixes
- link: correct white space management (
a7a63dc )
0.2.3 (2019-12-12)
Bug Fixes
- apply Focuable styles in class extensions (
38f7afd )
0.2.2 (2019-12-02)
Note: Version bump only for package @spectrum-web-components/link
0.2.1 (2019-11-27)
Bug Fixes
- include "type" in package.json, generate custom-elements.json (
1a8d716 )
0.2.0 (2019-11-19)
Features
- use :focus-visable (via polyfill) instead of :focus (
11c6fc7 ) - use @adobe/spectrum-css@2.15.1 (
3918888 )
0.1.4 (2019-10-14)
Performance Improvements
- use imported TypeScript helpers instead of inlining them (
cc2bd0a )
0.1.3 (2019-10-03)
Note: Version bump only for package @spectrum-web-components/link