Files
notifications-admin/app/assets/stylesheets/components/message.scss
Tom Byers 0f9e4c813a Change HTML for template list items
Moves the link out of the label and increases
the hit-size for the checkbox. The intention is to
reduce the chance of clicking the wrong thing by
accident.

This includes a TODO in the checkboxes component
template code. The item meta needs to be
associated with the checkbox input by use of
`aria-describedby` but this needs changes in
govuk-frontend-jinja to happen.
2020-07-24 11:34:02 +01:00

264 lines
4.7 KiB
SCSS

@mixin separator {
display: inline-block;
vertical-align: top;
width: 20px;
height: govuk-spacing(6);
position: relative;
&:before {
content: "";
display: block;
position: absolute;
top: -5px;
bottom: 1px;
right: 7px;
width: 9px;
height: 9px;
margin: auto 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
border: solid;
border-width: 2px 2px 0 0;
border-color: $secondary-text-colour;
}
}
$govuk-checkboxes-size: 40px;
$govuk-checkboxes-label-padding-left-right: govuk-spacing(3);
$message-type-bottom-spacing: govuk-spacing(4);
.message {
&-name {
margin: 0;
a {
margin-bottom: -1 * govuk-spacing(6);
padding-bottom: govuk-spacing(6);
&:hover .message-name-separator:before {
border-color: $link-hover-colour;
}
&:focus {
// Use box shadow instead of outline to avoid buggy outline
// rendering in Firefox
outline: none;
box-shadow: 0 0 0 3px $yellow;
}
.message-name-separator {
margin-right: -2px;
margin-left: -2px;
&:before {
border-color: $link-colour;
}
}
}
&-separator {
@include separator;
}
}
&-type {
color: $govuk-secondary-text-colour;
margin: 0 0 $message-type-bottom-spacing 0;
padding-left: 0;
pointer-events: none;
}
}
.template-list {
&-item {
&-with-checkbox {
padding-left: $govuk-checkboxes-size + $govuk-checkboxes-label-padding-left-right;
}
&-hidden-by-default {
display: none;
}
&-without-ancestors {
.message-name {
a {
display: block;
&:first-child {
display: block;
}
&.template-list-folder:first-child {
background-position: 0 2px;
padding-left: 0;
text-indent: 40px;
}
}
}
}
&-label {
position: absolute;
left: 0;
width: $govuk-checkboxes-size + $govuk-checkboxes-label-padding-left-right;
height: 100%;
padding: 0;
}
// Fix for GOVUK Frontend selector with high precendence
// https://github.com/alphagov/govuk-frontend/blob/v2.13.0/src/components/hint/_hint.scss
&-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl)+.template-list-item-hint {
margin-bottom: $message-type-bottom-spacing;
}
&-hint {
padding-left: 0;
}
}
&-folder,
&-template {
@include govuk-font($size: 24, $weight: bold, $line-height: 1.25);
}
&-folder {
display: inline;
padding-left: 40px;
background-image: file-url('folder-blue-bold.svg');
background-repeat: no-repeat;
background-size: auto 20px;
background-position: 0px 4px;
&:hover {
background-image: file-url('folder-blue-bold-hover.svg');
}
}
&-template {
a {
display: inline;
}
}
&-empty {
color: $secondary-text-colour;
padding: govuk-spacing(3) 0 govuk-spacing(2) 0;
}
&-selected-counter {
color: $secondary-text-colour;
margin: govuk-spacing(3) 0;
@include media(tablet) {
position: absolute;
right: 0;
top: govuk-spacing(6) - 1px;
margin: 0;
}
.content-fixed & {
right: govuk-spacing(3);
}
}
}
.folder-heading {
.govuk-grid-row & {
margin: govuk-spacing(3) 0 20px 0;
word-wrap: break-word;
}
a,
&-folder,
&-subfolder {
display: inline;
vertical-align: top;
background-repeat: no-repeat;
background-size: auto 20px;
background-position: 0px 4px;
min-height: 30px;
}
&-folder {
padding: 0 0 0 40px;
background-image: file-url('folder-black-bold.svg');
}
&-folder-truncated {
width: 0;
padding: 0 0 0 30px;
white-space: nowrap;
overflow: hidden;
}
&-folder-root-truncated {
max-width: 1.4em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
a {
display: inline-block;
vertical-align: top;
&.folder-heading-folder {
display: inline;
background-image: file-url('folder-blue-bold.svg');
background-position: 0px 4px;
overflow: hidden;
text-overflow: ellipsis;
&:hover {
background-image: file-url('folder-blue-bold-hover.svg');
}
}
&.folder-heading-folder-truncated {
display: inline-block;
background-position: 0px 2px;
}
&:hover {
color: $link-hover-colour;
}
}
&-separator {
@include separator;
}
&-manage-link {
display: block;
text-align: right;
padding: govuk-spacing(4) 0 0 0;
position: relative;
top: -6px;
}
}