-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Marketing: add link components (#1807)
* Initial setup for marketing links * Create short-pugs-press.md * Rename .mktg-link to .link-mktg * Update the link underline style * Update the usage examples * Clean up the SCSS * Add animated octicon-chevrow * Add underline-pale variant * Improve docs * Lint ignore the use of currentColor * Reduce the examples, refactor the chevrow animation * Refactor the octicon chevrow positioning and sizing * Less absolute positioning * Update the docs * Document link colors * Define underline offset with ems * Update marketing-links.md * Update chevrow position animation * Rename underline-pale to link-emphasis-mktg * Fix stylelint errors * Reduce the :active state chevrow position * Fix stylelint-disable comments * Obey the stylelint! * Rename octicon-chevrow to link-arrow-mktg * Extract the animated arrow as utility * Stylelint auto-fixes * Remove markdown leftover * Fix positioning in marketing buttons and links * Stylelint ignore marketing button line-height * Stylelint auto-fixes * Expand the arrow-target-mktg selector to cover btn-mktg and link-mktg Co-authored-by: Tobias Ahlin <[email protected]> * Update the btn-mktg line height * Revert the btn-mktg padding changes * Remove stylelint ignore rule * Expand the changelog * Improve the link-emphasis-mktg docs * Add prefers-reduced-motion media queries * Stylelint disable max-nesting-depth Co-authored-by: Tobias Ahlin <[email protected]> Co-authored-by: Actions Auto Build <[email protected]>
- Loading branch information
1 parent
4abb1af
commit 13a4654
Showing
8 changed files
with
219 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
"@primer/css": minor | ||
--- | ||
|
||
Marketing: Add link components | ||
Marketing: Add animated arrow utility | ||
Marketing: Document button components with arrows |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
--- | ||
title: Marketing links | ||
path: components/marketing-links | ||
status: Beta | ||
source: 'https://github.com/primer/css/tree/main/src/marketing/links' | ||
bundle: marketing-links | ||
--- | ||
|
||
Marketing links can be produced by combining the base class `link-mktg` with a set of modifier classes to control the size and color. | ||
|
||
|
||
## Link sizes | ||
|
||
The marketing link size is defined with utility classes and come in large (`.f3-mktg`) and small (`.f4-mktg`): | ||
|
||
```html live | ||
<a href="#" class="link-mktg arrow-target-mktg text-semibold f3-mktg"> | ||
Call to action | ||
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="octicon arrow-symbol-mktg" width="16" height="16" viewBox="0 0 16 16" fill="none"> | ||
<path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path> | ||
<path stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> | ||
</svg> | ||
</a> | ||
``` | ||
|
||
```html live | ||
<a href="#" class="link-mktg arrow-target-mktg text-semibold f4-mktg"> | ||
Call to action | ||
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="octicon arrow-symbol-mktg" width="16" height="16" viewBox="0 0 16 16" fill="none"> | ||
<path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path> | ||
<path stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> | ||
</svg> | ||
</a> | ||
``` | ||
|
||
## Link with emphasis | ||
|
||
Add class `link-emphasis-mktg` to the link, to give it a pale underline, that will fill up on hover. | ||
|
||
```html live | ||
<a href="#" class="link-mktg arrow-target-mktg link-emphasis-mktg text-semibold f3-mktg"> | ||
Call to action | ||
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="octicon arrow-symbol-mktg" width="16" height="16" viewBox="0 0 16 16" fill="none"> | ||
<path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path> | ||
<path stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> | ||
</svg> | ||
</a> | ||
``` | ||
|
||
|
||
## Link colors | ||
|
||
The link color is controlled with the [Primer color classes](/utilities/colors), while the symbol and underline styling will follow: | ||
|
||
```html live | ||
<a href="#" class="link-mktg arrow-target-mktg text-semibold f3-mktg color-fg-default mr-4"> | ||
Call to action | ||
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="octicon arrow-symbol-mktg" width="16" height="16" viewBox="0 0 16 16" fill="none"> | ||
<path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path> | ||
<path stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> | ||
</svg> | ||
</a> | ||
|
||
<a href="#" class="link-mktg arrow-target-mktg link-emphasis-mktg text-semibold f4-mktg color-fg-default"> | ||
Call to action | ||
|
||
<svg xmlns="http://www.w3.org/2000/svg" class="octicon arrow-symbol-mktg" width="16" height="16" viewBox="0 0 16 16" fill="none"> | ||
<path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path> | ||
<path stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> | ||
</svg> | ||
</a> | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// support files | ||
@import '../support/index.scss'; | ||
@import './link.scss'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
.link-mktg { | ||
position: relative; | ||
display: inline-block; | ||
|
||
&:hover { | ||
text-decoration: none; | ||
} | ||
|
||
&:active { | ||
outline: none; | ||
} | ||
|
||
&::after, | ||
&.link-emphasis-mktg::before { | ||
position: absolute; | ||
bottom: -0.15em; | ||
left: 0; | ||
width: calc(100% - 1em); | ||
height: 2px; | ||
pointer-events: none; | ||
content: ''; | ||
// stylelint-disable-next-line primer/colors | ||
background-color: currentColor; | ||
transform: scaleX(0); | ||
transform-origin: 0 0; | ||
|
||
@media screen and (prefers-reduced-motion: no-preference) { | ||
transition: transform 0.3s ease; | ||
} | ||
} | ||
|
||
&.link-emphasis-mktg::before { | ||
opacity: 0.2; | ||
transform: scaleX(1); | ||
} | ||
|
||
&:hover, | ||
&:focus, | ||
&:active { | ||
&::after { | ||
transform: scaleX(1); | ||
} | ||
} | ||
|
||
&.arrow-target-mktg { | ||
.arrow-symbol-mktg { | ||
margin-left: -$em-spacer-3; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters