Add styles for destructive links

This colour is used in a few places so worth
making into its own block and classes.

Note: this establishes a
`app/assets/stylesheets/local` folder for any Sass
files whose names clash with files from vendored
libraries.

`_typography.scss` already exists in GOV.UK
Elements Sass.

This will no longer be needed when GOV.UK Elements
is gone and GOV.UK Frontend is at version 3, where
all its folders are in a `govuk` folder.
This commit is contained in:
Tom Byers
2019-12-11 10:11:54 +00:00
parent 34e1eee364
commit 61afbe7a8f
3 changed files with 90 additions and 0 deletions

View File

@@ -8,3 +8,30 @@
}
}
// Extends govuk-link to create a class of link that causes a destructive action
// Based on styles of link in:
// https://github.com/alphagov/govuk-frontend/blob/v2.13.0/src/helpers/_links.scss
//
// Note: all destructive actions must have a confirmation step these links navigate to
@mixin govuk-link-style-destructive-no-visited-state {
&:link,
&:visited {
color: $govuk-error-colour;
}
&:hover {
color: govuk-tint($govuk-error-colour, 25%);
}
// When focussed, the text colour needs to be darker to ensure that colour
// contrast is still acceptable against the focus colour
// Activated links are usually focused so this applies to them as well
&:active,
&:focus {
color: $govuk-focus-text-colour;
}
}
.govuk-link--destructive {
@include govuk-link-style-destructive-no-visited-state;
}

View File

@@ -0,0 +1,62 @@
@import 'settings/all';
@import 'helpers/all';
@mixin destructive-link-style-default {
&:link {
color: $govuk-error-colour;
}
&:visited {
color: $govuk-link-visited-colour;
}
&:hover {
color: govuk-tint( $govuk-error-colour, 25% );
}
&:active {
color: $govuk-link-active-colour;
}
// When focussed, the text colour needs to be darker to ensure that colour
// contrast is still acceptable
&:focus {
color: $govuk-focus-text-colour;
}
}
@mixin destructive-link-style-no-visited-state {
&:link {
color: $govuk-error-colour;
}
&:visited {
color: $govuk-error-colour;
}
&:hover {
color: govuk-tint( $govuk-error-colour, 25% );
}
&:active {
color: $govuk-link-active-colour;
}
// When focussed, the text colour needs to be darker to ensure that colour
// contrast is still acceptable
&:focus {
color: $govuk-focus-text-colour;
}
}
// mimics styles for govuk-link:
// https://github.com/alphagov/govuk-frontend/blob/063cd8e2470b62b824c6e50ca66342ac7a95d2d8/package/core/_links.scss#L7
.destructive-link {
@include govuk-link-common;
@include destructive-link-style-default;
@include govuk-link-print-friendly;
}
.destructive-link--no-visited-state {
@include destructive-link-style-no-visited-state;
}

View File

@@ -36,6 +36,7 @@ $path: '/static/images/';
@import './govuk-frontend/all';
// Specific to this application
@import 'local/typography';
@import 'grids';
@import 'components/cookie-message';
@import 'components/site-footer';